[Bug target/63542] My build log is full of "non-delegitimized UNSPEC UNSPEC_GOT (0) found in variable location"

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Oct 15 07:45:00 GMT 2014


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63542

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2014-10-15
                 CC|                            |evstupac at gmail dot com,
                   |                            |jakub at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Not just UNSPEC_GOT (0), but also UNSPEC_GOTOFF (1):

grep UNSPEC_ LOG  | sed 's/^.*: note:/note:/' | sort | uniq -c
   9140 note: non-delegitimized UNSPEC UNSPEC_GOT (0) found in variable
location
   4179 note: non-delegitimized UNSPEC UNSPEC_GOTOFF (1) found in variable
location

in i686-linux bootstrap.
This has been discussed, and I think I've suggested what to do in those cases:
https://gcc.gnu.org/ml/gcc-patches/2014-09/msg02513.html
- if you don't have a known PIC register to subtract, subtract
_GLOBAL_OFFSET_TABLE_ symbol instead.  Relocations in .debug_* sections are
resolved at link time, thus even if on some i?86/x86_64 target
_GLOBAL_OFFSET_TABLE_ doesn't have hidden visibility, it would still resolve to
the local copy.



More information about the Gcc-bugs mailing list