bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gold/19019] [SPARC64] Only registers %g[2367] can be declared using


From: ccoutant at gmail dot com
Subject: [Bug gold/19019] [SPARC64] Only registers %g[2367] can be declared using STT_REGISTER when linking against libsystemd
Date: Tue, 06 Oct 2015 19:50:22 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=19019

Cary Coutant <ccoutant at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |davem at davemloft dot net

--- Comment #13 from Cary Coutant <ccoutant at gmail dot com> ---
I'm having trouble understanding what an STT_SPARC_REGISTER symbol is supposed
to be processed. There's nothing in the SPARC Processor Supplement (Third
Edition), dated 1996, that mentions STT_SPARC_REGISTER. I found a SPARC
Compliance Definition (SCD 2.4), dated 1998, that mentions it, but it's under
an "Experimental" heading. It says that the symbol should be SHN_ABS if the
module initializes the register, and SHN_UNDEF otherwise.

I presume that an UNDEF REGISTER symbol needs to have the st_value preserved
when linking, but that's not clear from the SCD, and it's also not clear
whether symbols with the same st_value field (i.e., register number) should be
bound together. Should two SHN_ABS REGISTER symbols with the same number
produce an error?

Currently, the only thing gold does with STT_SPARC_REGISTER is suppress an
undefined symbol warning, with the following comment:

    // XXX Really need to support this better...
    if (sym->type() == elfcpp::STT_SPARC_REGISTER)
      return 1;

If my presumptions are close, it sounds like we'll need a new target hook,
because most of this special treatment is probably going to need to be in the
non-target-specific parts of gold.

Can someone point me to an up-to-date version of the SPARC psABI?

-- 
You are receiving this mail because:
You are on the CC list for the bug.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]