[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[glibc] 07/07: debian/patches/any/local-libgcc-compat-{abilists, main, ports}.diff: drop workaround for binaries built with some broken versions of GCC 3.2 more than 10 years ago.



This is an automated email from the git hooks/post-receive script.

aurel32 pushed a commit to branch glibc-2.26
in repository glibc.

commit bb64dc29479274b6735118c7f7c93f742d0288bc
Author: Aurelien Jarno <aurelien@aurel32.net>
Date:   Sun Nov 19 11:30:48 2017 +0100

    debian/patches/any/local-libgcc-compat-{abilists,main,ports}.diff: drop workaround for binaries built with some broken versions of GCC 3.2 more than 10 years ago.
---
 debian/changelog                                   |   3 +
 .../patches/any/local-libgcc-compat-abilists.diff  | 190 -----
 debian/patches/any/local-libgcc-compat-main.diff   | 395 ---------
 debian/patches/any/local-libgcc-compat-ports.diff  | 946 ---------------------
 debian/patches/series                              |   3 -
 5 files changed, 3 insertions(+), 1534 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 73f2c19..5d4f8c7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -115,6 +115,9 @@ glibc (2.26-0experimental0) UNRELEASED; urgency=medium
   * debian/testsuite-xfail-debian.mk: mark misc/tst-set_ppr as XFAIL on
     powerpc as it requires a recent CPU or a recent kernel for CPU feature
     detection.
+  * debian/patches/any/local-libgcc-compat-{abilists,main,ports}.diff: drop
+    workaround for binaries built with some broken versions of GCC 3.2 more
+    than 10 years ago.
 
  -- Adam Conrad <adconrad@0c3.net>  Sat, 02 Sep 2017 12:15:10 -0600
 
diff --git a/debian/patches/any/local-libgcc-compat-abilists.diff b/debian/patches/any/local-libgcc-compat-abilists.diff
deleted file mode 100644
index 4a5685d..0000000
--- a/debian/patches/any/local-libgcc-compat-abilists.diff
+++ /dev/null
@@ -1,190 +0,0 @@
-Description: Fix abilists to match ABI additions from local-libgcc-compat*
-Author: Adam Conrad <adconrad@0c3.net>
-Last-Update: 2015-03-19
-
---- glibc-2.21.orig/sysdeps/unix/sysv/linux/alpha/libc.abilist
-+++ glibc-2.21/sysdeps/unix/sysv/linux/alpha/libc.abilist
-@@ -179,6 +179,7 @@
- GLIBC_2.0 __mempcpy F
- GLIBC_2.0 __monstartup F
- GLIBC_2.0 __morecore D 0x8
-+GLIBC_2.0 __multi3 F
- GLIBC_2.0 __nss_configure_lookup F
- GLIBC_2.0 __nss_database_lookup F
- GLIBC_2.0 __nss_group_lookup F
---- glibc-2.21.orig/sysdeps/unix/sysv/linux/i386/libc.abilist
-+++ glibc-2.21/sysdeps/unix/sysv/linux/i386/libc.abilist
-@@ -111,6 +111,7 @@
- GLIBC_2.0 __check_rhosts_file D 0x4
- GLIBC_2.0 __clone F
- GLIBC_2.0 __close F
-+GLIBC_2.0 __cmpdi2 F
- GLIBC_2.0 __cmsg_nxthdr F
- GLIBC_2.0 __connect F
- GLIBC_2.0 __ctype32_b D 0x4
-@@ -134,6 +135,9 @@
- GLIBC_2.0 __finite F
- GLIBC_2.0 __finitef F
- GLIBC_2.0 __finitel F
-+GLIBC_2.0 __fixunsdfdi F
-+GLIBC_2.0 __fixunsxfdi F
-+GLIBC_2.0 __floatdidf F
- GLIBC_2.0 __fork F
- GLIBC_2.0 __fpu_control D 0x2
- GLIBC_2.0 __frame_state_for F
-@@ -232,6 +236,7 @@
- GLIBC_2.0 __sysv_signal F
- GLIBC_2.0 __timezone D 0x4
- GLIBC_2.0 __tzname D 0x8
-+GLIBC_2.0 __ucmpdi2 F
- GLIBC_2.0 __udivdi3 F
- GLIBC_2.0 __uflow F
- GLIBC_2.0 __umoddi3 F
---- glibc-2.21.orig/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
-+++ glibc-2.21/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
-@@ -111,6 +111,7 @@
- GLIBC_2.0 __check_rhosts_file D 0x4
- GLIBC_2.0 __clone F
- GLIBC_2.0 __close F
-+GLIBC_2.0 __cmpdi2 F
- GLIBC_2.0 __cmsg_nxthdr F
- GLIBC_2.0 __connect F
- GLIBC_2.0 __ctype32_b D 0x4
-@@ -125,6 +126,7 @@
- GLIBC_2.0 __deregister_frame F
- GLIBC_2.0 __deregister_frame_info F
- GLIBC_2.0 __dgettext F
-+GLIBC_2.0 __divdi3 F
- GLIBC_2.0 __dup2 F
- GLIBC_2.0 __environ D 0x4
- GLIBC_2.0 __errno_location F
-@@ -133,6 +135,9 @@
- GLIBC_2.0 __finite F
- GLIBC_2.0 __finitef F
- GLIBC_2.0 __finitel F
-+GLIBC_2.0 __fixdfdi F
-+GLIBC_2.0 __floatdidf F
-+GLIBC_2.0 __floatdisf F
- GLIBC_2.0 __fork F
- GLIBC_2.0 __fpu_control D 0x4
- GLIBC_2.0 __frame_state_for F
-@@ -172,6 +177,7 @@
- GLIBC_2.0 __mbrtowc F
- GLIBC_2.0 __memalign_hook D 0x4
- GLIBC_2.0 __mempcpy F
-+GLIBC_2.0 __moddi3 F
- GLIBC_2.0 __monstartup F
- GLIBC_2.0 __morecore D 0x4
- GLIBC_2.0 __nss_configure_lookup F
-@@ -230,7 +236,10 @@
- GLIBC_2.0 __sysv_signal F
- GLIBC_2.0 __timezone D 0x4
- GLIBC_2.0 __tzname D 0x8
-+GLIBC_2.0 __ucmpdi2 F
-+GLIBC_2.0 __udivdi3 F
- GLIBC_2.0 __uflow F
-+GLIBC_2.0 __umoddi3 F
- GLIBC_2.0 __underflow F
- GLIBC_2.0 __vfscanf F
- GLIBC_2.0 __vsnprintf F
---- glibc-2.21.orig/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
-+++ glibc-2.21/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
-@@ -111,6 +111,7 @@
- GLIBC_2.0 __check_rhosts_file D 0x4
- GLIBC_2.0 __clone F
- GLIBC_2.0 __close F
-+GLIBC_2.0 __cmpdi2 F
- GLIBC_2.0 __cmsg_nxthdr F
- GLIBC_2.0 __connect F
- GLIBC_2.0 __ctype32_b D 0x4
-@@ -134,6 +135,12 @@
- GLIBC_2.0 __finite F
- GLIBC_2.0 __finitef F
- GLIBC_2.0 __finitel F
-+GLIBC_2.0 __fixdfdi F
-+GLIBC_2.0 __fixsfdi F
-+GLIBC_2.0 __fixunsdfdi F
-+GLIBC_2.0 __fixunssfdi F
-+GLIBC_2.0 __floatdidf F
-+GLIBC_2.0 __floatdisf F
- GLIBC_2.0 __fork F
- GLIBC_2.0 __fpu_control D 0x4
- GLIBC_2.0 __frame_state_for F
-@@ -232,6 +239,7 @@
- GLIBC_2.0 __sysv_signal F
- GLIBC_2.0 __timezone D 0x4
- GLIBC_2.0 __tzname D 0x8
-+GLIBC_2.0 __ucmpdi2 F
- GLIBC_2.0 __udivdi3 F
- GLIBC_2.0 __uflow F
- GLIBC_2.0 __umoddi3 F
---- glibc-2.21.orig/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
-+++ glibc-2.21/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
-@@ -110,6 +110,8 @@
- GLIBC_2.0 __argz_count F
- GLIBC_2.0 __argz_next F
- GLIBC_2.0 __argz_stringify F
-+GLIBC_2.0 __ashldi3 F
-+GLIBC_2.0 __ashrdi3 F
- GLIBC_2.0 __assert_fail F
- GLIBC_2.0 __assert_perror_fail F
- GLIBC_2.0 __bsd_getpgrp F
-@@ -117,6 +119,7 @@
- GLIBC_2.0 __check_rhosts_file D 0x4
- GLIBC_2.0 __clone F
- GLIBC_2.0 __close F
-+GLIBC_2.0 __cmpdi2 F
- GLIBC_2.0 __cmsg_nxthdr F
- GLIBC_2.0 __connect F
- GLIBC_2.0 __ctype32_b D 0x4
-@@ -131,6 +134,7 @@
- GLIBC_2.0 __deregister_frame F
- GLIBC_2.0 __deregister_frame_info F
- GLIBC_2.0 __dgettext F
-+GLIBC_2.0 __divdi3 F
- GLIBC_2.0 __dup2 F
- GLIBC_2.0 __environ D 0x4
- GLIBC_2.0 __errno_location F
-@@ -139,6 +143,12 @@
- GLIBC_2.0 __finite F
- GLIBC_2.0 __finitef F
- GLIBC_2.0 __finitel F
-+GLIBC_2.0 __fixdfdi F
-+GLIBC_2.0 __fixsfdi F
-+GLIBC_2.0 __fixunsdfdi F
-+GLIBC_2.0 __fixunssfdi F
-+GLIBC_2.0 __floatdidf F
-+GLIBC_2.0 __floatdisf F
- GLIBC_2.0 __fork F
- GLIBC_2.0 __fpu_control D 0x4
- GLIBC_2.0 __frame_state_for F
-@@ -171,6 +181,7 @@
- GLIBC_2.0 __libc_start_main F
- GLIBC_2.0 __libc_valloc F
- GLIBC_2.0 __lseek F
-+GLIBC_2.0 __lshrdi3 F
- GLIBC_2.0 __lxstat F
- GLIBC_2.0 __malloc_hook D 0x4
- GLIBC_2.0 __malloc_initialize_hook D 0x4
-@@ -178,8 +189,10 @@
- GLIBC_2.0 __mbrtowc F
- GLIBC_2.0 __memalign_hook D 0x4
- GLIBC_2.0 __mempcpy F
-+GLIBC_2.0 __moddi3 F
- GLIBC_2.0 __monstartup F
- GLIBC_2.0 __morecore D 0x4
-+GLIBC_2.0 __muldi3 F
- GLIBC_2.0 __nss_configure_lookup F
- GLIBC_2.0 __nss_database_lookup F
- GLIBC_2.0 __nss_group_lookup F
-@@ -236,7 +249,10 @@
- GLIBC_2.0 __sysv_signal F
- GLIBC_2.0 __timezone D 0x4
- GLIBC_2.0 __tzname D 0x8
-+GLIBC_2.0 __ucmpdi2 F
-+GLIBC_2.0 __udivdi3 F
- GLIBC_2.0 __uflow F
-+GLIBC_2.0 __umoddi3 F
- GLIBC_2.0 __underflow F
- GLIBC_2.0 __vfscanf F
- GLIBC_2.0 __vsnprintf F
diff --git a/debian/patches/any/local-libgcc-compat-main.diff b/debian/patches/any/local-libgcc-compat-main.diff
deleted file mode 100644
index 0404e0b..0000000
--- a/debian/patches/any/local-libgcc-compat-main.diff
+++ /dev/null
@@ -1,395 +0,0 @@
-# DP: Description: libgcc-compat symbols for i386, sparc, 
-#                  alpha, ia64 (derived from RedHat's), s390
-# DP: Author: Guido Guenther, GOTO Masanori
-# DP: Upstream status: Not submitted
-# DP: Date: 2002-10-13, updated 2006-05-28
-
----
- sysdeps/i386/Makefile                 |    8 ++
- sysdeps/i386/Versions                 |    3 
- sysdeps/i386/libgcc-compat.c          |   75 +++++++++++++++++++++
- sysdeps/s390/s390-32/Makefile         |    8 ++
- sysdeps/s390/s390-32/Versions         |    8 ++
- sysdeps/s390/s390-32/libgcc-compat.c  |   83 +++++++++++++++++++++++
- sysdeps/sparc/sparc32/Makefile        |    8 ++
- sysdeps/sparc/sparc32/Versions        |    4 +
- sysdeps/sparc/sparc32/libgcc-compat.c |  121 ++++++++++++++++++++++++++++++++++
- 9 files changed, 318 insertions(+)
-
---- /dev/null
-+++ b/sysdeps/i386/libgcc-compat.c
-@@ -0,0 +1,75 @@
-+/* pre-.hidden libgcc compatibility
-+   Copyright (C) 2002 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+   Contributed by Guido Guenther <agx@sigxcpu.org>
-+
-+   The GNU C Library is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU Lesser General Public
-+   License as published by the Free Software Foundation; either
-+   version 2.1 of the License, or (at your option) any later version.
-+
-+   The GNU C Library is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   Lesser General Public License for more details.
-+
-+   You should have received a copy of the GNU Lesser General Public
-+   License along with the GNU C Library; if not, write to the Free
-+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+   02111-1307 USA.  */
-+
-+
-+#include <stdint.h>
-+#include <shlib-compat.h>
-+
-+#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6)
-+
-+extern int32_t __cmpdi2 (int64_t, int64_t);
-+int32_t __cmpdi2_internal (int64_t u, int64_t v)
-+{
-+  return __cmpdi2 (u, v);
-+}
-+symbol_version (__cmpdi2_internal, __cmpdi2, GLIBC_2.0);
-+
-+
-+extern int32_t __ucmpdi2 (int64_t, int64_t);
-+int32_t __ucmpdi2_internal (int64_t u, int64_t v)
-+{
-+  return __ucmpdi2 (u, v);
-+}
-+symbol_version (__ucmpdi2_internal, __ucmpdi2, GLIBC_2.0);
-+
-+
-+extern int64_t __fixunsdfdi (double);
-+int64_t __fixunsdfdi_internal (double d)
-+{
-+	  return __fixunsdfdi (d);
-+}
-+symbol_version (__fixunsdfdi_internal, __fixunsdfdi, GLIBC_2.0);
-+
-+extern int64_t __fixunssfdi (float);
-+int64_t __fixunssfdi_internal (float d)
-+{
-+  return __fixunssfdi (d);
-+}
-+
-+symbol_version (__fixunsfdi_internal, __fixunsfdi, GLIBC_2.0);
-+
-+typedef float XFtype __attribute__ ((mode (XF)));
-+
-+extern int64_t __fixunsxfdi (XFtype);
-+int64_t __fixunsxfdi_internal (XFtype d)
-+{
-+  return __fixunsxfdi (d);
-+}
-+
-+symbol_version (__fixunsxfdi_internal, __fixunsxfdi, GLIBC_2.0);
-+
-+extern double __floatdidf (int64_t);
-+double __floatdidf_internal (int64_t u)
-+{
-+	  return __floatdidf (u);
-+}
-+symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0);
-+
-+#endif
---- a/sysdeps/i386/Makefile
-+++ b/sysdeps/i386/Makefile
-@@ -9,6 +9,14 @@
- sysdep_routines += cacheinfo
- endif
- 
-+ifeq ($(subdir),csu)
-+ifeq (yes,$(build-shared))
-+# Compatibility
-+sysdep_routines += libgcc-compat
-+shared-only-routines += libgcc-compat
-+endif
-+endif
-+
- ifeq ($(subdir),gmon)
- sysdep_routines += i386-mcount
- endif
---- a/sysdeps/i386/Versions
-+++ b/sysdeps/i386/Versions
-@@ -8,6 +8,9 @@
-   GLIBC_2.0 {
-     # Functions from libgcc.
-     __divdi3; __moddi3; __udivdi3; __umoddi3;
-+    __cmpdi2; __ucmpdi2;
-+    __fixunsdfdi; __fixunssfdi; __fixunsxfdi;
-+    __floatdidf;
-   }
-   GLIBC_2.1 {
-     # global variable
---- /dev/null
-+++ b/sysdeps/sparc/sparc32/libgcc-compat.c
-@@ -0,0 +1,121 @@
-+/* pre-.hidden libgcc compatibility
-+   Copyright (C) 2002 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+   Contributed by Guido Guenther <agx@sigxcpu.org>
-+
-+   The GNU C Library is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU Lesser General Public
-+   License as published by the Free Software Foundation; either
-+   version 2.1 of the License, or (at your option) any later version.
-+
-+   The GNU C Library is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   Lesser General Public License for more details.
-+
-+   You should have received a copy of the GNU Lesser General Public
-+   License along with the GNU C Library; if not, write to the Free
-+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+   02111-1307 USA.  */
-+
-+
-+#include <stdint.h>
-+#include <shlib-compat.h>
-+
-+#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6)
-+
-+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);
-+
-+
-+extern int64_t __ashrdi3 (int64_t, int32_t);
-+int64_t __ashrdi3_internal (int64_t u, int32_t b)
-+{
-+  return __ashrdi3 (u, b);
-+}
-+symbol_version (__ashrdi3_internal, __ashrdi3, GLIBC_2.0);
-+
-+
-+extern int64_t __lshrdi3 (int64_t, int32_t);
-+int64_t __lshrdi3_internal (int64_t u, int32_t b)
-+{
-+  return __lshrdi3 (u, b);
-+}
-+symbol_version (__lshrdi3_internal, __lshrdi3, GLIBC_2.0);
-+
-+extern int32_t __cmpdi2 (int64_t, int64_t);
-+int32_t __cmpdi2_internal (int64_t u, int64_t v)
-+{
-+  return __cmpdi2 (u, v);
-+}
-+symbol_version (__cmpdi2_internal, __cmpdi2, GLIBC_2.0);
-+
-+
-+extern int32_t __ucmpdi2 (int64_t, int64_t);
-+int32_t __ucmpdi2_internal (int64_t u, int64_t v)
-+{
-+  return __ucmpdi2 (u, v);
-+}
-+symbol_version (__ucmpdi2_internal, __ucmpdi2, GLIBC_2.0);
-+
-+
-+extern int64_t __fixdfdi (double);
-+int64_t __fixdfdi_internal (double d)
-+{
-+  return __fixdfdi (d);
-+}
-+symbol_version (__fixdfdi_internal, __fixdfdi, GLIBC_2.0);
-+
-+
-+extern int64_t __fixsfdi (float);
-+int64_t __fixsfdi_internal (float d)
-+{
-+  return __fixsfdi (d);
-+}
-+symbol_version (__fixsfdi_internal, __fixsfdi, GLIBC_2.0);
-+
-+
-+extern int64_t __fixunsdfdi (double);
-+int64_t __fixunsdfdi_internal (double d)
-+{
-+	  return __fixunsdfdi (d);
-+}
-+symbol_version (__fixunsdfdi_internal, __fixunsdfdi, GLIBC_2.0);
-+
-+extern int64_t __fixunssfdi (float);
-+int64_t __fixunssfdi_internal (float d)
-+{
-+  return __fixunssfdi (d);
-+}
-+
-+symbol_version (__fixunssfdi_internal, __fixunssfdi, GLIBC_2.0);
-+
-+
-+extern double __floatdidf (int64_t);
-+double __floatdidf_internal (int64_t u)
-+{
-+	  return __floatdidf (u);
-+}
-+symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0);
-+
-+
-+extern float __floatdisf (int64_t);
-+float __floatdisf_internal (int64_t u)
-+{
-+  return __floatdisf (u);
-+}
-+symbol_version (__floatdisf_internal, __floatdisf, GLIBC_2.0);
-+
-+
-+extern int64_t __muldi3 (int64_t, int64_t);
-+int64_t __muldi3_internal (int64_t u, int64_t v)
-+{
-+  return __muldi3 (u, v);
-+}
-+symbol_version (__muldi3_internal, __muldi3, GLIBC_2.0);
-+
-+#endif
---- a/sysdeps/sparc/sparc32/Makefile
-+++ b/sysdeps/sparc/sparc32/Makefile
-@@ -19,6 +19,14 @@
- sysdep_routines = dotmul umul $(divrem) alloca
- endif	# gnulib
- 
-+ifeq ($(subdir),csu)
-+ifeq (yes,$(build-shared))
-+# Compatibility
-+sysdep_routines += libgcc-compat
-+shared-only-routines += libgcc-compat
-+endif
-+endif
-+
- # We distribute these files, even though they are generated,
- # so as to avoid the need for a functioning m4 to build the library.
- divrem := sdiv udiv rem urem
---- a/sysdeps/sparc/sparc32/Versions
-+++ b/sysdeps/sparc/sparc32/Versions
-@@ -1,6 +1,10 @@
- libc {
-   GLIBC_2.0 {
-     .div; .mul; .rem; .udiv; .umul; .urem;
-+    __divdi3; __moddi3; __udivdi3; __umoddi3; __muldi3;
-+    __ashldi3; __ashrdi3; __lshrdi3; __cmpdi2; __ucmpdi2;
-+    __fixdfdi; __fixsfdi; __fixunsdfdi; __fixunssfdi;
-+    __floatdidf; __floatdisf;
-   }
- }
- libm {
---- a/sysdeps/s390/s390-32/Makefile
-+++ b/sysdeps/s390/s390-32/Makefile
-@@ -9,3 +9,11 @@
- CFLAGS-dl-load.c += -Wno-unused
- CFLAGS-dl-reloc.c += -Wno-unused
- endif
-+
-+ifeq ($(subdir),csu)
-+ifeq (yes,$(build-shared))
-+# Compatibility
-+sysdep_routines += libgcc-compat
-+shared-only-routines += libgcc-compat
-+endif
-+endif
---- a/sysdeps/s390/s390-32/Versions
-+++ b/sysdeps/s390/s390-32/Versions
-@@ -2,5 +2,13 @@
-   GLIBC_2.0 {
-     # Functions from libgcc.
-     __divdi3; __moddi3; __udivdi3; __umoddi3;
-+    __cmpdi2;
-+    __fixdfdi;
-+    __fixsfdi;
-+    __fixunsdfdi;
-+    __fixunssfdi;
-+    __floatdidf;
-+    __floatdisf;
-+    __ucmpdi2;
-   }
- }
---- /dev/null
-+++ b/sysdeps/s390/s390-32/libgcc-compat.c
-@@ -0,0 +1,83 @@
-+/* pre-.hidden libgcc compatibility
-+   Copyright (C) 2003 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+   Contributed by GOTO Masanori <gotom@debian.org>
-+
-+   The GNU C Library is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU Lesser General Public
-+   License as published by the Free Software Foundation; either
-+   version 2.1 of the License, or (at your option) any later version.
-+
-+   The GNU C Library is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   Lesser General Public License for more details.
-+
-+   You should have received a copy of the GNU Lesser General Public
-+   License along with the GNU C Library; if not, write to the Free
-+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+   02111-1307 USA.  */
-+
-+
-+#include <stdint.h>
-+#include <shlib-compat.h>
-+
-+#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6)
-+
-+extern int32_t __cmpdi2 (int64_t, int64_t);
-+int32_t __cmpdi2_internal (int64_t u, int64_t v)
-+{
-+  return __cmpdi2 (u, v);
-+}
-+symbol_version (__cmpdi2_internal, __cmpdi2, GLIBC_2.0);
-+
-+extern int64_t __fixdfdi (double);
-+int64_t __fixdfdi_internal (double d)
-+{
-+  return __fixdfdi (d);
-+}
-+symbol_version (__fixdfdi_internal, __fixdfdi, GLIBC_2.0);
-+
-+extern int64_t __fixsfdi (float);
-+int64_t __fixsfdi_internal (float d)
-+{
-+  return __fixsfdi (d);
-+}
-+symbol_version (__fixsfdi_internal, __fixsfdi, GLIBC_2.0);
-+
-+extern int64_t __fixunsdfdi (double);
-+int64_t __fixunsdfdi_internal (double d)
-+{
-+  return __fixunsdfdi (d);
-+}
-+symbol_version (__fixunsdfdi_internal, __fixunsdfdi, GLIBC_2.0);
-+
-+extern int64_t __fixunssfdi (float);
-+int64_t __fixunssfdi_internal (float d)
-+{
-+  return __fixunssfdi (d);
-+}
-+symbol_version (__fixunssfdi_internal, __fixunssfdi, GLIBC_2.0);
-+
-+extern double __floatdidf (int64_t);
-+double __floatdidf_internal (int64_t u)
-+{
-+  return __floatdidf (u);
-+}
-+symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0);
-+
-+extern float __floatdisf (int64_t);
-+float __floatdisf_internal (int64_t u)
-+{
-+  return __floatdisf (u);
-+}
-+symbol_version (__floatdisf_internal, __floatdisf, GLIBC_2.0);
-+
-+extern int32_t __ucmpdi2 (int64_t, int64_t);
-+int32_t __ucmpdi2_internal (int64_t u, int64_t v)
-+{
-+  return __ucmpdi2 (u, v);
-+}
-+symbol_version (__ucmpdi2_internal, __ucmpdi2, GLIBC_2.0);
-+
-+#endif
diff --git a/debian/patches/any/local-libgcc-compat-ports.diff b/debian/patches/any/local-libgcc-compat-ports.diff
deleted file mode 100644
index e7a886d..0000000
--- a/debian/patches/any/local-libgcc-compat-ports.diff
+++ /dev/null
@@ -1,946 +0,0 @@
-# DP: Description: libgcc-compat symbols for mips, arm, m68k
-# DP: Author: Guido Guenther, GOTO Masanori
-# DP: Upstream status: Not submitted
-# DP: Date: 2002-10-13, updated 2006-08-27
-
----
- sysdeps/alpha/Makefile              |    8 
- sysdeps/alpha/Versions              |    2 
- sysdeps/alpha/libgcc-compat.c       |   35 +++
- sysdeps/arm/Makefile                |    5 
- sysdeps/arm/Versions                |   14 +
- sysdeps/arm/libgcc-compat.c         |  111 +++++++++++
- sysdeps/ia64/Makefile               |    4 
- sysdeps/ia64/Versions               |    4 
- sysdeps/ia64/ia64libgcc.S           |  350 ------------------------------------
- sysdeps/ia64/libgcc-compat.c        |  112 +++++++++++
- sysdeps/m68k/Deps                   |    1 
- sysdeps/m68k/Makefile               |    8 
- sysdeps/m68k/Versions               |    8 
- sysdeps/m68k/libgcc-compat.c        |   83 ++++++++
- sysdeps/mips/mips32/Makefile        |    8 
- sysdeps/mips/mips32/Versions        |    8 
- sysdeps/mips/mips32/libgcc-compat.c |   66 ++++++
- 17 files changed, 475 insertions(+), 352 deletions(-)
-
---- /dev/null
-+++ b/sysdeps/mips/mips32/libgcc-compat.c
-@@ -0,0 +1,66 @@
-+/* pre-.hidden libgcc compatibility
-+   Copyright (C) 2002 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+   Contributed by Guido Guenther <agx@sigxcpu.org>
-+
-+   The GNU C Library is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU Lesser General Public
-+   License as published by the Free Software Foundation; either
-+   version 2.1 of the License, or (at your option) any later version.
-+
-+   The GNU C Library is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   Lesser General Public License for more details.
-+
-+   You should have received a copy of the GNU Lesser General Public
-+   License along with the GNU C Library; if not, write to the Free
-+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+   02111-1307 USA.  */
-+
-+
-+#include <stdint.h>
-+#include <shlib-compat.h>
-+
-+#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6)
-+
-+extern int32_t __cmpdi2 (int64_t, int64_t);
-+int32_t __cmpdi2_internal (int64_t u, int64_t v)
-+{
-+  return __cmpdi2 (u, v);
-+}
-+symbol_version (__cmpdi2_internal, __cmpdi2, GLIBC_2.0);
-+
-+
-+extern int32_t __ucmpdi2 (int64_t, int64_t);
-+int32_t __ucmpdi2_internal (int64_t u, int64_t v)
-+{
-+  return __ucmpdi2 (u, v);
-+}
-+symbol_version (__ucmpdi2_internal, __ucmpdi2, GLIBC_2.0);
-+
-+
-+extern int64_t __fixdfdi (double);
-+int64_t __fixdfdi_internal (double d)
-+{
-+  return __fixdfdi (d);
-+}
-+symbol_version (__fixdfdi_internal, __fixdfdi, GLIBC_2.0);
-+
-+
-+extern double __floatdidf (int64_t);
-+double __floatdidf_internal (int64_t u)
-+{
-+	  return __floatdidf (u);
-+}
-+symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0);
-+
-+
-+extern float __floatdisf (int64_t);
-+float __floatdisf_internal (int64_t u)
-+{
-+  return __floatdisf (u);
-+}
-+symbol_version (__floatdisf_internal, __floatdisf, GLIBC_2.0);
-+
-+#endif
---- /dev/null
-+++ b/sysdeps/mips/mips32/Versions
-@@ -0,0 +1,8 @@
-+libc {
-+  GLIBC_2.0 {
-+    # Functions from libgcc.
-+    __cmpdi2; __ucmpdi2;
-+    __divdi3; __moddi3; __udivdi3; __umoddi3;
-+    __fixdfdi; __floatdidf; __floatdisf;
-+  }
-+}
---- a/sysdeps/arm/Makefile
-+++ b/sysdeps/arm/Makefile
-@@ -37,6 +37,11 @@
- endif
- endif
- endif
-+ifeq (yes,$(build-shared))
-+# Compatibility
-+sysdep_routines += libgcc-compat
-+shared-only-routines += libgcc-compat
-+endif
- 
- ifeq ($(subdir),csu)
- # get offset to rtld_global._dl_hwcap
---- a/sysdeps/arm/Versions
-+++ b/sysdeps/arm/Versions
-@@ -21,4 +21,18 @@
-     # This set has to exist in some Versions file so we can use 2.19 in
-     # SHLIB_COMPAT.  Since it didn't exist anywhere else, we add it here.
-   }
-+  GLIBC_2.0 {
-+    # Functions from libgcc.
-+    __ashldi3; __ashrdi3;
-+    __cmpdi2;
-+    __divsi3;
-+    __fixdfdi;
-+    __floatdidf;
-+    __floatdisf;
-+    __modsi3;
-+    __muldi3;
-+    __ucmpdi2;
-+    __udivsi3;
-+    __umodsi3;
-+  }
- }
---- /dev/null
-+++ b/sysdeps/arm/libgcc-compat.c
-@@ -0,0 +1,111 @@
-+/* pre-.hidden libgcc compatibility
-+   Copyright (C) 2003 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+   Contributed by GOTO Masanori <gotom@debian.org>
-+
-+   The GNU C Library is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU Lesser General Public
-+   License as published by the Free Software Foundation; either
-+   version 2.1 of the License, or (at your option) any later version.
-+
-+   The GNU C Library is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   Lesser General Public License for more details.
-+
-+   You should have received a copy of the GNU Lesser General Public
-+   License along with the GNU C Library; if not, write to the Free
-+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+   02111-1307 USA.  */
-+
-+
-+#include <stdint.h>
-+#include <shlib-compat.h>
-+
-+#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6)
-+
-+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);
-+
-+extern int64_t __ashrdi3 (int64_t, int32_t);
-+int32_t __ashrdi3_internal (int64_t u, int32_t b)
-+{
-+  return __ashrdi3 (u, b);
-+}
-+symbol_version (__ashrdi3_internal, __ashrdi3, GLIBC_2.0);
-+
-+extern int32_t __cmpdi2 (int64_t, int64_t);
-+int32_t __cmpdi2_internal (int64_t u, int64_t v)
-+{
-+  return __cmpdi2 (u, v);
-+}
-+symbol_version (__cmpdi2_internal, __cmpdi2, GLIBC_2.0);
-+
-+extern int32_t __divsi3 (int32_t, int32_t);
-+int32_t __divsi3_internal (int32_t u, int32_t v)
-+{
-+  return __divsi3 (u, v);
-+}
-+symbol_version (__divsi3_internal, __divsi3, GLIBC_2.0);
-+
-+extern int64_t __fixdfdi (double);
-+int64_t __fixdfdi_internal (double d)
-+{
-+  return __fixdfdi (d);
-+}
-+symbol_version (__fixdfdi_internal, __fixdfdi, GLIBC_2.0);
-+
-+extern double __floatdidf (int64_t);
-+double __floatdidf_internal (int64_t u)
-+{
-+  return __floatdidf (u);
-+}
-+symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0);
-+
-+extern float __floatdisf (int64_t);
-+float __floatdisf_internal (int64_t u)
-+{
-+  return __floatdisf (u);
-+}
-+symbol_version (__floatdisf_internal, __floatdisf, GLIBC_2.0);
-+
-+extern int32_t __modsi3 (int32_t, int32_t);
-+int32_t __modsi3_internal (int32_t u, int32_t v)
-+{
-+  return __modsi3 (u, v);
-+}
-+symbol_version (__modsi3_internal, __modsi3, GLIBC_2.0);
-+
-+extern int64_t __muldi3 (int64_t, int64_t);
-+int64_t __muldi3_internal (int64_t u, int64_t v)
-+{
-+  return __muldi3 (u, v);
-+}
-+symbol_version (__muldi3_internal, __muldi3, GLIBC_2.0);
-+
-+extern int32_t __ucmpdi2 (int64_t, int64_t);
-+int32_t __ucmpdi2_internal (int64_t u, int64_t v)
-+{
-+  return __ucmpdi2 (u, v);
-+}
-+symbol_version (__ucmpdi2_internal, __ucmpdi2, GLIBC_2.0);
-+
-+extern int32_t __udivsi3 (int32_t, int32_t);
-+int32_t __udivsi3_internal (int32_t u, int32_t v)
-+{
-+  return __udivsi3 (u, v);
-+}
-+symbol_version (__udivsi3_internal, __udivsi3, GLIBC_2.0);
-+
-+extern int32_t __umodsi3 (int32_t, int32_t);
-+int32_t __umodsi3_internal (int32_t u, int32_t v)
-+{
-+  return __umodsi3 (u, v);
-+}
-+symbol_version (__umodsi3_internal, __umodsi3, GLIBC_2.0);
-+
-+#endif
---- /dev/null
-+++ b/sysdeps/m68k/Deps
-@@ -0,0 +1 @@
-+libgcc-compat.c
---- a/sysdeps/m68k/Makefile
-+++ b/sysdeps/m68k/Makefile
-@@ -47,3 +47,11 @@
- ifeq ($(subdir),gmon)
- CFLAGS-mcount.c += -Wno-frame-address
- endif
-+
-+ifeq ($(subdir),csu)
-+ifeq (yes,$(build-shared))
-+# Compatibility
-+sysdep_routines += libgcc-compat
-+shared-only-routines += libgcc-compat
-+endif
-+endif
---- a/sysdeps/m68k/Versions
-+++ b/sysdeps/m68k/Versions
-@@ -2,6 +2,14 @@
-   GLIBC_2.0 {
-     # Functions from libgcc.
-     __divdi3; __moddi3; __udivdi3; __umoddi3;
-+    __ashldi3;
-+    __ashrdi3;
-+    __fixdfdi;
-+    __fixsfdi;
-+    __fixunsdfdi;
-+    __fixunssfdi;
-+    __floatdidf;
-+    __floatdisf;
-   }
- }
- libm {
---- /dev/null
-+++ b/sysdeps/m68k/libgcc-compat.c
-@@ -0,0 +1,83 @@
-+/* pre-.hidden libgcc compatibility
-+   Copyright (C) 2003 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+   Contributed by GOTO Masanori <gotom@debian.org>
-+
-+   The GNU C Library is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU Lesser General Public
-+   License as published by the Free Software Foundation; either
-+   version 2.1 of the License, or (at your option) any later version.
-+
-+   The GNU C Library is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   Lesser General Public License for more details.
-+
-+   You should have received a copy of the GNU Lesser General Public
-+   License along with the GNU C Library; if not, write to the Free
-+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+   02111-1307 USA.  */
-+
-+
-+#include <stdint.h>
-+#include <shlib-compat.h>
-+
-+#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6)
-+
-+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);
-+
-+extern int64_t __ashrdi3 (int64_t, int32_t);
-+int64_t __ashrdi3_internal (int64_t u, int32_t b)
-+{
-+  return __ashrdi3 (u, b);
-+}
-+symbol_version (__ashrdi3_internal, __ashrdi3, GLIBC_2.0);
-+
-+extern int64_t __fixdfdi (double);
-+int64_t __fixdfdi_internal (double d)
-+{
-+  return __fixdfdi (d);
-+}
-+symbol_version (__fixdfdi_internal, __fixdfdi, GLIBC_2.0);
-+
-+extern int64_t __fixsfdi (float);
-+int64_t __fixsfdi_internal (float d)
-+{
-+  return __fixsfdi (d);
-+}
-+symbol_version (__fixsfdi_internal, __fixsfdi, GLIBC_2.0);
-+
-+extern int64_t __fixunsdfdi (double);
-+int64_t __fixunsdfdi_internal (double d)
-+{
-+  return __fixunsdfdi (d);
-+}
-+symbol_version (__fixunsdfdi_internal, __fixunsdfdi, GLIBC_2.0);
-+
-+extern int64_t __fixunssfdi (float);
-+int64_t __fixunssfdi_internal (float d)
-+{
-+  return __fixunssfdi (d);
-+}
-+symbol_version (__fixunssfdi_internal, __fixunssfdi, GLIBC_2.0);
-+
-+extern double __floatdidf (int64_t);
-+double __floatdidf_internal (int64_t u)
-+{
-+  return __floatdidf (u);
-+}
-+symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0);
-+
-+extern float __floatdisf (int64_t);
-+float __floatdisf_internal (int64_t u)
-+{
-+  return __floatdisf (u);
-+}
-+symbol_version (__floatdisf_internal, __floatdisf, GLIBC_2.0);
-+
-+#endif
---- a/sysdeps/mips/mips32/Makefile
-+++ b/sysdeps/mips/mips32/Makefile
-@@ -1,3 +1,11 @@
- ifeq ($(filter -mabi=32,$(CC)),)
- CC += -mabi=32
- endif
-+
-+ifeq ($(subdir),csu)
-+ifeq (yes,$(build-shared))
-+# Compatibility
-+sysdep_routines += libgcc-compat
-+shared-only-routines += libgcc-compat
-+endif
-+endif
---- /dev/null
-+++ b/sysdeps/alpha/libgcc-compat.c
-@@ -0,0 +1,35 @@
-+/* pre-.hidden libgcc compatibility
-+   Copyright (C) 2002 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+   Contributed by Guido Guenther <agx@sigxcpu.org>
-+
-+   The GNU C Library is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU Lesser General Public
-+   License as published by the Free Software Foundation; either
-+   version 2.1 of the License, or (at your option) any later version.
-+
-+   The GNU C Library is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   Lesser General Public License for more details.
-+
-+   You should have received a copy of the GNU Lesser General Public
-+   License along with the GNU C Library; if not, write to the Free
-+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+   02111-1307 USA.  */
-+
-+#include <stdint.h>
-+#include <shlib-compat.h>
-+
-+#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6)
-+
-+typedef int int128_t __attribute__((__mode__(TI)));
-+
-+extern int128_t __multi3 (int128_t, int128_t);
-+int128_t __multi3_internal (int128_t x, int128_t y)
-+{
-+  return __multi3 (x, y);
-+}
-+symbol_version (__multi3_internal, __multi3, GLIBC_2.0);
-+
-+#endif
---- a/sysdeps/alpha/Versions
-+++ b/sysdeps/alpha/Versions
-@@ -3,6 +3,8 @@
-     # functions with special/multiple interfaces
-     __divqu; __remqu; __divqs; __remqs; __divlu; __remlu; __divls;
-     __remls; __divl; __reml; __divq; __remq; __divqu; __remqu;
-+    # libgcc-compat
-+    __multi3;
-   }
- }
- libm {
---- a/sysdeps/alpha/Makefile
-+++ b/sysdeps/alpha/Makefile
-@@ -60,3 +60,11 @@
- # libc.so requires about 16k for the small data area, which is well
- # below the 64k maximum.
- pic-ccflag = -fpic
-+
-+ifeq ($(subdir),csu)
-+ifeq (yes,$(build-shared))
-+# Compatibility
-+sysdep_routines += libgcc-compat
-+shared-only-routines += libgcc-compat
-+endif
-+endif
---- a/sysdeps/ia64/Makefile
-+++ b/sysdeps/ia64/Makefile
-@@ -10,8 +10,8 @@
- 
- ifeq (yes,$(build-shared))
- # Compatibility
--sysdep_routines += ia64libgcc
--shared-only-routines += ia64libgcc
-+sysdep_routines += libgcc-compat
-+shared-only-routines += libgcc-compat
- endif
- endif
- 
---- a/sysdeps/ia64/Versions
-+++ b/sysdeps/ia64/Versions
-@@ -10,6 +10,10 @@
-     # Functions from libgcc.
-     __divtf3; __divdf3; __divsf3; __divdi3; __moddi3; __udivdi3; __umoddi3;
-     __multi3;
-+    __divsi3;
-+    __modsi3;
-+    __udivsi3;
-+    __umodsi3;
-   }
- }
- libm {
---- a/sysdeps/ia64/ia64libgcc.S
-+++ /dev/null
-@@ -1,350 +0,0 @@
--/* From the Intel IA-64 Optimization Guide, choose the minimum latency
--   alternative.  */
--
--#include <sysdep.h>
--#undef ret
--
--#include <shlib-compat.h>
--
--#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_2_6)
--
--/* __divtf3
--   Compute a 80-bit IEEE double-extended quotient.
--   farg0 holds the dividend.  farg1 holds the divisor.  */
--
--ENTRY(___divtf3)
--	cmp.eq p7, p0 = r0, r0
--	frcpa.s0 f10, p6 = farg0, farg1
--	;;
--(p6)	cmp.ne p7, p0 = r0, r0
--	.pred.rel.mutex p6, p7
--(p6)	fnma.s1 f11 = farg1, f10, f1
--(p6)	fma.s1 f12 = farg0, f10, f0
--	;;
--(p6)	fma.s1 f13 = f11, f11, f0
--(p6)	fma.s1 f14 = f11, f11, f11
--	;;
--(p6)	fma.s1 f11 = f13, f13, f11
--(p6)	fma.s1 f13 = f14, f10, f10
--	;;
--(p6)	fma.s1 f10 = f13, f11, f10
--(p6)	fnma.s1 f11 = farg1, f12, farg0
--	;;
--(p6)	fma.s1 f11 = f11, f10, f12
--(p6)	fnma.s1 f12 = farg1, f10, f1
--	;;
--(p6)	fma.s1 f10 = f12, f10, f10
--(p6)	fnma.s1 f12 = farg1, f11, farg0
--	;;
--(p6)	fma.s0 fret0 = f12, f10, f11
--(p7)	mov fret0 = f10
--	br.ret.sptk rp
--END(___divtf3)
--	.symver ___divtf3, __divtf3@GLIBC_2.2
--
--/* __divdf3
--   Compute a 64-bit IEEE double quotient.
--   farg0 holds the dividend.  farg1 holds the divisor.  */
--
--ENTRY(___divdf3)
--	cmp.eq p7, p0 = r0, r0
--	frcpa.s0 f10, p6 = farg0, farg1
--	;;
--(p6)	cmp.ne p7, p0 = r0, r0
--	.pred.rel.mutex p6, p7
--(p6)	fmpy.s1 f11 = farg0, f10
--(p6)	fnma.s1 f12 = farg1, f10, f1
--	;;
--(p6)	fma.s1 f11 = f12, f11, f11
--(p6)	fmpy.s1 f13 = f12, f12
--	;;
--(p6)	fma.s1 f10 = f12, f10, f10
--(p6)	fma.s1 f11 = f13, f11, f11
--	;;
--(p6)	fmpy.s1 f12 = f13, f13
--(p6)	fma.s1 f10 = f13, f10, f10
--	;;
--(p6)	fma.d.s1 f11 = f12, f11, f11
--(p6)	fma.s1 f10 = f12, f10, f10
--	;;
--(p6)	fnma.d.s1 f8 = farg1, f11, farg0
--	;;
--(p6)	fma.d fret0 = f8, f10, f11
--(p7)	mov fret0 = f10
--	br.ret.sptk rp
--	;;
--END(___divdf3)
--	.symver	___divdf3, __divdf3@GLIBC_2.2
--
--/* __divsf3
--   Compute a 32-bit IEEE float quotient.
--   farg0 holds the dividend.  farg1 holds the divisor.  */
--
--ENTRY(___divsf3)
--	cmp.eq p7, p0 = r0, r0
--	frcpa.s0 f10, p6 = farg0, farg1
--	;;
--(p6)	cmp.ne p7, p0 = r0, r0
--	.pred.rel.mutex p6, p7
--(p6)	fmpy.s1 f8 = farg0, f10
--(p6)	fnma.s1 f9 = farg1, f10, f1
--	;;
--(p6)	fma.s1 f8 = f9, f8, f8
--(p6)	fmpy.s1 f9 = f9, f9
--	;;
--(p6)	fma.s1 f8 = f9, f8, f8
--(p6)	fmpy.s1 f9 = f9, f9
--	;;
--(p6)	fma.d.s1 f10 = f9, f8, f8
--	;;
--(p6)	fnorm.s.s0 fret0 = f10
--(p7)	mov fret0 = f10
--	br.ret.sptk rp
--	;;
--END(___divsf3)
--	.symver	___divsf3, __divsf3@GLIBC_2.2
--
--/* __divdi3
--   Compute a 64-bit integer quotient.
--   in0 holds the dividend.  in1 holds the divisor.  */
--
--ENTRY(___divdi3)
--	.regstk 2,0,0,0
--	/* Transfer inputs to FP registers.  */
--	setf.sig f8 = in0
--	setf.sig f9 = in1
--	;;
--	/* Convert the inputs to FP, so that they won't be treated as
--	   unsigned.  */
--	fcvt.xf f8 = f8
--	fcvt.xf f9 = f9
--	;;
--	/* Compute the reciprocal approximation.  */
--	frcpa.s1 f10, p6 = f8, f9
--	;;
--	/* 3 Newton-Raphson iterations.  */
--(p6)	fnma.s1 f11 = f9, f10, f1
--(p6)	fmpy.s1 f12 = f8, f10
--	;;
--(p6)	fmpy.s1 f13 = f11, f11
--(p6)	fma.s1 f12 = f11, f12, f12
--	;;
--(p6)	fma.s1 f10 = f11, f10, f10
--(p6)	fma.s1 f11 = f13, f12, f12
--	;;
--(p6)	fma.s1 f10 = f13, f10, f10
--(p6)	fnma.s1 f12 = f9, f11, f8
--	;;
--(p6)	fma.s1 f10 = f12, f10, f11
--	;;
--	/* Round quotient to an integer.  */
--	fcvt.fx.trunc.s1 f10 = f10
--	;;
--	/* Transfer result to GP registers.  */
--	getf.sig ret0 = f10
--	br.ret.sptk rp
--	;;
--END(___divdi3)
--	.symver	___divdi3, __divdi3@GLIBC_2.2
--
--/* __moddi3
--   Compute a 64-bit integer modulus.
--   in0 holds the dividend (a).  in1 holds the divisor (b).  */
--
--ENTRY(___moddi3)
--	.regstk 2,0,0,0
--	/* Transfer inputs to FP registers.  */
--	setf.sig f14 = in0
--	setf.sig f9 = in1
--	;;
--	/* Convert the inputs to FP, so that they won't be treated as
--	   unsigned.  */
--	fcvt.xf f8 = f14
--	fcvt.xf f9 = f9
--	;;
--	/* Compute the reciprocal approximation.  */
--	frcpa.s1 f10, p6 = f8, f9
--	;;
--	/* 3 Newton-Raphson iterations.  */
--(p6)	fmpy.s1 f12 = f8, f10
--(p6)	fnma.s1 f11 = f9, f10, f1
--	;;
--(p6)	fma.s1 f12 = f11, f12, f12
--(p6)	fmpy.s1 f13 = f11, f11
--	;;
--(p6)	fma.s1 f10 = f11, f10, f10
--(p6)	fma.s1 f11 = f13, f12, f12
--	;;
--	sub in1 = r0, in1
--(p6)	fma.s1 f10 = f13, f10, f10
--(p6)	fnma.s1 f12 = f9, f11, f8
--	;;
--	setf.sig f9 = in1
--(p6)	fma.s1 f10 = f12, f10, f11
--	;;
--	fcvt.fx.trunc.s1 f10 = f10
--	;;
--	/* r = q * (-b) + a  */
--	xma.l f10 = f10, f9, f14
--	;;
--	/* Transfer result to GP registers.  */
--	getf.sig ret0 = f10
--	br.ret.sptk rp
--	;;
--END(___moddi3)
--	.symver ___moddi3, __moddi3@GLIBC_2.2
--
--/* __udivdi3
--   Compute a 64-bit unsigned integer quotient.
--   in0 holds the dividend.  in1 holds the divisor.  */
--
--ENTRY(___udivdi3)
--	.regstk 2,0,0,0
--	/* Transfer inputs to FP registers.  */
--	setf.sig f8 = in0
--	setf.sig f9 = in1
--	;;
--	/* Convert the inputs to FP, to avoid FP software-assist faults.  */
--	fcvt.xuf.s1 f8 = f8
--	fcvt.xuf.s1 f9 = f9
--	;;
--	/* Compute the reciprocal approximation.  */
--	frcpa.s1 f10, p6 = f8, f9
--	;;
--	/* 3 Newton-Raphson iterations.  */
--(p6)	fnma.s1 f11 = f9, f10, f1
--(p6)	fmpy.s1 f12 = f8, f10
--	;;
--(p6)	fmpy.s1 f13 = f11, f11
--(p6)	fma.s1 f12 = f11, f12, f12
--	;;
--(p6)	fma.s1 f10 = f11, f10, f10
--(p6)	fma.s1 f11 = f13, f12, f12
--	;;
--(p6)	fma.s1 f10 = f13, f10, f10
--(p6)	fnma.s1 f12 = f9, f11, f8
--	;;
--(p6)	fma.s1 f10 = f12, f10, f11
--	;;
--	/* Round quotient to an unsigned integer.  */
--	fcvt.fxu.trunc.s1 f10 = f10
--	;;
--	/* Transfer result to GP registers.  */
--	getf.sig ret0 = f10
--	br.ret.sptk rp
--	;;
--END(___udivdi3)
--	.symver	___udivdi3, __udivdi3@GLIBC_2.2
--
--/* __umoddi3
--   Compute a 64-bit unsigned integer modulus.
--   in0 holds the dividend (a).  in1 holds the divisor (b).  */
--
--ENTRY(___umoddi3)
--	.regstk 2,0,0,0
--	/* Transfer inputs to FP registers.  */
--	setf.sig f14 = in0
--	setf.sig f9 = in1
--	;;
--	/* Convert the inputs to FP, to avoid FP software assist faults.  */
--	fcvt.xuf.s1 f8 = f14
--	fcvt.xuf.s1 f9 = f9
--	;;
--	/* Compute the reciprocal approximation.  */
--	frcpa.s1 f10, p6 = f8, f9
--	;;
--	/* 3 Newton-Raphson iterations.  */
--(p6)	fmpy.s1 f12 = f8, f10
--(p6)	fnma.s1 f11 = f9, f10, f1
--	;;
--(p6)	fma.s1 f12 = f11, f12, f12
--(p6)	fmpy.s1 f13 = f11, f11
--	;;
--(p6)	fma.s1 f10 = f11, f10, f10
--(p6)	fma.s1 f11 = f13, f12, f12
--	;;
--	sub in1 = r0, in1
--(p6)	fma.s1 f10 = f13, f10, f10
--(p6)	fnma.s1 f12 = f9, f11, f8
--	;;
--	setf.sig f9 = in1
--(p6)	fma.s1 f10 = f12, f10, f11
--	;;
--	/* Round quotient to an unsigned integer.  */
--	fcvt.fxu.trunc.s1 f10 = f10
--	;;
--	/* r = q * (-b) + a  */
--	xma.l f10 = f10, f9, f14
--	;;
--	/* Transfer result to GP registers.  */
--	getf.sig ret0 = f10
--	br.ret.sptk rp
--	;;
--END(___umoddi3)
--	.symver	___umoddi3, __umoddi3@GLIBC_2.2
--
--/* __multi3
--   Compute a 128-bit multiply of 128-bit multiplicands.
--   in0/in1 holds one multiplicand (a), in2/in3 holds the other one (b).  */
--
--ENTRY(___multi3)
--	.regstk 4,0,0,0
--	setf.sig f6 = in1
--	movl r19 = 0xffffffff
--	setf.sig f7 = in2
--	;;
--	and r14 = r19, in0
--	;;
--	setf.sig f10 = r14
--	and r14 = r19, in2
--	xmpy.l f9 = f6, f7
--	;;
--	setf.sig f6 = r14
--	shr.u r14 = in0, 32
--	;;
--	setf.sig f7 = r14
--	shr.u r14 = in2, 32
--	;;
--	setf.sig f8 = r14
--	xmpy.l f11 = f10, f6
--	xmpy.l f6 = f7, f6
--	;;
--	getf.sig r16 = f11
--	xmpy.l f7 = f7, f8
--	;;
--	shr.u r14 = r16, 32
--	and r16 = r19, r16
--	getf.sig r17 = f6
--	setf.sig f6 = in0
--	;;
--	setf.sig f11 = r14
--	getf.sig r21 = f7
--	setf.sig f7 = in3
--	;;
--	xma.l f11 = f10, f8, f11
--	xma.l f6 = f6, f7, f9
--	;;
--	getf.sig r18 = f11
--	;;
--	add r18 = r18, r17
--	;;
--	and r15 = r19, r18
--	cmp.ltu p7, p6 = r18, r17
--	;;
--	getf.sig r22 = f6
--(p7)	adds r14 = 1, r19
--	;;
--(p7)	add r21 = r21, r14
--	shr.u r14 = r18, 32
--	shl r15 = r15, 32
--	;;
--	add r20 = r21, r14
--	;;
--	add ret0 = r15, r16
--	add ret1 = r22, r20
--	br.ret.sptk rp
--	;;
--END(___multi3)
--	.symver	___multi3, __multi3@GLIBC_2.2
--
--#endif
---- /dev/null
-+++ b/sysdeps/ia64/libgcc-compat.c
-@@ -0,0 +1,112 @@
-+/* pre-.hidden libgcc compatibility
-+   Copyright (C) 2002 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+
-+   The GNU C Library is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU Lesser General Public
-+   License as published by the Free Software Foundation; either
-+   version 2.1 of the License, or (at your option) any later version.
-+
-+   The GNU C Library is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   Lesser General Public License for more details.
-+
-+   You should have received a copy of the GNU Lesser General Public
-+   License along with the GNU C Library; if not, write to the Free
-+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+   02111-1307 USA.  */
-+
-+
-+#include <stdint.h>
-+#include <shlib-compat.h>
-+
-+#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_2_6)
-+
-+typedef int int128_t __attribute__((__mode__(TI)));
-+
-+extern long double __divtf3 (long double, long double) attribute_hidden;
-+long double __divtf3_internal (long double x, long double y)
-+{
-+  return __divtf3 (x, y);
-+}
-+symbol_version (__divtf3_internal, __divtf3, GLIBC_2.2);
-+
-+extern double __divdf3 (double, double) attribute_hidden;
-+double __divdf3_internal (double x, double y)
-+{
-+  return __divdf3 (x, y);
-+}
-+symbol_version (__divdf3_internal, __divdf3, GLIBC_2.2);
-+
-+extern float __divsf3 (float, float) attribute_hidden;
-+float __divsf3_internal (float x, float y)
-+{
-+  return __divsf3 (x, y);
-+}
-+symbol_version (__divsf3_internal, __divsf3, GLIBC_2.2);
-+
-+extern int64_t __divdi3 (int64_t, int64_t) attribute_hidden;
-+int64_t __divdi3_internal (int64_t x, int64_t y)
-+{
-+  return __divdi3 (x, y);
-+}
-+symbol_version (__divdi3_internal, __divdi3, GLIBC_2.2);
-+
-+extern int64_t __moddi3 (int64_t, int64_t) attribute_hidden;
-+int64_t __moddi3_internal (int64_t x, int64_t y)
-+{
-+  return __moddi3 (x, y);
-+}
-+symbol_version (__moddi3_internal, __moddi3, GLIBC_2.2);
-+
-+extern uint64_t __udivdi3 (uint64_t, uint64_t) attribute_hidden;
-+uint64_t __udivdi3_internal (uint64_t x, uint64_t y)
-+{
-+  return __udivdi3 (x, y);
-+}
-+symbol_version (__udivdi3_internal, __udivdi3, GLIBC_2.2);
-+
-+extern uint64_t __umoddi3 (uint64_t, uint64_t) attribute_hidden;
-+uint64_t __umoddi3_internal (uint64_t x, uint64_t y)
-+{
-+  return __umoddi3 (x, y);
-+}
-+symbol_version (__umoddi3_internal, __umoddi3, GLIBC_2.2);
-+
-+extern int128_t __multi3 (int128_t, int128_t) attribute_hidden;
-+int128_t __multi3_internal (int128_t x, int128_t y)
-+{
-+  return __multi3 (x, y);
-+}
-+symbol_version (__multi3_internal, __multi3, GLIBC_2.2);
-+
-+extern int64_t __divsi3 (int64_t, int64_t) attribute_hidden;
-+int64_t __divsi3_internal (int64_t x, int64_t y)
-+{
-+  return __divsi3 (x, y);
-+}
-+symbol_version (__divsi3_internal, __divsi3, GLIBC_2.2);
-+
-+extern int64_t __modsi3 (int64_t, int64_t) attribute_hidden;
-+int64_t __modsi3_internal (int64_t x, int64_t y)
-+{
-+  return __modsi3 (x, y);
-+}
-+symbol_version (__modsi3_internal, __modsi3, GLIBC_2.2);
-+
-+extern uint64_t __udivsi3 (uint64_t, uint64_t) attribute_hidden;
-+uint64_t __udivsi3_internal (uint64_t x, uint64_t y)
-+{
-+  return __udivsi3 (x, y);
-+}
-+symbol_version (__udivsi3_internal, __udivsi3, GLIBC_2.2);
-+
-+extern uint64_t __umodsi3 (uint64_t, uint64_t) attribute_hidden;
-+uint64_t __umodsi3_internal (uint64_t x, uint64_t y)
-+{
-+  return __umodsi3 (x, y);
-+}
-+symbol_version (__umodsi3_internal, __umodsi3, GLIBC_2.2);
-+
-+#endif
diff --git a/debian/patches/series b/debian/patches/series
index a723657..4b1639a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -211,9 +211,6 @@ any/local-ld-multiarch.diff
 any/local-ldso-disable-hwcap.diff
 any/local-ldconfig.diff
 any/local-ldconfig-fsync.diff
-any/local-libgcc-compat-main.diff
-any/local-libgcc-compat-ports.diff
-any/local-libgcc-compat-abilists.diff
 any/local-nss-upgrade.diff
 any/local-stubs_h.diff
 any/local-tcsetaddr.diff

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-glibc/glibc.git


Reply to: