https://sourceware.org/bugzilla/show_bug.cgi?id=18561
Alan Modra <amodra at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED CC| |amodra at gmail dot com Resolution|--- |WONTFIX --- Comment #8 from Alan Modra <amodra at gmail dot com> --- You'll find that there are expressions where a weak or global symbol should be resolved by the assembler, which is why S_FORCE_RELOC has a "strict" paramenter. In fact, most expressions on most targets involving subtraction of defined symbols ought to be resolved, because these expressions are calculating some property of the *local* object/function. eg. .size expressions, relative offset to function in debug info. (Yes I know gcc generally emits local symbols for such offsets in debug info, but this wasn't always the case. Does all handcrafted debug or .eh_frame info use local symbols?) If either of the patches Nick has attached here are applied I can almost 100% guarantee you will break things. That's what I found when making similar changes a long time ago, using exactly the same reasoning about weak symbols. So, given that resolving subtraction expressions is a long-standing assembler behaviour, I think this is simply a SH gcc bug. -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils