]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/uclibc/uclibc-0.9.27/thumb-ldso-dlboot.patch
OE tree imported from monotone branch org.openembedded.oz354fam083 at revision 8b12e3...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / uclibc / uclibc-0.9.27 / thumb-ldso-dlboot.patch
1 --- /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
2 +++ uClibc-0.9.27/ldso/ldso/arm/dl-startup.h    2005-08-11 23:40:01.393797745 -0700
3 @@ -7,6 +7,9 @@
4  
5  /* Overrive the default _dl_boot function, and replace it with a bit of asm.
6   * Then call the real _dl_boot function, which is now named _dl_boot2. */
7 +/*NOTE: the 'bx' instruction at the end replaces mov pc, r6 - which is not
8 + * compatible with thumb interworking.  The instruction should be supported
9 + * on all modern ARM architectures (because they all support thumb). */
10  asm(""                                         \
11  "      .text\n"                                \
12  "      .globl  _dl_boot\n"             \
13 @@ -17,7 +20,7 @@
14  "      bl      _dl_boot2\n"            \
15  "      mov     r6, r0\n"                       \
16  "      mov     r0, r7\n"                       \
17 -"      mov     pc, r6\n"                       \
18 +"      bx      r6\n"                   \
19  );
20  
21  #define DL_BOOT(X)   static __attribute_used__ void* _dl_boot2 (X)