libgcc-compat patch and gcc 2.95.4 on ppclinux
Jakub Jelinek
jakub@redhat.com
Sat Jul 13 00:33:00 GMT 2002
On Fri, Jul 12, 2002 at 10:43:02PM -0700, H. J. Lu wrote:
> Please try this patch. The problem is gcc 2.95.4 won't make those
> libgcc functions hidden. We have to help it.
>
> --- libc/sysdeps/powerpc/libgcc-compat.c.gcc Mon May 20 17:19:09 2002
> +++ libc/sysdeps/powerpc/libgcc-compat.c Fri Jul 12 22:39:18 2002
> @@ -23,6 +23,7 @@
>
> #if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6)
>
> +__asm__(".hidden __ashldi3");
> extern int64_t __ashldi3 (int64_t, int32_t);
> int64_t INTUSE (__ashldi3) (int64_t u, int32_t b)
> {
Err, isn't this an exact opposite of what is desirable?
This would make __ashldi3 in libgcc-compat.o hidden, while it has to
be visible, so with gcc-3.1+ you'd end up
with not exporting those functions at all, while with 2.95.x you'd
be exporting the libgcc.a functions (yes, that's what you want in that
case).
IMHO libgcc-compat.c should be only compiled in if the functions are .hidden
in libgcc.a (ie. gcc 3.1+), otherwise glibc just needs to ensure all
the needed libgcc.a functions are included in the link.
Jakub
More information about the Libc-alpha
mailing list