S_FORCE_RELOC intended behavior?
Alan Modra
amodra@gmail.com
Sat Aug 22 02:46:00 GMT 2015
More information about the Binutils mailing list
Sat Aug 22 02:46:00 GMT 2015
- Previous message (by thread): S_FORCE_RELOC intended behavior?
- Next message (by thread): S_FORCE_RELOC intended behavior?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Fri, Aug 21, 2015 at 04:42:05PM -0400, Rich Felker wrote: > A while back I reported issue #18561 which I thought was sh-specific, > but discussion on the bug tracker with Nick Clifton, who found a way > to make gas behave correctly, has revealed that the issue might be > deeper and affecting other targets too. The following commit: > > https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=ae6063d440ba5ec28af81e9fc899cc099561339e;hp=f0abc2a11f47c3ecdfe0b54421092d17c70fc5f2 > > changed S_FORCE_RELOC so that, for some callers, it reports > expressions based on weak symbol definitions as being able to be > handled with fixups rather than requiring relocations to be emitted. > As far as I can tell, this is always incorrect; a weak definition can > always be replaced at link time. > > Is anyone familiar with the code affected by the above commit able to > confirm whether my interpretation is correct and make sense of why the > changes in that commit were made? I commented in the bugzilla before seeing this email. Basically, your claim that it is always incorrect to resolve an expression involving a weak symbol, is wrong. Counter example: .size foo, . - foo OK, perhaps not the best example, but the point is that subtraction of two symbols is often used in expressions involving some *local* property of the function/object involved. Long-standing gas behaviour is to resolve expressions involving unadorned subtraction of defined symbols at assembly time. I don't think that can be changed without breaking things. -- Alan Modra Australia Development Lab, IBM
- Previous message (by thread): S_FORCE_RELOC intended behavior?
- Next message (by thread): S_FORCE_RELOC intended behavior?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list