summaryrefslogtreecommitdiff
path: root/patches/glibc/2.2.5/dl-machine-alpha.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/glibc/2.2.5/dl-machine-alpha.patch')
-rw-r--r--patches/glibc/2.2.5/dl-machine-alpha.patch424
1 files changed, 0 insertions, 424 deletions
diff --git a/patches/glibc/2.2.5/dl-machine-alpha.patch b/patches/glibc/2.2.5/dl-machine-alpha.patch
deleted file mode 100644
index 50e5bc5..0000000
--- a/patches/glibc/2.2.5/dl-machine-alpha.patch
+++ /dev/null
@@ -1,424 +0,0 @@
-From http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/alpha/dl-machine.h.diff?r1=1.56&r2=1.57&cvsroot=glibc
-(minus first hunk)
-Lets glibc-2.2.5 compile with gcc-3.3
-
-===================================================================
-RCS file: /cvs/glibc/libc/sysdeps/alpha/dl-machine.h,v
-retrieving revision 1.56
-retrieving revision 1.57
-diff -u -r1.56 -r1.57
---- libc/sysdeps/alpha/dl-machine.h 2001/12/12 00:10:27 1.56
-+++ libc/sysdeps/alpha/dl-machine.h 2001/12/31 17:33:59 1.57
-@@ -156,125 +157,126 @@
- #define TRAMPOLINE_TEMPLATE(tramp_name, fixup_name, IMB) \
- extern void tramp_name (void); \
- asm ( "\
-- .globl " #tramp_name "
-- .ent " #tramp_name "
--" #tramp_name ":
-- lda $sp, -44*8($sp)
-- .frame $sp, 44*8, $26
-- /* Preserve all integer registers that C normally doesn't. */
-- stq $26, 0*8($sp)
-- stq $0, 1*8($sp)
-- stq $1, 2*8($sp)
-- stq $2, 3*8($sp)
-- stq $3, 4*8($sp)
-- stq $4, 5*8($sp)
-- stq $5, 6*8($sp)
-- stq $6, 7*8($sp)
-- stq $7, 8*8($sp)
-- stq $8, 9*8($sp)
-- stq $16, 10*8($sp)
-- stq $17, 11*8($sp)
-- stq $18, 12*8($sp)
-- stq $19, 13*8($sp)
-- stq $20, 14*8($sp)
-- stq $21, 15*8($sp)
-- stq $22, 16*8($sp)
-- stq $23, 17*8($sp)
-- stq $24, 18*8($sp)
-- stq $25, 19*8($sp)
-- stq $29, 20*8($sp)
-- stt $f0, 21*8($sp)
-- stt $f1, 22*8($sp)
-- stt $f10, 23*8($sp)
-- stt $f11, 24*8($sp)
-- stt $f12, 25*8($sp)
-- stt $f13, 26*8($sp)
-- stt $f14, 27*8($sp)
-- stt $f15, 28*8($sp)
-- stt $f16, 29*8($sp)
-- stt $f17, 30*8($sp)
-- stt $f18, 31*8($sp)
-- stt $f19, 32*8($sp)
-- stt $f20, 33*8($sp)
-- stt $f21, 34*8($sp)
-- stt $f22, 35*8($sp)
-- stt $f23, 36*8($sp)
-- stt $f24, 37*8($sp)
-- stt $f25, 38*8($sp)
-- stt $f26, 39*8($sp)
-- stt $f27, 40*8($sp)
-- stt $f28, 41*8($sp)
-- stt $f29, 42*8($sp)
-- stt $f30, 43*8($sp)
-- .mask 0x27ff01ff, -44*8
-- .fmask 0xfffffc03, -(44-21)*8
-- /* Set up our $gp */
-- br $gp, .+4
-- ldgp $gp, 0($gp)
-- .prologue 0
-- /* Set up the arguments for fixup: */
-- /* $16 = link_map out of plt0 */
-- /* $17 = offset of reloc entry = ($28 - $27 - 20) /12 * 24 */
-- /* $18 = return address */
-- subq $28, $27, $17
-- ldq $16, 8($27)
-- subq $17, 20, $17
-- mov $26, $18
-- addq $17, $17, $17
-- /* Do the fixup */
-- bsr $26, " ASM_ALPHA_NG_SYMBOL_PREFIX #fixup_name "..ng
-- /* Move the destination address into position. */
-- mov $0, $27
-- /* Restore program registers. */
-- ldq $26, 0*8($sp)
-- ldq $0, 1*8($sp)
-- ldq $1, 2*8($sp)
-- ldq $2, 3*8($sp)
-- ldq $3, 4*8($sp)
-- ldq $4, 5*8($sp)
-- ldq $5, 6*8($sp)
-- ldq $6, 7*8($sp)
-- ldq $7, 8*8($sp)
-- ldq $8, 9*8($sp)
-- ldq $16, 10*8($sp)
-- ldq $17, 11*8($sp)
-- ldq $18, 12*8($sp)
-- ldq $19, 13*8($sp)
-- ldq $20, 14*8($sp)
-- ldq $21, 15*8($sp)
-- ldq $22, 16*8($sp)
-- ldq $23, 17*8($sp)
-- ldq $24, 18*8($sp)
-- ldq $25, 19*8($sp)
-- ldq $29, 20*8($sp)
-- ldt $f0, 21*8($sp)
-- ldt $f1, 22*8($sp)
-- ldt $f10, 23*8($sp)
-- ldt $f11, 24*8($sp)
-- ldt $f12, 25*8($sp)
-- ldt $f13, 26*8($sp)
-- ldt $f14, 27*8($sp)
-- ldt $f15, 28*8($sp)
-- ldt $f16, 29*8($sp)
-- ldt $f17, 30*8($sp)
-- ldt $f18, 31*8($sp)
-- ldt $f19, 32*8($sp)
-- ldt $f20, 33*8($sp)
-- ldt $f21, 34*8($sp)
-- ldt $f22, 35*8($sp)
-- ldt $f23, 36*8($sp)
-- ldt $f24, 37*8($sp)
-- ldt $f25, 38*8($sp)
-- ldt $f26, 39*8($sp)
-- ldt $f27, 40*8($sp)
-- ldt $f28, 41*8($sp)
-- ldt $f29, 42*8($sp)
-- ldt $f30, 43*8($sp)
-- /* Flush the Icache after having modified the .plt code. */
-- " #IMB "
-- /* Clean up and turn control to the destination */
-- lda $sp, 44*8($sp)
-- jmp $31, ($27)
-+ .globl " #tramp_name " \n\
-+ .ent " #tramp_name " \n\
-+" #tramp_name ": \n\
-+ lda $sp, -44*8($sp) \n\
-+ .frame $sp, 44*8, $26 \n\
-+ /* Preserve all integer registers that C normally \n\
-+ doesn't. */ \n\
-+ stq $26, 0*8($sp) \n\
-+ stq $0, 1*8($sp) \n\
-+ stq $1, 2*8($sp) \n\
-+ stq $2, 3*8($sp) \n\
-+ stq $3, 4*8($sp) \n\
-+ stq $4, 5*8($sp) \n\
-+ stq $5, 6*8($sp) \n\
-+ stq $6, 7*8($sp) \n\
-+ stq $7, 8*8($sp) \n\
-+ stq $8, 9*8($sp) \n\
-+ stq $16, 10*8($sp) \n\
-+ stq $17, 11*8($sp) \n\
-+ stq $18, 12*8($sp) \n\
-+ stq $19, 13*8($sp) \n\
-+ stq $20, 14*8($sp) \n\
-+ stq $21, 15*8($sp) \n\
-+ stq $22, 16*8($sp) \n\
-+ stq $23, 17*8($sp) \n\
-+ stq $24, 18*8($sp) \n\
-+ stq $25, 19*8($sp) \n\
-+ stq $29, 20*8($sp) \n\
-+ stt $f0, 21*8($sp) \n\
-+ stt $f1, 22*8($sp) \n\
-+ stt $f10, 23*8($sp) \n\
-+ stt $f11, 24*8($sp) \n\
-+ stt $f12, 25*8($sp) \n\
-+ stt $f13, 26*8($sp) \n\
-+ stt $f14, 27*8($sp) \n\
-+ stt $f15, 28*8($sp) \n\
-+ stt $f16, 29*8($sp) \n\
-+ stt $f17, 30*8($sp) \n\
-+ stt $f18, 31*8($sp) \n\
-+ stt $f19, 32*8($sp) \n\
-+ stt $f20, 33*8($sp) \n\
-+ stt $f21, 34*8($sp) \n\
-+ stt $f22, 35*8($sp) \n\
-+ stt $f23, 36*8($sp) \n\
-+ stt $f24, 37*8($sp) \n\
-+ stt $f25, 38*8($sp) \n\
-+ stt $f26, 39*8($sp) \n\
-+ stt $f27, 40*8($sp) \n\
-+ stt $f28, 41*8($sp) \n\
-+ stt $f29, 42*8($sp) \n\
-+ stt $f30, 43*8($sp) \n\
-+ .mask 0x27ff01ff, -44*8 \n\
-+ .fmask 0xfffffc03, -(44-21)*8 \n\
-+ /* Set up our $gp */ \n\
-+ br $gp, .+4 \n\
-+ ldgp $gp, 0($gp) \n\
-+ .prologue 0 \n\
-+ /* Set up the arguments for fixup: */ \n\
-+ /* $16 = link_map out of plt0 */ \n\
-+ /* $17 = offset of reloc entry = ($28 - $27 - 20) /12 * 24 */\n\
-+ /* $18 = return address */ \n\
-+ subq $28, $27, $17 \n\
-+ ldq $16, 8($27) \n\
-+ subq $17, 20, $17 \n\
-+ mov $26, $18 \n\
-+ addq $17, $17, $17 \n\
-+ /* Do the fixup */ \n\
-+ bsr $26, " ASM_ALPHA_NG_SYMBOL_PREFIX #fixup_name "..ng\n\
-+ /* Move the destination address into position. */ \n\
-+ mov $0, $27 \n\
-+ /* Restore program registers. */ \n\
-+ ldq $26, 0*8($sp) \n\
-+ ldq $0, 1*8($sp) \n\
-+ ldq $1, 2*8($sp) \n\
-+ ldq $2, 3*8($sp) \n\
-+ ldq $3, 4*8($sp) \n\
-+ ldq $4, 5*8($sp) \n\
-+ ldq $5, 6*8($sp) \n\
-+ ldq $6, 7*8($sp) \n\
-+ ldq $7, 8*8($sp) \n\
-+ ldq $8, 9*8($sp) \n\
-+ ldq $16, 10*8($sp) \n\
-+ ldq $17, 11*8($sp) \n\
-+ ldq $18, 12*8($sp) \n\
-+ ldq $19, 13*8($sp) \n\
-+ ldq $20, 14*8($sp) \n\
-+ ldq $21, 15*8($sp) \n\
-+ ldq $22, 16*8($sp) \n\
-+ ldq $23, 17*8($sp) \n\
-+ ldq $24, 18*8($sp) \n\
-+ ldq $25, 19*8($sp) \n\
-+ ldq $29, 20*8($sp) \n\
-+ ldt $f0, 21*8($sp) \n\
-+ ldt $f1, 22*8($sp) \n\
-+ ldt $f10, 23*8($sp) \n\
-+ ldt $f11, 24*8($sp) \n\
-+ ldt $f12, 25*8($sp) \n\
-+ ldt $f13, 26*8($sp) \n\
-+ ldt $f14, 27*8($sp) \n\
-+ ldt $f15, 28*8($sp) \n\
-+ ldt $f16, 29*8($sp) \n\
-+ ldt $f17, 30*8($sp) \n\
-+ ldt $f18, 31*8($sp) \n\
-+ ldt $f19, 32*8($sp) \n\
-+ ldt $f20, 33*8($sp) \n\
-+ ldt $f21, 34*8($sp) \n\
-+ ldt $f22, 35*8($sp) \n\
-+ ldt $f23, 36*8($sp) \n\
-+ ldt $f24, 37*8($sp) \n\
-+ ldt $f25, 38*8($sp) \n\
-+ ldt $f26, 39*8($sp) \n\
-+ ldt $f27, 40*8($sp) \n\
-+ ldt $f28, 41*8($sp) \n\
-+ ldt $f29, 42*8($sp) \n\
-+ ldt $f30, 43*8($sp) \n\
-+ /* Flush the Icache after having modified the .plt code. */\n\
-+ " #IMB " \n\
-+ /* Clean up and turn control to the destination */ \n\
-+ lda $sp, 44*8($sp) \n\
-+ jmp $31, ($27) \n\
- .end " #tramp_name)
-
- #ifndef PROF
-@@ -292,85 +294,87 @@
- its return value is the user program's entry point. */
-
- #define RTLD_START asm ("\
--.text
-- .set at
-- .globl _start
-- .ent _start
--_start:
-- br $gp, 0f
--0: ldgp $gp, 0($gp)
-- .prologue 0
-- /* Pass pointer to argument block to _dl_start. */
-- mov $sp, $16
-- bsr $26, "ASM_ALPHA_NG_SYMBOL_PREFIX"_dl_start..ng
-- .end _start
-- /* FALLTHRU */
-- .globl _dl_start_user
-- .ent _dl_start_user
--_dl_start_user:
-- .frame $30,0,$31,0
-- .prologue 0
-- /* Save the user entry point address in s0. */
-- mov $0, $9
-- /* Store the highest stack address. */
-- stq $30, __libc_stack_end
-- /* See if we were run as a command with the executable file
-- name as an extra leading argument. */
-- ldl $1, _dl_skip_args
-- bne $1, $fixup_stack
--$fixup_stack_ret:
-- /* The special initializer gets called with the stack just
-- as the application's entry point will see it; it can
-- switch stacks if it moves these contents over. */
--" RTLD_START_SPECIAL_INIT "
-- /* Call _dl_init(_dl_loaded, argc, argv, envp) to run initializers. */
-- ldq $16, _dl_loaded
-- ldq $17, 0($sp)
-- lda $18, 8($sp)
-- s8addq $17, 8, $19
-- addq $19, $18, $19
-- jsr $26, _dl_init
-- /* Pass our finalizer function to the user in $0. */
-- lda $0, _dl_fini
-- /* Jump to the user's entry point. */
-- mov $9, $27
-- jmp ($9)
--$fixup_stack:
-- /* Adjust the stack pointer to skip _dl_skip_args words. This
-- involves copying everything down, since the stack pointer must
-- always be 16-byte aligned. */
-- ldq $2, 0($sp)
-- ldq $5, _dl_argv
-- subq $31, $1, $6
-- subq $2, $1, $2
-- s8addq $6, $5, $5
-- mov $sp, $4
-- s8addq $1, $sp, $3
-- stq $2, 0($sp)
-- stq $5, _dl_argv
-- /* Copy down argv. */
--0: ldq $5, 8($3)
-- addq $4, 8, $4
-- addq $3, 8, $3
-- stq $5, 0($4)
-- bne $5, 0b
-- /* Copy down envp. */
--1: ldq $5, 8($3)
-- addq $4, 8, $4
-- addq $3, 8, $3
-- stq $5, 0($4)
-- bne $5, 1b
-- /* Copy down auxiliary table. */
--2: ldq $5, 8($3)
-- ldq $6, 16($3)
-- addq $4, 16, $4
-- addq $3, 16, $3
-- stq $5, -8($4)
-- stq $6, 0($4)
-- bne $5, 2b
-- br $fixup_stack_ret
-- .end _dl_start_user
-- .set noat
-+.text \n\
-+ .set at \n\
-+ .globl _start \n\
-+ .ent _start \n\
-+_start: \n\
-+ br $gp, 0f \n\
-+0: ldgp $gp, 0($gp) \n\
-+ .prologue 0 \n\
-+ /* Pass pointer to argument block to _dl_start. */ \n\
-+ mov $sp, $16 \n\
-+ bsr $26, "ASM_ALPHA_NG_SYMBOL_PREFIX"_dl_start..ng \n\
-+ .end _start \n\
-+ /* FALLTHRU */ \n\
-+ .globl _dl_start_user \n\
-+ .ent _dl_start_user \n\
-+_dl_start_user: \n\
-+ .frame $30,0,$31,0 \n\
-+ .prologue 0 \n\
-+ /* Save the user entry point address in s0. */ \n\
-+ mov $0, $9 \n\
-+ /* Store the highest stack address. */ \n\
-+ stq $30, __libc_stack_end \n\
-+ /* See if we were run as a command with the executable \n\
-+ file name as an extra leading argument. */ \n\
-+ ldl $1, _dl_skip_args \n\
-+ bne $1, $fixup_stack \n\
-+$fixup_stack_ret: \n\
-+ /* The special initializer gets called with the stack \n\
-+ just as the application's entry point will see it; \n\
-+ it can switch stacks if it moves these contents \n\
-+ over. */ \n\
-+" RTLD_START_SPECIAL_INIT " \n\
-+ /* Call _dl_init(_dl_loaded, argc, argv, envp) to run \n\
-+ initializers. */ \n\
-+ ldq $16, _dl_loaded \n\
-+ ldq $17, 0($sp) \n\
-+ lda $18, 8($sp) \n\
-+ s8addq $17, 8, $19 \n\
-+ addq $19, $18, $19 \n\
-+ jsr $26, _dl_init \n\
-+ /* Pass our finalizer function to the user in $0. */ \n\
-+ lda $0, _dl_fini \n\
-+ /* Jump to the user's entry point. */ \n\
-+ mov $9, $27 \n\
-+ jmp ($9) \n\
-+$fixup_stack: \n\
-+ /* Adjust the stack pointer to skip _dl_skip_args words.\n\
-+ This involves copying everything down, since the \n\
-+ stack pointer must always be 16-byte aligned. */ \n\
-+ ldq $2, 0($sp) \n\
-+ ldq $5, _dl_argv \n\
-+ subq $31, $1, $6 \n\
-+ subq $2, $1, $2 \n\
-+ s8addq $6, $5, $5 \n\
-+ mov $sp, $4 \n\
-+ s8addq $1, $sp, $3 \n\
-+ stq $2, 0($sp) \n\
-+ stq $5, _dl_argv \n\
-+ /* Copy down argv. */ \n\
-+0: ldq $5, 8($3) \n\
-+ addq $4, 8, $4 \n\
-+ addq $3, 8, $3 \n\
-+ stq $5, 0($4) \n\
-+ bne $5, 0b \n\
-+ /* Copy down envp. */ \n\
-+1: ldq $5, 8($3) \n\
-+ addq $4, 8, $4 \n\
-+ addq $3, 8, $3 \n\
-+ stq $5, 0($4) \n\
-+ bne $5, 1b \n\
-+ /* Copy down auxiliary table. */ \n\
-+2: ldq $5, 8($3) \n\
-+ ldq $6, 16($3) \n\
-+ addq $4, 16, $4 \n\
-+ addq $3, 16, $3 \n\
-+ stq $5, -8($4) \n\
-+ stq $6, 0($4) \n\
-+ bne $5, 2b \n\
-+ br $fixup_stack_ret \n\
-+ .end _dl_start_user \n\
-+ .set noat \n\
- .previous");
-
- #ifndef RTLD_START_SPECIAL_INIT