sysdeps/powerpc/libgcc-compat.c problem (glibc-2-2-branch)

Franz Sirl Franz.Sirl-kernel@lauterbach.com
Sat Jun 22 12:28:00 GMT 2002


Hi,

does the appended patch work for you?

Franz.

	* sysdeps/powerpc/Versions: Add libgcc compatibility symbols.
	* sysdeps/powerpc/libgcc-compat.c: Compensate for INTUSE removal.

-------------- next part --------------
Index: sysdeps/powerpc/Versions
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/powerpc/Versions,v
retrieving revision 1.2
diff -u -p -r1.2 Versions
--- sysdeps/powerpc/Versions	28 Feb 2000 21:27:57 -0000	1.2
+++ sysdeps/powerpc/Versions	21 Jun 2002 18:10:56 -0000
@@ -1,3 +1,15 @@
+libc {
+  GLIBC_2.0 {
+    # Functions from libgcc.
+    __divdi3; __moddi3; __udivdi3; __umoddi3;
+    __cmpdi2; __ucmpdi2;
+    __ashldi3; __ashrdi3; __lshrdi3;
+    __fixdfdi; __fixunsdfdi;
+    __fixsfdi; __fixunssfdi;
+    __floatdidf; __floatdisf;
+  }
+}
+
 libm {
   GLIBC_2.1 {
     # symbols used in macros from sysdeps/powerpc/bits/fenv.h
Index: sysdeps/powerpc/libgcc-compat.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/powerpc/libgcc-compat.c,v
retrieving revision 1.1.2.2
diff -u -p -r1.1.2.2 libgcc-compat.c
--- sysdeps/powerpc/libgcc-compat.c	31 May 2002 00:08:20 -0000	1.1.2.2
+++ sysdeps/powerpc/libgcc-compat.c	21 Jun 2002 18:10:56 -0000
@@ -24,90 +24,90 @@
 #if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6)
 
 extern int64_t __ashldi3 (int64_t, int32_t);
-int64_t __ashldi3 (int64_t u, int32_t b)
+int64_t __ashldi3_internal (int64_t u, int32_t b)
 {
   return __ashldi3 (u, b);
 }
-symbol_version (__ashldi3, __ashldi3, GLIBC_2.0);
+symbol_version (__ashldi3_internal, __ashldi3, GLIBC_2.0);
 
 
 extern int64_t __ashrdi3 (int64_t, int32_t);
-int64_t __ashrdi3 (int64_t u, int32_t b)
+int64_t __ashrdi3_internal (int64_t u, int32_t b)
 {
   return __ashrdi3 (u, b);
 }
-symbol_version (__ashrdi3, __ashrdi3, GLIBC_2.0);
+symbol_version (__ashrdi3_internal, __ashrdi3, GLIBC_2.0);
 
 
 extern int64_t __lshrdi3 (int64_t, int32_t);
-int64_t __lshrdi3 (int64_t u, int32_t b)
+int64_t __lshrdi3_internal (int64_t u, int32_t b)
 {
   return __lshrdi3 (u, b);
 }
-symbol_version (__lshrdi3, __lshrdi3, GLIBC_2.0);
+symbol_version (__lshrdi3_internal, __lshrdi3, GLIBC_2.0);
 
 
 extern int32_t __cmpdi2 (int64_t, int64_t);
-int32_t __cmpdi2 (int64_t u, int64_t v)
+int32_t __cmpdi2_internal (int64_t u, int64_t v)
 {
   return __cmpdi2 (u, v);
 }
-symbol_version (__cmpdi2, __cmpdi2, GLIBC_2.0);
+symbol_version (__cmpdi2_internal, __cmpdi2, GLIBC_2.0);
 
 
 extern int32_t __ucmpdi2 (int64_t, int64_t);
-int32_t __ucmpdi2 (int64_t u, int64_t v)
+int32_t __ucmpdi2_internal (int64_t u, int64_t v)
 {
   return __ucmpdi2 (u, v);
 }
-symbol_version (__ucmpdi2, __ucmpdi2, GLIBC_2.0);
+symbol_version (__ucmpdi2_internal, __ucmpdi2, GLIBC_2.0);
 
 
 extern int64_t __fixdfdi (double);
-int64_t __fixdfdi (double d)
+int64_t __fixdfdi_internal (double d)
 {
   return __fixdfdi (d);
 }
-symbol_version (__fixdfdi, __fixdfdi, GLIBC_2.0);
+symbol_version (__fixdfdi_internal, __fixdfdi, GLIBC_2.0);
 
 
 extern int64_t __fixunsdfdi (double);
-int64_t __fixunsdfdi (double d)
+int64_t __fixunsdfdi_internal (double d)
 {
   return __fixunsdfdi (d);
 }
-symbol_version (__fixunsdfdi, __fixunsdfdi, GLIBC_2.0);
+symbol_version (__fixunsdfdi_internal, __fixunsdfdi, GLIBC_2.0);
 
 
 extern int64_t __fixsfdi (float);
-int64_t __fixsfdi (float d)
+int64_t __fixsfdi_internal (float d)
 {
   return __fixsfdi (d);
 }
-symbol_version (__fixsfdi, __fixsfdi, GLIBC_2.0);
+symbol_version (__fixsfdi_internal, __fixsfdi, GLIBC_2.0);
 
 
 extern int64_t __fixunssfdi (float);
-int64_t __fixunssfdi (float d)
+int64_t __fixunssfdi_internal (float d)
 {
   return __fixunssfdi (d);
 }
-symbol_version (__fixunssfdi, __fixunssfdi, GLIBC_2.0);
+symbol_version (__fixunssfdi_internal, __fixunssfdi, GLIBC_2.0);
 
 
 extern double __floatdidf (int64_t);
-double __floatdidf (int64_t u)
+double __floatdidf_internal (int64_t u)
 {
   return __floatdidf (u);
 }
-symbol_version (__floatdidf, __floatdidf, GLIBC_2.0);
+symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0);
 
 
 extern float __floatdisf (int64_t);
-float __floatdisf (int64_t u)
+float __floatdisf_internal (int64_t u)
 {
   return __floatdisf (u);
 }
-symbol_version (__floatdisf, __floatdisf, GLIBC_2.0);
+symbol_version (__floatdisf_internal, __floatdisf, GLIBC_2.0);
 
 #endif


More information about the Libc-alpha mailing list