summaryrefslogtreecommitdiff
path: root/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-multiarch-x86-strcmp.patch
diff options
context:
space:
mode:
authorNicolás Reynolds <apoyosis@correo.inta.gob.ar>2012-04-17 20:37:01 -0300
committerNicolás Reynolds <apoyosis@correo.inta.gob.ar>2012-04-17 20:37:01 -0300
commit76480b6b18868754fc95ff41d02885898c54367f (patch)
treeb3c9945f331f2cadd2be8a7dba5b2097c519998f /cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-multiarch-x86-strcmp.patch
parent7a97ab610eea972771b91f51cb180f0f195b4da3 (diff)
downloadabslibre-76480b6b18868754fc95ff41d02885898c54367f.tar.gz
abslibre-76480b6b18868754fc95ff41d02885898c54367f.tar.bz2
abslibre-76480b6b18868754fc95ff41d02885898c54367f.zip
Updating the cross toolchain for mips64el
Added patches from upstream and diff'ed with them. Binutils and linux-libre-api-headers are already built. GCC Core builts but `mips64el-unknown-linux-gnu-gcc -v dummy.c` fails because of missing -EL on i686-pc-linux-gnu-as. Exporting mips64el-...-binutils to the PATH solves the problem but mips64el-...-ld fails with missing crt*. No idea why target gcc decides to use the host as instead of the target one, since the PKGBUILD hasn't fundamentally changed.
Diffstat (limited to 'cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-multiarch-x86-strcmp.patch')
-rw-r--r--cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-multiarch-x86-strcmp.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-multiarch-x86-strcmp.patch b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-multiarch-x86-strcmp.patch
new file mode 100644
index 000000000..38c9e617f
--- /dev/null
+++ b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-multiarch-x86-strcmp.patch
@@ -0,0 +1,39 @@
+diff --git a/sysdeps/i386/i686/multiarch/strcasecmp_l-c.c b/sysdeps/i386/i686/multiarch/strcasecmp_l-c.c
+index d10e872..d4fcd2b 100644
+--- a/sysdeps/i386/i686/multiarch/strcasecmp_l-c.c
++++ b/sysdeps/i386/i686/multiarch/strcasecmp_l-c.c
+@@ -6,6 +6,8 @@ extern __typeof (strcasecmp_l) __strcasecmp_l_nonascii;
+ #define USE_IN_EXTENDED_LOCALE_MODEL 1
+ #include <string/strcasecmp.c>
+
++strong_alias (__strcasecmp_l_nonascii, __strcasecmp_l_ia32)
++
+ /* The needs of strcasecmp in libc are minimal, no need to go through
+ the IFUNC. */
+ strong_alias (__strcasecmp_l_nonascii, __GI___strcasecmp_l)
+diff --git a/sysdeps/i386/i686/multiarch/strcmp.S b/sysdeps/i386/i686/multiarch/strcmp.S
+index 5410d17..b3b9eb8 100644
+--- a/sysdeps/i386/i686/multiarch/strcmp.S
++++ b/sysdeps/i386/i686/multiarch/strcmp.S
+@@ -111,6 +111,7 @@ END(STRCMP)
+ # endif
+ #endif
+
+-#ifndef USE_AS_STRNCMP
++#if !defined USE_AS_STRNCMP && !defined USE_AS_STRCASECMP_L \
++ && !defined USE_AS_STRNCASECMP_L
+ # include "../strcmp.S"
+ #endif
+diff --git a/sysdeps/i386/i686/multiarch/strncase_l-c.c b/sysdeps/i386/i686/multiarch/strncase_l-c.c
+index 0c68b8d..7e601af 100644
+--- a/sysdeps/i386/i686/multiarch/strncase_l-c.c
++++ b/sysdeps/i386/i686/multiarch/strncase_l-c.c
+@@ -6,6 +6,8 @@ extern __typeof (strncasecmp_l) __strncasecmp_l_nonascii;
+ #define USE_IN_EXTENDED_LOCALE_MODEL 1
+ #include <string/strncase.c>
+
++strong_alias (__strncasecmp_l_nonascii, __strncasecmp_l_ia32)
++
+ /* The needs of strcasecmp in libc are minimal, no need to go through
+ the IFUNC. */
+ strong_alias (__strncasecmp_l_nonascii, __GI___strncasecmp_l)