[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gas/18561] sh assembler wrongly constant-folds address expressions
From: |
amodra at gmail dot com |
Subject: |
[Bug gas/18561] sh assembler wrongly constant-folds address expressions containing weak symbols |
Date: |
Sat, 22 Aug 2015 02:11:50 +0000 |
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 gas/18561] sh assembler wrongly constant-folds address expressions containing weak symbols, nickc at redhat dot com, 2015/08/17
- [Bug gas/18561] sh assembler wrongly constant-folds address expressions containing weak symbols, bugdal at aerifal dot cx, 2015/08/17
- [Bug gas/18561] sh assembler wrongly constant-folds address expressions containing weak symbols, nickc at redhat dot com, 2015/08/21
- [Bug gas/18561] sh assembler wrongly constant-folds address expressions containing weak symbols, bugdal at aerifal dot cx, 2015/08/21
- [Bug gas/18561] sh assembler wrongly constant-folds address expressions containing weak symbols, nickc at redhat dot com, 2015/08/21
- [Bug gas/18561] sh assembler wrongly constant-folds address expressions containing weak symbols, nickc at redhat dot com, 2015/08/21
- [Bug gas/18561] sh assembler wrongly constant-folds address expressions containing weak symbols, bugdal at aerifal dot cx, 2015/08/21
- [Bug gas/18561] sh assembler wrongly constant-folds address expressions containing weak symbols,
amodra at gmail dot com <=
- [Bug gas/18561] sh assembler wrongly constant-folds address expressions containing weak symbols, bugdal at aerifal dot cx, 2015/08/21
- [Bug gas/18561] sh assembler wrongly constant-folds address expressions containing weak symbols, glaubitz at physik dot fu-berlin.de, 2015/08/22
- [Bug gas/18561] sh assembler wrongly constant-folds address expressions containing weak symbols, bugdal at aerifal dot cx, 2015/08/22
- [Bug gas/18561] sh assembler wrongly constant-folds address expressions containing weak symbols, nickc at redhat dot com, 2015/08/24
- [Bug gas/18561] sh assembler wrongly constant-folds address expressions containing weak symbols, bugdal at aerifal dot cx, 2015/08/24
- [Bug gas/18561] sh assembler wrongly constant-folds address expressions containing weak symbols, nickc at redhat dot com, 2015/08/24
- [Bug gas/18561] sh assembler wrongly constant-folds address expressions containing weak symbols, bugdal at aerifal dot cx, 2015/08/24