about summary refs log tree commit diff
path: root/sysdeps/arm/dl-machine.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-08-28 21:32:56 +0000
committerUlrich Drepper <drepper@redhat.com>2002-08-28 21:32:56 +0000
commit669ed638144a784bd7fdea2e922ddf5e85a6b2bc (patch)
tree8010af69c272d12d3f96342e34533777a47b2bd6 /sysdeps/arm/dl-machine.h
parent7f86dfcce9d628c757cf9ea7787d546fb953b2cc (diff)
downloadglibc-669ed638144a784bd7fdea2e922ddf5e85a6b2bc.tar.gz
glibc-669ed638144a784bd7fdea2e922ddf5e85a6b2bc.tar.xz
glibc-669ed638144a784bd7fdea2e922ddf5e85a6b2bc.zip
Update.
2002-08-28  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/s390/s390-64/dl-machine.h: Avoid unescaped newlines in
	string constants.
	* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
	* sysdeps/arm/dl-machine.h: Likewise.
	* sysdeps/cris/dl-machine.h: Likewise.
	* sysdeps/unix/sysv/linux/m68k/register-dump.h: Likewise.
	* sysdeps/unix/sysv/aix/gettimeofday.c: Likewise.
Diffstat (limited to 'sysdeps/arm/dl-machine.h')
-rw-r--r--sysdeps/arm/dl-machine.h355
1 files changed, 178 insertions, 177 deletions
diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h
index aeee1d7892..9905d15001 100644
--- a/sysdeps/arm/dl-machine.h
+++ b/sysdeps/arm/dl-machine.h
@@ -126,14 +126,15 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
    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
@@ -141,114 +142,114 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
 
 #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
 
@@ -261,70 +262,70 @@ _dl_runtime_profile:
    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_internal(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:
-	.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	_rtld_local(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_internal(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:\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	_rtld_local(GOT)\n\
 .previous\n\
 ");