[Bug target/20616] New: shared SH libgcc is exporting too many symbols

amylaar at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Mar 24 11:20:00 GMT 2005


The SH lib1funcs.asm contains numerous small functions that save code size
for a static link, but still are smaller than the PLT size for all
link-compatible subtargets (1).  Such functions
should never be exported from a shared libgcc.

(1) If, say, there is a function that is large for the SH3, it may make make
sense to export it from the SH3 libgcc.so, and if so, it also has to be in
an sh4-nofpu libgcc.so.  However, that is not a reason to put it into an SH4
libgcc.so, since SH4 libraries use a different ABI.  Functions that are
used/largish only on SH1 are of no concern, because this processor lacks some
instructions usesd for SH PIC code, hence there is no point exporting these
functions.  Likewise, since the SH2 has no MMU, functions that are only needed/
largish for SH2 stay out of libgcc.so for all OSes that need an MMU.
MMU, and hence can't support sh*k-elf shared libraries.

-- 
           Summary: shared SH libgcc is exporting too many symbols
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: critical
          Priority: P2
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: amylaar at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: sh*-*-linux*


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20616



More information about the Gcc-bugs mailing list