summaryrefslogtreecommitdiff
path: root/packages/glibc/glibc-2.2.5/initfini-sh.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/glibc/glibc-2.2.5/initfini-sh.patch')
-rw-r--r--packages/glibc/glibc-2.2.5/initfini-sh.patch248
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\
+ ");