This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Isn't it OK to drop 'set write'?
- From: Doug Evans <dje at google dot com>
- To: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- Cc: gdb <gdb at sourceware dot org>
- Date: Tue, 28 Jul 2015 10:51:02 -0700
- Subject: Re: Isn't it OK to drop 'set write'?
- Authentication-results: sourceware.org; auth=none
- References: <20150726204905 dot GA18543 at host1 dot jankratochvil dot net>
On Sun, Jul 26, 2015 at 1:49 PM, Jan Kratochvil
<jan.kratochvil@redhat.com> wrote:
> Hi,
>
> GDB 'set write on' currently does not work, it has regressed in 7.9:
> "set write on" or "--write" corrupt the binary file
> https://sourceware.org/bugzilla/show_bug.cgi?id=18168
> due to
> a485e98ea0cbb61ea9da1e7858da545e0bcf1a46 is the first bad commit
> Author: Alan Modra <amodra@gmail.com>
> Move ELF section headers to end of object file
Huh.
I'm curious how that broke things.
> $ echo 'int foo=10;int main(){}'|gcc -g -x c -
> $ cp -p a.out a.out-orig
> $ gdb -q -ex 'set trace-commands on' -ex 'set write on' -ex 'file a.out' -ex 'set foo=20' -ex q
> +set write on
> +file a.out
> Reading symbols from a.out...done.
> +set foo=20
> +q
> Segmentation fault
> $ cmp a.out a.out-orig && echo unchanged
> unchanged
>
> It is already unsupported for:
> writing into executable files is not supported for target: sysroots
>
> I cannot much imagine when it is useful. For updates of too big binaries
> there is gold incremental linking. Personally I have also never considered it
> safe enough to use it myself, hexedit is there if one needs to create a weird
> testfile.
>
>
> Either there is some use case for that and so the fix should be 7.10 blocker.
> Or the feature is no longer useful and it could be dropped which would
> significantly simplify me a build-id patchset being prepared.
Hi.
OOC, how does it simplify the build-id patchset?