diff options
author | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
---|---|---|
committer | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
commit | 709c4d66e0b107ca606941b988bad717c0b45d9b (patch) | |
tree | 37ee08b1eb308f3b2b6426d5793545c38396b838 /packages/glibc/glibc-2.2.5/dl-machine-arm.patch | |
parent | fa6cd5a3b993f16c27de4ff82b42684516d433ba (diff) |
rename packages/ to recipes/ per earlier agreement
See links below for more details:
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816
Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Acked-by: Mike Westerhof <mwester@dls.net>
Acked-by: Philip Balister <philip@balister.org>
Acked-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Marcin Juszkiewicz <hrw@openembedded.org>
Acked-by: Koen Kooi <koen@openembedded.org>
Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'packages/glibc/glibc-2.2.5/dl-machine-arm.patch')
-rw-r--r-- | packages/glibc/glibc-2.2.5/dl-machine-arm.patch | 383 |
1 files changed, 0 insertions, 383 deletions
diff --git a/packages/glibc/glibc-2.2.5/dl-machine-arm.patch b/packages/glibc/glibc-2.2.5/dl-machine-arm.patch deleted file mode 100644 index 7684b43b39..0000000000 --- a/packages/glibc/glibc-2.2.5/dl-machine-arm.patch +++ /dev/null @@ -1,383 +0,0 @@ - -# -# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher -# - ---- glibc-2.2.5/sysdeps/arm/dl-machine.h~dl-machine-arm.patch 2004-09-03 19:00:33.000000000 -0500 -+++ glibc-2.2.5/sysdeps/arm/dl-machine.h 2004-09-03 19:00:37.000000000 -0500 -@@ -121,14 +121,15 @@ - and then redirect to the address it returns. */ - // macro for handling PIC situation.... - #ifdef PIC --#define CALL_ROUTINE(x) " ldr sl,0f -- add sl, pc, sl --1: ldr r2, 2f -- mov lr, pc -- add pc, sl, r2 -- b 3f --0: .word _GLOBAL_OFFSET_TABLE_ - 1b - 4 --2: .word " #x "(GOTOFF) -+#define CALL_ROUTINE(x) "\ -+ ldr sl,0f\n\ -+ add sl, pc, sl\n\ -+1: ldr r2, 2f\n\ -+ mov lr, pc\n\ -+ add pc, sl, r2\n\ -+ b 3f\n\ -+0: .word _GLOBAL_OFFSET_TABLE_ - 1b - 4\n\ -+2: .word " #x "(GOTOFF)\n\ - 3: " - #else - #define CALL_ROUTINE(x) " bl " #x -@@ -136,114 +137,114 @@ - - #ifndef PROF - # define ELF_MACHINE_RUNTIME_TRAMPOLINE asm ("\ -- .text -- .globl _dl_runtime_resolve -- .type _dl_runtime_resolve, #function -- .align 2 --_dl_runtime_resolve: -- @ we get called with -- @ stack[0] contains the return address from this call -- @ ip contains &GOT[n+3] (pointer to function) -- @ lr points to &GOT[2] -- -- @ save almost everything; lr is already on the stack -- stmdb sp!,{r0-r3,sl,fp} -- -- @ prepare to call fixup() -- @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each -- sub r1, ip, lr -- sub r1, r1, #4 -- add r1, r1, r1 -- -- @ get pointer to linker struct -- ldr r0, [lr, #-4] -- -- @ call fixup routine -- " CALL_ROUTINE(fixup) " -- -- @ save the return -- mov ip, r0 -- -- @ restore the stack -- ldmia sp!,{r0-r3,sl,fp,lr} -- -- @ jump to the newly found address -- mov pc, ip -- -- .size _dl_runtime_resolve, .-_dl_runtime_resolve -- -- .globl _dl_runtime_profile -- .type _dl_runtime_profile, #function -- .align 2 --_dl_runtime_profile: -- @ save almost everything; lr is already on the stack -- stmdb sp!,{r0-r3,sl,fp} -- -- @ prepare to call fixup() -- @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each -- sub r1, ip, lr -- sub r1, r1, #4 -- add r1, r1, r1 -- -- @ get pointer to linker struct -- ldr r0, [lr, #-4] -- -- @ call profiling fixup routine -- " CALL_ROUTINE(profile_fixup) " -- -- @ save the return -- mov ip, r0 -- -- @ restore the stack -- ldmia sp!,{r0-r3,sl,fp,lr} -- -- @ jump to the newly found address -- mov pc, ip -- -- .size _dl_runtime_resolve, .-_dl_runtime_resolve -- .previous -+ .text\n\ -+ .globl _dl_runtime_resolve\n\ -+ .type _dl_runtime_resolve, #function\n\ -+ .align 2\n\ -+_dl_runtime_resolve:\n\ -+ @ we get called with\n\ -+ @ stack[0] contains the return address from this call\n\ -+ @ ip contains &GOT[n+3] (pointer to function)\n\ -+ @ lr points to &GOT[2]\n\ -+\n\ -+ @ save almost everything; lr is already on the stack\n\ -+ stmdb sp!,{r0-r3,sl,fp}\n\ -+\n\ -+ @ prepare to call fixup()\n\ -+ @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each\n\ -+ sub r1, ip, lr\n\ -+ sub r1, r1, #4\n\ -+ add r1, r1, r1\n\ -+\n\ -+ @ get pointer to linker struct\n\ -+ ldr r0, [lr, #-4]\n\ -+\n\ -+ @ call fixup routine\n\ -+ " CALL_ROUTINE(fixup) "\n\ -+\n\ -+ @ save the return\n\ -+ mov ip, r0\n\ -+\n\ -+ @ restore the stack\n\ -+ ldmia sp!,{r0-r3,sl,fp,lr}\n\ -+\n\ -+ @ jump to the newly found address\n\ -+ mov pc, ip\n\ -+\n\ -+ .size _dl_runtime_resolve, .-_dl_runtime_resolve\n\ -+\n\ -+ .globl _dl_runtime_profile\n\ -+ .type _dl_runtime_profile, #function\n\ -+ .align 2\n\ -+_dl_runtime_profile:\n\ -+ @ save almost everything; lr is already on the stack\n\ -+ stmdb sp!,{r0-r3,sl,fp}\n\ -+\n\ -+ @ prepare to call fixup()\n\ -+ @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each\n\ -+ sub r1, ip, lr\n\ -+ sub r1, r1, #4\n\ -+ add r1, r1, r1\n\ -+\n\ -+ @ get pointer to linker struct\n\ -+ ldr r0, [lr, #-4]\n\ -+\n\ -+ @ call profiling fixup routine\n\ -+ " CALL_ROUTINE(profile_fixup) "\n\ -+\n\ -+ @ save the return\n\ -+ mov ip, r0\n\ -+\n\ -+ @ restore the stack\n\ -+ ldmia sp!,{r0-r3,sl,fp,lr}\n\ -+\n\ -+ @ jump to the newly found address\n\ -+ mov pc, ip\n\ -+\n\ -+ .size _dl_runtime_resolve, .-_dl_runtime_resolve\n\ -+ .previous\n\ - "); - #else // PROF - # define ELF_MACHINE_RUNTIME_TRAMPOLINE asm ("\ -- .text -- .globl _dl_runtime_resolve -- .globl _dl_runtime_profile -- .type _dl_runtime_resolve, #function -- .type _dl_runtime_profile, #function -- .align 2 --_dl_runtime_resolve: --_dl_runtime_profile: -- @ we get called with -- @ stack[0] contains the return address from this call -- @ ip contains &GOT[n+3] (pointer to function) -- @ lr points to &GOT[2] -- -- @ save almost everything; return add is already on the stack -- stmdb sp!,{r0-r3,sl,fp} -- -- @ prepare to call fixup() -- @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each -- sub r1, ip, lr -- sub r1, r1, #4 -- add r1, r1, r1 -- -- @ get pointer to linker struct -- ldr r0, [lr, #-4] -- -- @ call profiling fixup routine -- " CALL_ROUTINE(fixup) " -- -- @ save the return -- mov ip, r0 -- -- @ restore the stack -- ldmia sp!,{r0-r3,sl,fp,lr} -- -- @ jump to the newly found address -- mov pc, ip -- -- .size _dl_runtime_profile, .-_dl_runtime_profile -- .previous -+ .text\n\ -+ .globl _dl_runtime_resolve\n\ -+ .globl _dl_runtime_profile\n\ -+ .type _dl_runtime_resolve, #function\n\ -+ .type _dl_runtime_profile, #function\n\ -+ .align 2\n\ -+_dl_runtime_resolve:\n\ -+_dl_runtime_profile:\n\ -+ @ we get called with\n\ -+ @ stack[0] contains the return address from this call\n\ -+ @ ip contains &GOT[n+3] (pointer to function)\n\ -+ @ lr points to &GOT[2]\n\ -+\n\ -+ @ save almost everything; return add is already on the stack\n\ -+ stmdb sp!,{r0-r3,sl,fp}\n\ -+\n\ -+ @ prepare to call fixup()\n\ -+ @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each\n\ -+ sub r1, ip, lr\n\ -+ sub r1, r1, #4\n\ -+ add r1, r1, r1\n\ -+\n\ -+ @ get pointer to linker struct\n\ -+ ldr r0, [lr, #-4]\n\ -+\n\ -+ @ call profiling fixup routine\n\ -+ " CALL_ROUTINE(fixup) "\n\ -+\n\ -+ @ save the return\n\ -+ mov ip, r0\n\ -+\n\ -+ @ restore the stack\n\ -+ ldmia sp!,{r0-r3,sl,fp,lr}\n\ -+\n\ -+ @ jump to the newly found address\n\ -+ mov pc, ip\n\ -+\n\ -+ .size _dl_runtime_profile, .-_dl_runtime_profile\n\ -+ .previous\n\ - "); - #endif //PROF - -@@ -256,70 +257,70 @@ - its return value is the user program's entry point. */ - - #define RTLD_START asm ("\ --.text --.globl _start --.globl _dl_start_user --_start: -- @ at start time, all the args are on the stack -- mov r0, sp -- bl _dl_start -- @ returns user entry point in r0 --_dl_start_user: -- mov r6, r0 -- @ we are PIC code, so get global offset table -- ldr sl, .L_GET_GOT -- add sl, pc, sl --.L_GOT_GOT: -- @ Store the highest stack address -- ldr r1, .L_STACK_END -- ldr r1, [sl, r1] -- str sp, [r1] -- @ See if we were run as a command with the executable file -- @ name as an extra leading argument. -- ldr r4, .L_SKIP_ARGS -- ldr r4, [sl, r4] -- @ get the original arg count -- ldr r1, [sp] -- @ subtract _dl_skip_args from it -- sub r1, r1, r4 -- @ adjust the stack pointer to skip them -- add sp, sp, r4, lsl #2 -- @ get the argv address -- add r2, sp, #4 -- @ store the new argc in the new stack location -- str r1, [sp] -- @ compute envp -- add r3, r2, r1, lsl #2 -- add r3, r3, #4 -- -- @ now we call _dl_init -- ldr r0, .L_LOADED -- ldr r0, [sl, r0] -- ldr r0, [r0] -- @ call _dl_init -- bl _dl_init(PLT) -- @ clear the startup flag -- ldr r2, .L_STARTUP_FLAG -- ldr r1, [sl, r2] -- mov r0, #0 -- str r0, [r1] -- @ load the finalizer function -- ldr r0, .L_FINI_PROC -- ldr r0, [sl, r0] -- @ jump to the user_s entry point -- mov pc, r6 --.L_GET_GOT: -+.text\n\ -+.globl _start\n\ -+.globl _dl_start_user\n\ -+_start:\n\ -+ @ at start time, all the args are on the stack\n\ -+ mov r0, sp\n\ -+ bl _dl_start\n\ -+ @ returns user entry point in r0\n\ -+_dl_start_user:\n\ -+ mov r6, r0\n\ -+ @ we are PIC code, so get global offset table\n\ -+ ldr sl, .L_GET_GOT\n\ -+ add sl, pc, sl\n\ -+.L_GOT_GOT:\n\ -+ @ Store the highest stack address\n\ -+ ldr r1, .L_STACK_END\n\ -+ ldr r1, [sl, r1]\n\ -+ str sp, [r1]\n\ -+ @ See if we were run as a command with the executable file\n\ -+ @ name as an extra leading argument.\n\ -+ ldr r4, .L_SKIP_ARGS\n\ -+ ldr r4, [sl, r4]\n\ -+ @ get the original arg count\n\ -+ ldr r1, [sp]\n\ -+ @ subtract _dl_skip_args from it\n\ -+ sub r1, r1, r4\n\ -+ @ adjust the stack pointer to skip them\n\ -+ add sp, sp, r4, lsl #2\n\ -+ @ get the argv address\n\ -+ add r2, sp, #4\n\ -+ @ store the new argc in the new stack location\n\ -+ str r1, [sp]\n\ -+ @ compute envp\n\ -+ add r3, r2, r1, lsl #2\n\ -+ add r3, r3, #4\n\ -+\n\ -+ @ now we call _dl_init\n\ -+ ldr r0, .L_LOADED\n\ -+ ldr r0, [sl, r0]\n\ -+ ldr r0, [r0]\n\ -+ @ call _dl_init\n\ -+ bl _dl_init(PLT)\n\ -+ @ clear the startup flag\n\ -+ ldr r2, .L_STARTUP_FLAG\n\ -+ ldr r1, [sl, r2]\n\ -+ mov r0, #0\n\ -+ str r0, [r1]\n\ -+ @ load the finalizer function\n\ -+ ldr r0, .L_FINI_PROC\n\ -+ ldr r0, [sl, r0]\n\ -+ @ jump to the user_s entry point\n\ -+ mov pc, r6\n\ -+.L_GET_GOT:\n\ - .word _GLOBAL_OFFSET_TABLE_ - .L_GOT_GOT - 4 \n\ - .L_SKIP_ARGS: \n\ - .word _dl_skip_args(GOTOFF) \n\ --.L_STARTUP_FLAG: -- .word _dl_starting_up(GOT) --.L_FINI_PROC: -- .word _dl_fini(GOT) --.L_STACK_END: -- .word __libc_stack_end(GOT) --.L_LOADED: -- .word _dl_loaded(GOT) -+.L_STARTUP_FLAG:\n\ -+ .word _dl_starting_up(GOT)\n\ -+.L_FINI_PROC:\n\ -+ .word _dl_fini(GOT)\n\ -+.L_STACK_END:\n\ -+ .word __libc_stack_end(GOT)\n\ -+.L_LOADED:\n\ -+ .word _dl_loaded(GOT)\n\ - .previous\n\ - "); - |