[PATCH] libgcc: m68k: avoid TEXTRELs in shared library (PR 86224)
Sergei Trofimovich via gcc-patches
gcc-patches@gcc.gnu.org
Sun Jul 29 10:05:00 GMT 2018
On Sat, 28 Jul 2018 21:11:22 -0400
Rich Felker <dalias@libc.org> wrote:
> On Sat, Jul 28, 2018 at 08:47:33PM +0200, Andreas Schwab wrote:
> > On Jul 28 2018, slyfox@inbox.ru wrote:
> >
> > > From: Sergei Trofimovich <slyfox@gentoo.org>
> > >
> > > Cc: Ian Lance Taylor <ian@airs.com>
> > > Cc: Jeff Law <law@redhat.com>
> > > Cc: Andreas Schwab <schwab@linux-m68k.org>
> > > Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
> > > ---
> > > libgcc/config/m68k/lb1sf68.S | 19 ++++++++++++++-----
> > > 1 file changed, 14 insertions(+), 5 deletions(-)
> > >
> > > diff --git a/libgcc/config/m68k/lb1sf68.S b/libgcc/config/m68k/lb1sf68.S
> > > index 325a7c17d9b..16c6dc3f5a7 100644
> > > --- a/libgcc/config/m68k/lb1sf68.S
> > > +++ b/libgcc/config/m68k/lb1sf68.S
> > > @@ -435,7 +435,10 @@ $_exception_handler:
> > > .text
> > > FUNC(__mulsi3)
> > > .globl SYM (__mulsi3)
> > > + .globl SYM (__mulsi3_internal)
> > > + .hidden SYM (__mulsi3_internal)
> >
> > No need for extra entry symbols, just mark the real entry point as
> > hidden, like in the static library.
>
> That's clearly not correct or valid, as these are public interfaces.
> If you make them hidden they'll be dropped from the dynamic symbol
> table of libgcc_s.so.
>
> Of course for libgcc.a they need to be hidden (it's an ABI bug if
> they're not hidden there already but I think there's a separate layer
> of the build system that forces them to be hidden).
>
> Rich
Oh, that's a good point! gcc/doc/libgcc.texi also suggests __<symbols>
is the libgcc_s API. Would it make sense for gcc/doc/libgcc.texi to be
expanded to more explicitly articulate expectation of symbol visibility
on ELF platforms?
--
Sergei
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 981 bytes
Desc: æøÃÂÃÂþòðàÿþôÿøÃÂàOpenPGP
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20180729/c8ecf5e0/attachment.sig>
More information about the Gcc-patches
mailing list