diff options
Diffstat (limited to 'recipes/glibc/glibc-2.4/glibc-crunch-eabi-setjmp_longjmp.patch')
-rw-r--r-- | recipes/glibc/glibc-2.4/glibc-crunch-eabi-setjmp_longjmp.patch | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/recipes/glibc/glibc-2.4/glibc-crunch-eabi-setjmp_longjmp.patch b/recipes/glibc/glibc-2.4/glibc-crunch-eabi-setjmp_longjmp.patch deleted file mode 100644 index cf4ed6060b..0000000000 --- a/recipes/glibc/glibc-2.4/glibc-crunch-eabi-setjmp_longjmp.patch +++ /dev/null @@ -1,112 +0,0 @@ ---- glibc-2.5/ports/sysdeps/arm/eabi/setjmp.S 2006-09-22 04:39:51.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/eabi/setjmp.S 2007-05-24 13:31:20.000000000 +1000 -@@ -74,6 +74,34 @@ - stcl p1, cr15, [r12], #8 - Lno_iwmmxt: - -+ tst a3, #HWCAP_ARM_CRUNCH -+ beq Lno_crunch -+ -+ /* Save the call-preserved crunch registers. */ -+ /* Following instructions are cfstrd cr10, [ip], #8 (etc.) */ -+ /* stcl p4, cr4, [r12], #8 */ -+ /* stcl p4, cr5, [r12], #8 */ -+ /* stcl p4, cr6, [r12], #8 */ -+ /* stcl p4, cr7, [r12], #8 */ -+ stcl p4, cr8, [r12], #8 -+ stcl p4, cr9, [r12], #8 -+ stcl p4, cr10, [r12], #8 -+ stcl p4, cr11, [r12], #8 -+ stcl p4, cr12, [r12], #8 -+ stcl p4, cr13, [r12], #8 -+ stcl p4, cr14, [r12], #8 -+ stcl p4, cr15, [r12], #8 -+ /* Store the floating-point status register. -+ /* Following 6 instructions are FPU_CRUNCH_GETCW (r2) clob (r3, r4) */ -+ /* mrc p5, 0, r3, cr0, cr0, 0 */ -+ /* mrc p5, 0, r4, cr0, cr0, 1 */ -+ /* cdp p4, 0, cr0, cr0, cr0, 7 */ -+ /* mrc p5, 0, r2, cr0, cr0, 0 */ -+ /* mcr p5, 0, r3, cr0, cr0, 0 */ -+ /* mcr p5, 0, r4, cr0, cr0, 1 */ -+ /* str r2, [ip], #4 */ -+Lno_crunch: -+ - /* Make a tail call to __sigjmp_save; it takes the same args. */ - B PLTJMP(C_SYMBOL_NAME(__sigjmp_save)) - ---- glibc-2.5/ports/sysdeps/arm/eabi/__longjmp.S 2006-09-22 04:39:51.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/eabi/__longjmp.S 2007-05-24 13:31:23.000000000 +1000 -@@ -76,6 +76,34 @@ - ldcl p1, cr15, [r12], #8 - Lno_iwmmxt: - -+ tst a2, #HWCAP_ARM_CRUNCH -+ beq Lno_crunch -+ -+ /* Restore the call-preserved crunch registers. */ -+ /* Following instructions are cfldrd cr10, [ip], #8 (etc.) */ -+ /* ldcl p4, cr4, [r12], #8 */ -+ /* ldcl p4, cr5, [r12], #8 */ -+ /* ldcl p4, cr6, [r12], #8 */ -+ /* ldcl p4, cr7, [r12], #8 */ -+ ldcl p4, cr8, [r12], #8 -+ ldcl p4, cr9, [r12], #8 -+ ldcl p4, cr10, [r12], #8 -+ ldcl p4, cr11, [r12], #8 -+ ldcl p4, cr12, [r12], #8 -+ ldcl p4, cr13, [r12], #8 -+ ldcl p4, cr14, [r12], #8 -+ ldcl p4, cr15, [r12], #8 -+ /* Restore the floating-point status register. */ -+ ldr r1, [ip], #4 -+ /* Following 6 instructions are FPU_CRUNCH_SETCW (r1) clob (r2, r3). */ -+ /* mrc p5, 0, r2, cr0, cr0, 0 */ -+ /* mrc p5, 0, r3, cr0, cr0, 1 */ -+ /* mcr p5, 0, r1, cr0, cr0, 0 */ -+ /* cdp p4, 1, cr0, cr0, cr0, 7 */ -+ /* mcr p5, 0, r2, cr0, cr0, 0 */ -+ /* mcr p5, 0, r3, cr0, cr0, 1 */ -+Lno_crunch: -+ - DO_RET(lr) - - #ifdef IS_IN_rtld ---- glibc-2.5/ports/sysdeps/unix/sysv/linux/arm/sysdep.h 2006-09-22 04:39:51.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/unix/sysv/linux/arm/sysdep.h 2007-05-24 12:59:03.000000000 +1000 -@@ -48,6 +48,7 @@ - #define HWCAP_ARM_EDSP 128 - #define HWCAP_ARM_JAVA 256 - #define HWCAP_ARM_IWMMXT 512 -+#define HWCAP_ARM_CRUNCH 1024 - - #ifdef __ASSEMBLER__ - ---- glibc-2.5/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.c 2007-07-02 13:20:36.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.c 2007-07-02 13:23:19.000000000 +1000 -@@ -47,12 +47,12 @@ - #if !defined PROCINFO_DECL && defined SHARED - ._dl_arm_cap_flags - #else --PROCINFO_CLASS const char _dl_arm_cap_flags[10][10] -+PROCINFO_CLASS const char _dl_arm_cap_flags[11][10] - #endif - #ifndef PROCINFO_DECL - = { - "swp", "half", "thumb", "26bit", "fast-mult", "fpa", "vfp", "edsp", -- "java", "iwmmxt", -+ "java", "iwmmxt", "crunch", - } - #endif - #if !defined SHARED || defined PROCINFO_DECL ---- glibc-2.5/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h 2007-07-02 13:25:23.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h 2007-07-02 13:25:38.000000000 +1000 -@@ -24,7 +24,7 @@ - #include <ldsodefs.h> - #include <sysdep.h> - --#define _DL_HWCAP_COUNT 10 -+#define _DL_HWCAP_COUNT 11 - - /* The kernel provides platform data but it is not interesting. */ - #define _DL_HWCAP_PLATFORM 0 |