This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [gold, strip] Question about the changed offset when stripping
- From: Cary Coutant <ccoutant at google dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: Ian Lance Taylor <iant at google dot com>, Alexander Ivchenko <aivchenk at gmail dot com>, binutils <binutils at sourceware dot org>
- Date: Wed, 11 Dec 2013 14:04:52 -0800
- Subject: Re: [gold, strip] Question about the changed offset when stripping
- Authentication-results: sourceware.org; auth=none
- References: <CACysShjNGcO=Y5ZU=QDLWetw31FRZUu7ZYbvo2DyJWZ+eOZZ2Q at mail dot gmail dot com> <20131129134722 dot GN9211 at bubble dot grove dot modra dot org> <CAHACq4qbwykqOcTjuQovsqoE0d2dC4FAAtfZOxr=0XrYsViJqw at mail dot gmail dot com> <20131203100957 dot GA3306 at bubble dot grove dot modra dot org> <CACysShi4sKtg_R6RAhGmgKs0qRuvbsU3fLpC-Hz27YMy-sGtrA at mail dot gmail dot com> <20131203112323 dot GC3306 at bubble dot grove dot modra dot org> <CACysShiAr=iLP2Ju2dWsubV5USXxDhQitmydvRfC2=b07Fp7hA at mail dot gmail dot com> <CACysShiCkBdFOx233aBu02esXboe0dBTgf92grxUoEWRbNgUDQ at mail dot gmail dot com> <CAKOQZ8z9yGYXmdL3ieAFp_OpQcca7vNC4Db3VuA-PV+Sku_o=Q at mail dot gmail dot com> <CAMe9rOpNnPH+mz4NiuuFVL1U+YOQhkxrUk7q_Lo4pp7o0p1jeg at mail dot gmail dot com>
> I did some investigation. I think gold is wrong. I
> opened:
>
> https://www.sourceware.org/bugzilla/show_bug.cgi?id=16321
> https://www.sourceware.org/bugzilla/show_bug.cgi?id=16320
If, by "wrong", you mean "different from Gnu ld", then sure. But I
don't think it's doing anything wrong in either case. The file offset
for a BSS section is completely meaningless, so whether we plug in the
next available value before or after aligning it is irrelevant. For
the TLS segment, including the padding in memsz but not in filesz is
also irrelevant, and should be harmless, although I'll admit that it
might be worth fixing that just for consistency's sake.
In my opinion, the real problems are: (a) strip basically re-draws the
file, and since it uses the same underlying framework as Gnu ld, it
produces the same output that Gnu ld would have produced; and (b) GDB
concludes that the stripped and unstripped files don't match just
because of irrelevant differences caused by (a). I think it's
impractical to insist that gold produce the same bits in all such
cases (keeping in mind that I'm sure we haven't found the last of
them).
-cary