sysdeps/powerpc/libgcc-compat.c problem (glibc-2-2-branch)
Peter Bergner
bergner@brule.borg.umn.edu
Wed Jun 19 14:20:00 GMT 2002
Ulrich,
We have the following code snipits on the CVS mainline:
include/libc-symbols.h:
/* Handling on non-exported internal names. We have to do this only
for shared code. */
#ifdef SHARED
# define INTUSE(name) name##_internal
[snip]
#else
# define INTUSE(name) name
[snip]
#endif
sysdeps/powerpc/libgcc-compat.c:
extern int64_t __ashldi3 (int64_t, int32_t);
int64_t INTUSE (__ashldi3) (int64_t u, int32_t b)
{
return __ashldi3 (u, b);
}
symbol_version (INTUSE (__ashldi3), __ashldi3, GLIBC_2.0);
On the glibc-2-2-branch, you removed the use of the INTUSE macro
from sysdeps/powerpc/libgcc-compat.c which gives us:
extern int64_t __ashldi3 (int64_t, int32_t);
int64_t __ashldi3 (int64_t u, int32_t b)
{
return __ashldi3 (u, b);
}
symbol_version (__ashldi3, __ashldi3, GLIBC_2.0);
I'm assuming you didn't mean to create infinite recursion and want something
closer to what CVS mainline gets (after macro expansion):
extern int64_t __ashldi3 (int64_t, int32_t);
int64_t __ashldi3_internal (int64_t u, int32_t b)
{
return __ashldi3 (u, b);
}
symbol_version (__ashldi3_internal, __ashldi3, GLIBC_2.0);
Ditto for the other routines in that file.
Peter
--
Peter Bergner
Linux PPC64 & GLIBC Kernel Development
IBM Rochester, MN
bergner@vnet.ibm.com
More information about the Libc-alpha
mailing list