Bug 20616 - shared SH libgcc is exporting too many symbols
Summary: shared SH libgcc is exporting too many symbols
Status: RESOLVED DUPLICATE of bug 20617
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 4.0.0
: P2 critical
Target Milestone: ---
Assignee: Not yet assigned to anyone
Depends on:
Reported: 2005-03-24 11:20 UTC by Jorn Wolfgang Rennecke
Modified: 2005-07-23 22:49 UTC (History)
1 user (show)

See Also:
Target: sh*-*-linux*
Known to work:
Known to fail:
Last reconfirmed:


Note You need to log in before you can comment on or make changes to this bug.
Description Jorn Wolfgang Rennecke 2005-03-24 11:20:30 UTC
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.
Comment 1 Jorn Wolfgang Rennecke 2005-03-24 12:12:41 UTC

*** This bug has been marked as a duplicate of 20617 ***