diff options
author | Andreas Jaeger <aj@suse.de> | 2001-04-30 06:48:37 +0000 |
---|---|---|
committer | Andreas Jaeger <aj@suse.de> | 2001-04-30 06:48:37 +0000 |
commit | ba77ce24a66677bcf88cff3dcf3d38e7fd06a616 (patch) | |
tree | a7c0d361a2a0f6dc76d28c61f9f8b2d29c9919d9 /sysdeps/sparc/sparc64/dl-machine.h | |
parent | 354fa0497fcfe7c21942cd10fa8ccd87ed266b24 (diff) | |
download | glibc-ba77ce24a66677bcf88cff3dcf3d38e7fd06a616.tar glibc-ba77ce24a66677bcf88cff3dcf3d38e7fd06a616.tar.gz glibc-ba77ce24a66677bcf88cff3dcf3d38e7fd06a616.tar.bz2 glibc-ba77ce24a66677bcf88cff3dcf3d38e7fd06a616.zip |
Update.
2001-04-29 Ben Collins <bcollins@debian.org>
* sysdeps/sparc/sparc64/dl-machine.h: Fix multiline strings
warnings.
* sysdeps/sparc/sparc64/soft-fp/qp_add.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/qp_cmp.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/qp_div.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/qp_feq.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/qp_fge.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/qp_fgt.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/qp_fle.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/qp_flt.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/qp_fne.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/qp_mul.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/qp_qtod.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/qp_qtos.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/qp_qtox.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/qp_qtox.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/qp_stoq.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/qp_sub.c: Likewise.
* sysdeps/sparc/sparc64/soft-fp/sfp-machine.h: Likewise.
Diffstat (limited to 'sysdeps/sparc/sparc64/dl-machine.h')
-rw-r--r-- | sysdeps/sparc/sparc64/dl-machine.h | 276 |
1 files changed, 138 insertions, 138 deletions
diff --git a/sysdeps/sparc/sparc64/dl-machine.h b/sysdeps/sparc/sparc64/dl-machine.h index c420bbdf86..06e0e4dd97 100644 --- a/sysdeps/sparc/sparc64/dl-machine.h +++ b/sysdeps/sparc/sparc64/dl-machine.h @@ -481,53 +481,53 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile) /* This code is used in dl-runtime.c to call the `fixup' function and then redirect to the address it returns. */ #define TRAMPOLINE_TEMPLATE(tramp_name, fixup_name) \ - asm ("\ - .text - .globl " #tramp_name "_0 - .type " #tramp_name "_0, @function - .align 32 -" #tramp_name "_0: - ! sethi %hi(1047552), %l2 - Done in .PLT0 - ldx [%l6 + 32 + 8], %o0 - sub %g1, %l6, %l0 - xor %l2, -1016, %l2 - sethi %hi(5120), %l3 ! 160 * 32 - add %l0, %l2, %l0 - sethi %hi(32768), %l4 - udivx %l0, %l3, %l3 - sllx %l3, 2, %l1 - add %l1, %l3, %l1 - sllx %l1, 10, %l2 - sub %l4, 4, %l4 ! No thanks to Sun for not obeying their own ABI - sllx %l1, 5, %l1 - sub %l0, %l2, %l0 - udivx %l0, 24, %l0 - add %l0, %l4, %l0 - add %l1, %l0, %l1 - add %l1, %l1, %l0 - add %l0, %l1, %l0 - mov %i7, %o2 - call " #fixup_name " - sllx %l0, 3, %o1 - jmp %o0 - restore - .size " #tramp_name "_0, . - " #tramp_name "_0 - - .globl " #tramp_name "_1 - .type " #tramp_name "_1, @function - .align 32 -" #tramp_name "_1: - ! srlx %g1, 12, %o1 - Done in .PLT1 - ldx [%l6 + 8], %o0 - add %o1, %o1, %o3 - sub %o1, 96, %o1 ! No thanks to Sun for not obeying their own ABI - mov %i7, %o2 - call " #fixup_name " - add %o1, %o3, %o1 - jmp %o0 - restore - .size " #tramp_name "_1, . - " #tramp_name "_1 - .previous"); + asm ("\n" \ +" .text\n" \ +" .globl " #tramp_name "_0\n" \ +" .type " #tramp_name "_0, @function\n" \ +" .align 32\n" \ +"\t" #tramp_name "_0:\n" \ +" ! sethi %hi(1047552), %l2 - Done in .PLT0\n" \ +" ldx [%l6 + 32 + 8], %o0\n" \ +" sub %g1, %l6, %l0\n" \ +" xor %l2, -1016, %l2\n" \ +" sethi %hi(5120), %l3 ! 160 * 32\n" \ +" add %l0, %l2, %l0\n" \ +" sethi %hi(32768), %l4\n" \ +" udivx %l0, %l3, %l3\n" \ +" sllx %l3, 2, %l1\n" \ +" add %l1, %l3, %l1\n" \ +" sllx %l1, 10, %l2\n" \ +" sub %l4, 4, %l4 ! No thanks to Sun for not obeying their own ABI\n" \ +" sllx %l1, 5, %l1\n" \ +" sub %l0, %l2, %l0\n" \ +" udivx %l0, 24, %l0\n" \ +" add %l0, %l4, %l0\n" \ +" add %l1, %l0, %l1\n" \ +" add %l1, %l1, %l0\n" \ +" add %l0, %l1, %l0\n" \ +" mov %i7, %o2\n" \ +" call " #fixup_name "\n" \ +" sllx %l0, 3, %o1\n" \ +" jmp %o0\n" \ +" restore\n" \ +" .size " #tramp_name "_0, . - " #tramp_name "_0\n" \ +"\n" \ +" .globl " #tramp_name "_1\n" \ +" .type " #tramp_name "_1, @function\n" \ +" .align 32\n" \ +"\t" #tramp_name "_1:\n" \ +" ! srlx %g1, 12, %o1 - Done in .PLT1\n" \ +" ldx [%l6 + 8], %o0\n" \ +" add %o1, %o1, %o3\n" \ +" sub %o1, 96, %o1 ! No thanks to Sun for not obeying their own ABI\n" \ +" mov %i7, %o2\n" \ +" call " #fixup_name "\n" \ +" add %o1, %o3, %o1\n" \ +" jmp %o0\n" \ +" restore\n" \ +" .size " #tramp_name "_1, . - " #tramp_name "_1\n" \ +" .previous\n"); #ifndef PROF #define ELF_MACHINE_RUNTIME_TRAMPOLINE \ @@ -549,94 +549,94 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile) #define __S1(x) #x #define __S(x) __S1(x) -#define RTLD_START __asm__ ( "\ - .text - .global _start - .type _start, @function - .align 32 -_start: - /* Make room for functions to drop their arguments on the stack. */ - sub %sp, 6*8, %sp - /* Pass pointer to argument block to _dl_start. */ - call _dl_start - add %sp," __S(STACK_BIAS) "+22*8,%o0 - /* FALLTHRU */ - .size _start, .-_start - - .global _dl_start_user - .type _dl_start_user, @function -_dl_start_user: - /* Load the GOT register. */ -1: call 11f - sethi %hi(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7 -11: or %l7, %lo(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7 - /* Store the highest stack address. */ - sethi %hi(__libc_stack_end), %g5 - add %l7, %o7, %l7 - or %g5, %lo(__libc_stack_end), %g5 - /* Save the user entry point address in %l0. */ - mov %o0, %l0 - ldx [%l7 + %g5], %l1 - sethi %hi(_dl_skip_args), %g5 - add %sp, 6*8, %l2 - /* See if we were run as a command with the executable file name as an - extra leading argument. If so, we must shift things around since we - must keep the stack doubleword aligned. */ - or %g5, %lo(_dl_skip_args), %g5 - stx %l2, [%l1] - ldx [%l7 + %g5], %i0 - ld [%i0], %i0 - brz,pt %i0, 2f - ldx [%sp + " __S(STACK_BIAS) " + 22*8], %i5 - /* Find out how far to shift. */ - sethi %hi(_dl_argv), %l4 - sub %i5, %i0, %i5 - or %l4, %lo(_dl_argv), %l4 - sllx %i0, 3, %l6 - ldx [%l7 + %l4], %l4 - stx %i5, [%sp + " __S(STACK_BIAS) " + 22*8] - add %sp, " __S(STACK_BIAS) " + 23*8, %i1 - add %i1, %l6, %i2 - ldx [%l4], %l5 - /* Copy down argv. */ -12: ldx [%i2], %i3 - add %i2, 8, %i2 - stx %i3, [%i1] - brnz,pt %i3, 12b - add %i1, 8, %i1 - sub %l5, %l6, %l5 - /* Copy down envp. */ -13: ldx [%i2], %i3 - add %i2, 8, %i2 - stx %i3, [%i1] - brnz,pt %i3, 13b - add %i1, 8, %i1 - /* Copy down auxiliary table. */ -14: ldx [%i2], %i3 - ldx [%i2 + 8], %i4 - add %i2, 16, %i2 - stx %i3, [%i1] - stx %i4, [%i1 + 8] - brnz,pt %i3, 14b - add %i1, 16, %i1 - stx %l5, [%l4] - /* %o0 = _dl_loaded, %o1 = argc, %o2 = argv, %o3 = envp. */ -2: sethi %hi(_dl_loaded), %o0 - add %sp, " __S(STACK_BIAS) " + 23*8, %o2 - orcc %o0, %lo(_dl_loaded), %o0 - sllx %i5, 3, %o3 - ldx [%l7 + %o0], %o0 - add %o3, 8, %o3 - mov %i5, %o1 - add %o2, %o3, %o3 - call _dl_init - ldx [%o0], %o0 - /* Pass our finalizer function to the user in %g1. */ - sethi %hi(_dl_fini), %g1 - or %g1, %lo(_dl_fini), %g1 - ldx [%l7 + %g1], %g1 - /* Jump to the user's entry point and deallocate the extra stack we got. */ - jmp %l0 - add %sp, 6*8, %sp - .size _dl_start_user, . - _dl_start_user - .previous"); +#define RTLD_START __asm__ ( "\n" \ +" .text\n" \ +" .global _start\n" \ +" .type _start, @function\n" \ +" .align 32\n" \ +"_start:\n" \ +" /* Make room for functions to drop their arguments on the stack. */\n" \ +" sub %sp, 6*8, %sp\n" \ +" /* Pass pointer to argument block to _dl_start. */\n" \ +" call _dl_start\n" \ +" add %sp," __S(STACK_BIAS) "+22*8,%o0\n" \ +" /* FALLTHRU */\n" \ +" .size _start, .-_start\n" \ +"\n" \ +" .global _dl_start_user\n" \ +" .type _dl_start_user, @function\n" \ +"_dl_start_user:\n" \ +" /* Load the GOT register. */\n" \ +"1: call 11f\n" \ +" sethi %hi(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7\n" \ +"11: or %l7, %lo(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7\n" \ +" /* Store the highest stack address. */\n" \ +" sethi %hi(__libc_stack_end), %g5\n" \ +" add %l7, %o7, %l7\n" \ +" or %g5, %lo(__libc_stack_end), %g5\n" \ +" /* Save the user entry point address in %l0. */\n" \ +" mov %o0, %l0\n" \ +" ldx [%l7 + %g5], %l1\n" \ +" sethi %hi(_dl_skip_args), %g5\n" \ +" add %sp, 6*8, %l2\n" \ +" /* See if we were run as a command with the executable file name as an\n" \ +" extra leading argument. If so, we must shift things around since we\n" \ +" must keep the stack doubleword aligned. */\n" \ +" or %g5, %lo(_dl_skip_args), %g5\n" \ +" stx %l2, [%l1]\n" \ +" ldx [%l7 + %g5], %i0\n" \ +" ld [%i0], %i0\n" \ +" brz,pt %i0, 2f\n" \ +" ldx [%sp + " __S(STACK_BIAS) " + 22*8], %i5\n" \ +" /* Find out how far to shift. */\n" \ +" sethi %hi(_dl_argv), %l4\n" \ +" sub %i5, %i0, %i5\n" \ +" or %l4, %lo(_dl_argv), %l4\n" \ +" sllx %i0, 3, %l6\n" \ +" ldx [%l7 + %l4], %l4\n" \ +" stx %i5, [%sp + " __S(STACK_BIAS) " + 22*8]\n" \ +" add %sp, " __S(STACK_BIAS) " + 23*8, %i1\n" \ +" add %i1, %l6, %i2\n" \ +" ldx [%l4], %l5\n" \ +" /* Copy down argv. */\n" \ +"12: ldx [%i2], %i3\n" \ +" add %i2, 8, %i2\n" \ +" stx %i3, [%i1]\n" \ +" brnz,pt %i3, 12b\n" \ +" add %i1, 8, %i1\n" \ +" sub %l5, %l6, %l5\n" \ +" /* Copy down envp. */\n" \ +"13: ldx [%i2], %i3\n" \ +" add %i2, 8, %i2\n" \ +" stx %i3, [%i1]\n" \ +" brnz,pt %i3, 13b\n" \ +" add %i1, 8, %i1\n" \ +" /* Copy down auxiliary table. */\n" \ +"14: ldx [%i2], %i3\n" \ +" ldx [%i2 + 8], %i4\n" \ +" add %i2, 16, %i2\n" \ +" stx %i3, [%i1]\n" \ +" stx %i4, [%i1 + 8]\n" \ +" brnz,pt %i3, 14b\n" \ +" add %i1, 16, %i1\n" \ +" stx %l5, [%l4]\n" \ +" /* %o0 = _dl_loaded, %o1 = argc, %o2 = argv, %o3 = envp. */\n" \ +"2: sethi %hi(_dl_loaded), %o0\n" \ +" add %sp, " __S(STACK_BIAS) " + 23*8, %o2\n" \ +" orcc %o0, %lo(_dl_loaded), %o0\n" \ +" sllx %i5, 3, %o3\n" \ +" ldx [%l7 + %o0], %o0\n" \ +" add %o3, 8, %o3\n" \ +" mov %i5, %o1\n" \ +" add %o2, %o3, %o3\n" \ +" call _dl_init\n" \ +" ldx [%o0], %o0\n" \ +" /* Pass our finalizer function to the user in %g1. */\n" \ +" sethi %hi(_dl_fini), %g1\n" \ +" or %g1, %lo(_dl_fini), %g1\n" \ +" ldx [%l7 + %g1], %g1\n" \ +" /* Jump to the user's entry point and deallocate the extra stack we got. */\n" \ +" jmp %l0\n" \ +" add %sp, 6*8, %sp\n" \ +" .size _dl_start_user, . - _dl_start_user\n" \ +" .previous\n"); |