diff options
Diffstat (limited to 'packages/glibc/glibc-2.2.5/initfini-sh.patch')
-rw-r--r-- | packages/glibc/glibc-2.2.5/initfini-sh.patch | 248 |
1 files changed, 248 insertions, 0 deletions
diff --git a/packages/glibc/glibc-2.2.5/initfini-sh.patch b/packages/glibc/glibc-2.2.5/initfini-sh.patch index e69de29bb2..2566cd933a 100644 --- a/packages/glibc/glibc-2.2.5/initfini-sh.patch +++ b/packages/glibc/glibc-2.2.5/initfini-sh.patch @@ -0,0 +1,248 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/sh/elf/initfini.c~initfini-sh.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/sh/elf/initfini.c 2004-09-03 19:00:39.000000000 -0500 +@@ -27,122 +27,122 @@ + * crtn.s puts the corresponding function epilogues + in the .init and .fini sections. */ + +-__asm__ (" +- +-#include \"defs.h\" +-#define SHARED +- +-/*@HEADER_ENDS*/ +- +-/*@TESTS_BEGIN*/ +- +-/*@TESTS_END*/ +- +-/*@_init_PROLOG_BEGINS*/ +- .section .init +- .align 5 +- .global _init +- .type _init,@function +-_init: +- mov.l r12,@-r15 +- mov.l r14,@-r15 +- sts.l pr,@-r15 +-#ifdef SHARED +- mova .L22,r0 +- mov.l .L22,r12 +- add r0,r12 +- mova .L23,r0 +- mov.l .L23,r1 +- add r0,r1 +-#else +- mov.l .L23,r1 +-#endif +- jsr @r1 +- mov r15,r14 +- bra 1f +- nop +- .align 2 +-#ifdef SHARED +-.L22: +- .long _GLOBAL_OFFSET_TABLE_ +-.L23: +- .long __gmon_start__@PLT +-#else +-.L23: +- .long __gmon_start__ +-#endif +- .data +- .global __fpscr_values +-__fpscr_values: +- .long 0 +- .long 0x80000 +- .previous +-1: +- ALIGN +- END_INIT +- +- +-/*@_init_PROLOG_ENDS*/ +- +-/*@_init_EPILOG_BEGINS*/ +- .section .init +- mov r14,r15 +- lds.l @r15+,pr +- mov.l @r15+,r14 +- rts +- mov.l @r15+,r12 +- END_INIT +- .section .text +- .align 5 +- .weak __gmon_start__ +- .type __gmon_start__,@function +-__gmon_start__: +- mov.l r14,@-r15 +- mov r15,r14 +- mov r14,r15 +- rts +- mov.l @r15+,r14 +- +-/*@_init_EPILOG_ENDS*/ +- +-/*@_fini_PROLOG_BEGINS*/ +- .section .fini +- .align 5 +- .global _fini +- .type _fini,@function +-_fini: +- mov.l r12,@-r15 +- mov.l r14,@-r15 +- sts.l pr,@-r15 +-#ifdef SHARED +- mova .L27,r0 +- mov.l .L27,r12 +- add r0,r12 +-#endif +- mov r15,r14 +- ALIGN +- END_FINI +-#ifdef SHARED +- bra 1f +- nop +- .align 2 +-.L27: +- .long _GLOBAL_OFFSET_TABLE_ +-#endif +-1: +-/*@_fini_PROLOG_ENDS*/ +- +-/*@_fini_EPILOG_BEGINS*/ +- .section .fini +- mov r14,r15 +- lds.l @r15+,pr +- mov.l @r15+,r14 +- rts +- mov.l @r15+,r12 +- +- END_FINI +- +-/*@_fini_EPILOG_ENDS*/ +- +-/*@TRAILER_BEGINS*/ ++__asm__ ("\n\ ++\n\ ++#include \"defs.h\"\n\ ++#define SHARED\n\ ++\n\ ++/*@HEADER_ENDS*/\n\ ++\n\ ++/*@TESTS_BEGIN*/\n\ ++\n\ ++/*@TESTS_END*/\n\ ++\n\ ++/*@_init_PROLOG_BEGINS*/\n\ ++ .section .init\n\ ++ .align 5\n\ ++ .global _init\n\ ++ .type _init,@function\n\ ++_init:\n\ ++ mov.l r12,@-r15\n\ ++ mov.l r14,@-r15\n\ ++ sts.l pr,@-r15\n\ ++#ifdef SHARED\n\ ++ mova .L22,r0\n\ ++ mov.l .L22,r12\n\ ++ add r0,r12\n\ ++ mova .L23,r0\n\ ++ mov.l .L23,r1\n\ ++ add r0,r1\n\ ++#else\n\ ++ mov.l .L23,r1\n\ ++#endif\n\ ++ jsr @r1\n\ ++ mov r15,r14\n\ ++ bra 1f\n\ ++ nop\n\ ++ .align 2\n\ ++#ifdef SHARED\n\ ++.L22:\n\ ++ .long _GLOBAL_OFFSET_TABLE_\n\ ++.L23:\n\ ++ .long __gmon_start__@PLT\n\ ++#else\n\ ++.L23:\n\ ++ .long __gmon_start__\n\ ++#endif\n\ ++ .data\n\ ++ .global __fpscr_values\n\ ++__fpscr_values:\n\ ++ .long 0\n\ ++ .long 0x80000\n\ ++ .previous\n\ ++1:\n\ ++ ALIGN\n\ ++ END_INIT\n\ ++\n\ ++ \n\ ++/*@_init_PROLOG_ENDS*/\n\ ++\n\ ++/*@_init_EPILOG_BEGINS*/\n\ ++ .section .init\n\ ++ mov r14,r15\n\ ++ lds.l @r15+,pr\n\ ++ mov.l @r15+,r14\n\ ++ rts \n\ ++ mov.l @r15+,r12\n\ ++ END_INIT\n\ ++ .section .text\n\ ++ .align 5\n\ ++ .weak __gmon_start__\n\ ++ .type __gmon_start__,@function\n\ ++__gmon_start__:\n\ ++ mov.l r14,@-r15\n\ ++ mov r15,r14\n\ ++ mov r14,r15\n\ ++ rts \n\ ++ mov.l @r15+,r14\n\ ++ \n\ ++/*@_init_EPILOG_ENDS*/\n\ ++\n\ ++/*@_fini_PROLOG_BEGINS*/\n\ ++ .section .fini\n\ ++ .align 5\n\ ++ .global _fini\n\ ++ .type _fini,@function\n\ ++_fini:\n\ ++ mov.l r12,@-r15\n\ ++ mov.l r14,@-r15\n\ ++ sts.l pr,@-r15\n\ ++#ifdef SHARED\n\ ++ mova .L27,r0\n\ ++ mov.l .L27,r12\n\ ++ add r0,r12\n\ ++#endif\n\ ++ mov r15,r14\n\ ++ ALIGN\n\ ++ END_FINI\n\ ++#ifdef SHARED\n\ ++ bra 1f\n\ ++ nop\n\ ++ .align 2\n\ ++.L27:\n\ ++ .long _GLOBAL_OFFSET_TABLE_\n\ ++#endif\n\ ++1:\n\ ++/*@_fini_PROLOG_ENDS*/\n\ ++\n\ ++/*@_fini_EPILOG_BEGINS*/\n\ ++ .section .fini\n\ ++ mov r14,r15\n\ ++ lds.l @r15+,pr\n\ ++ mov.l @r15+,r14\n\ ++ rts \n\ ++ mov.l @r15+,r12\n\ ++\n\ ++ END_FINI\n\ ++ \n\ ++/*@_fini_EPILOG_ENDS*/\n\ ++\n\ ++/*@TRAILER_BEGINS*/\n\ + "); |