In around 2001 the ELF spec was changed to imply that common symbols should have
type STT_COMMON. Gas does not support this. Moreover, the .type directive does
not have "common" as a valid type.
--
Summary: Common symbols not given type STT_COMMON
Product: binutils
--- Additional Comments From rearnsha at gcc dot gnu dot org 2007-07-17
12:23 ---
.comm foo, 32
# .type foo, %common
uncomment the line to get an error.
nm -fsysv shows
foo |0020| C |OBJECT|0020| |*COM*
--
http://sourceware
--- Additional Comments From rearnsha at gcc dot gnu dot org 2007-07-17
13:42 ---
Fixed on trunk (2.18)
--
What|Removed |Added
Status|NEW
--- Additional Comments From rearnsha at gcc dot gnu dot org 2007-07-17
15:11 ---
This is to be expected. In ELF, local labels have type STT_NOTYPE, and these
can't be used for interworking purposes (only labels of type STT_FUNC can).
--
What|Removed
--- Additional Comments From rearnsha at gcc dot gnu dot org 2007-07-17
15:19 ---
I think it shouldn't be allowed. Consider:
rsXX1 .req r0
rsXX2 .req rsXX1
.unreq rsXX1
What value does rsXX2 have now? What if rsXX1 were further redefined?
--
What|Removed
--- Additional Comments From rearnsha at gcc dot gnu dot org 2007-07-17
15:30 ---
I think you missed telling us about the -thumb option in your testcase.
The answer is no. The ARM ABI says (http://www.arm.com/pdfs/aaelf.pdf), section
4.6.1.5: A linker is not required to generate trampo
While compiling binutils with --targets=all, building aborts on opcodes/maxq-
dis.c. (A warning which becomes an error due to -Werror)
/home/svdb/src/binutils-2.17/opcodes/maxq-dis.c: In function 'get_reg_name':
/home/svdb/src/binutils-2.17/opcodes/maxq-dis.c:185: warning: the address of
'mem_acce
Building with gcc 4.2.0.
cc1: warnings being treated as errors
/home/svdb/src/binutils-2.17/binutils/srconv.c: In function 'main':
/home/svdb/src/binutils-2.17/binutils/srconv.c:428: warning: passing argument 1
of 'strip_suffix' discards qualifiers from pointer target type
Changing the argument
--- Additional Comments From axelheider at gmx dot de 2007-07-17 21:40
---
Well, in this case I would actually expect something like an error at ".unreq
rsXX1" with the message ".unreq not allowed, because another .req definition at
line XXX already depends on it". A un-definition of "rs
--- Additional Comments From axelheider at gmx dot de 2007-07-17 21:43
---
Why is the recommended way to make a arm-to-thumb transition within a function?
Do I have to use global labels after all?
--
http://sourceware.org/bugzilla/show_bug.cgi?id=4649
--- You are receiving this
10 matches
Mail list logo