summaryrefslogtreecommitdiff
path: root/packages/uclibc/uclibc-0.9.27/thumb-ldso-dlboot.patch
diff options
context:
space:
mode:
authorMichael Lauer <mickey@vanille-media.de>2005-08-14 16:40:05 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-08-14 16:40:05 +0000
commitef4409bc8d3c40b3ba39d2fe4c91e68785bbd419 (patch)
treefa9776f473f438140f6ea852e0d12967624a7beb /packages/uclibc/uclibc-0.9.27/thumb-ldso-dlboot.patch
parent1e9f32efa15fcc6649119f0c4c398b3405f6b9c0 (diff)
parentf3ead211477be5319bbb8cb5a983e6ec68dd2a23 (diff)
merge of 38a9824230c1f33aa1b69405d1a6074d1df99753
and d83e77353ac4cf240e630aa66aa54eb794547a60
Diffstat (limited to 'packages/uclibc/uclibc-0.9.27/thumb-ldso-dlboot.patch')
-rw-r--r--packages/uclibc/uclibc-0.9.27/thumb-ldso-dlboot.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/packages/uclibc/uclibc-0.9.27/thumb-ldso-dlboot.patch b/packages/uclibc/uclibc-0.9.27/thumb-ldso-dlboot.patch
new file mode 100644
index 0000000000..9d3cb6bbab
--- /dev/null
+++ b/packages/uclibc/uclibc-0.9.27/thumb-ldso-dlboot.patch
@@ -0,0 +1,21 @@
+--- /home/work-tmp/jbowler/nslu2/ucslugc.0807/work/uclibc-0.9.27-r5/uClibc-0.9.27/ldso/ldso/arm/dl-startup.h 2005-01-11 23:59:21.000000000 -0800
++++ uClibc-0.9.27/ldso/ldso/arm/dl-startup.h 2005-08-11 23:40:01.393797745 -0700
+@@ -7,6 +7,9 @@
+
+ /* Overrive the default _dl_boot function, and replace it with a bit of asm.
+ * Then call the real _dl_boot function, which is now named _dl_boot2. */
++/*NOTE: the 'bx' instruction at the end replaces mov pc, r6 - which is not
++ * compatible with thumb interworking. The instruction should be supported
++ * on all modern ARM architectures (because they all support thumb). */
+ asm("" \
+ " .text\n" \
+ " .globl _dl_boot\n" \
+@@ -17,7 +20,7 @@
+ " bl _dl_boot2\n" \
+ " mov r6, r0\n" \
+ " mov r0, r7\n" \
+-" mov pc, r6\n" \
++" bx r6\n" \
+ );
+
+ #define DL_BOOT(X) static __attribute_used__ void* _dl_boot2 (X)