summaryrefslogtreecommitdiff
path: root/packages/uclibc/uclibc-0.9.28/thumb-defined-arm-or-thumb.patch
diff options
context:
space:
mode:
authorJohn Bowler <jbowler@nslu2-linux.org>2005-09-08 18:08:45 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-09-08 18:08:45 +0000
commitfbe4ea88ca8ace2dbd766905c38a34d6e78c9704 (patch)
treeb78db23a02de2794eed3715164b14348f032bafe /packages/uclibc/uclibc-0.9.28/thumb-defined-arm-or-thumb.patch
parent4bc4d1b947d2f371f236356da6a3bdc373d1f08e (diff)
uclibc: put ARM thumb patches from 0.9.27 into 0.9.28
Some of the thumb patches had already been pushed into the uclibc release, this commit adds corrected/updated versions of most of the ones which had not been accepted. The controversial 'change the ldso symbol resolver' patch is not in this set - it will be re-worked to match the changes being made in binutils for the same problem.
Diffstat (limited to 'packages/uclibc/uclibc-0.9.28/thumb-defined-arm-or-thumb.patch')
-rw-r--r--packages/uclibc/uclibc-0.9.28/thumb-defined-arm-or-thumb.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/packages/uclibc/uclibc-0.9.28/thumb-defined-arm-or-thumb.patch b/packages/uclibc/uclibc-0.9.28/thumb-defined-arm-or-thumb.patch
new file mode 100644
index 0000000000..502c8db86f
--- /dev/null
+++ b/packages/uclibc/uclibc-0.9.28/thumb-defined-arm-or-thumb.patch
@@ -0,0 +1,37 @@
+# in various places defined(__arm__) is used to protect/select code which
+# is ARM specific, that code must also be selected for __thumb__ because
+# __thumb__ is an ARM but __arm__ is not set...
+#
+--- ./ldso/include/dl-string.h.orig 2005-09-07 14:09:19.375564254 -0700
++++ ./ldso/include/dl-string.h 2005-09-07 14:09:52.045620051 -0700
+@@ -270,7 +270,7 @@
+
+ /* On some arches constant strings are referenced through the GOT.
+ * This requires that load_addr must already be defined... */
+-#if defined(mc68000) || defined(__arm__) || defined(__mips__) \
++#if defined(mc68000) || defined(__arm__) || defined(__thumb__) || defined(__mips__) \
+ || defined(__sh__) || defined(__powerpc__)
+ # define CONSTANT_STRING_GOT_FIXUP(X) \
+ if ((X) < (const char *) load_addr) (X) += load_addr
+--- ./libc/sysdeps/linux/common/create_module.c.orig 2005-09-07 14:09:55.597843578 -0700
++++ ./libc/sysdeps/linux/common/create_module.c 2005-09-07 14:10:11.650853730 -0700
+@@ -31,7 +31,7 @@
+
+ #ifdef __NR_create_module
+
+-#if defined(__i386__) || defined(__m68k__) || defined(__arm__) || defined(__cris__) || defined(__i960__)
++#if defined(__i386__) || defined(__m68k__) || defined(__arm__) || defined(__thumb__) || defined(__cris__) || defined(__i960__)
+ #define __NR___create_module __NR_create_module
+ #ifdef __STR_NR_create_module
+ #define __STR_NR___create_module __STR_NR_create_module
+--- ./utils/ldd.c.orig 2005-09-07 14:10:32.368157388 -0700
++++ ./utils/ldd.c 2005-09-07 14:11:23.735389724 -0700
+@@ -51,7 +51,7 @@
+ #include <dmalloc.h>
+ #endif
+
+-#if defined(__arm__)
++#if defined(__arm__) || defined(__thumb__)
+ #define MATCH_MACHINE(x) (x == EM_ARM)
+ #define ELFCLASSM ELFCLASS32
+ #endif