By default, gdb opens the file containing your program's executable code (or the corefile) read-only. This prevents accidental alterations to machine code; but it also prevents you from intentionally patching your program's binary.
If you'd like to be able to patch the binary, you can specify that explicitly with the set write command. For example, you might want to turn on internal debugging flags, or even to make emergency repairs.
If you specify set write on, gdb opens executable and core files for both reading and writing; if you specify set write off (the default), gdb opens them read-only.
If you have already loaded a file, you must load it again (using the exec-file or core-file command) after changing set write, for your new setting to take effect.
Display whether executable files and core files are opened for writing as well as reading.