[Bug target/49798] .quad instead of .long is used for address for x32
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Jul 21 13:31:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49798
--- Comment #5 from Uros Bizjak <ubizjak at gmail dot com> 2011-07-21 13:30:22 UTC ---
(In reply to comment #4)
> > Linker should put correct address (so, zero extended 32bit address) here.
>
> Did you mean assembler? In many cases, .quad is still simply wrong (PR 47446).
No, the linker. But looking at mentioned PR, linker is not able to generate
BFD_RELOC_64.
> GCC shouldn't generate .quad in this case. A patch is posted at
>
> http://gcc.gnu.org/ml/gcc-patches/2011-07/msg01711.html
IMO, this patch is wrong. Generated code should look like the one for i686, so
it looks to me that check for Pmode != ptr_mode is missing somewhere in the
middle end.
More information about the Gcc-bugs
mailing list