patches/glibc/linuxthreads-2.3.2/alpha_cfi1.patch
changeset 336 4b0db42fc078
parent 335 f0d84f1d4c93
child 337 f083425c84e3
     1.1 --- a/patches/glibc/linuxthreads-2.3.2/alpha_cfi1.patch	Wed Aug 15 16:18:35 2007 +0000
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,136 +0,0 @@
     1.4 -Retrieved with
     1.5 -$ wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S.diff?r1=1.5&r2=1.6&cvsroot=glibc'
     1.6 -$ wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h.diff?r1=1.3&r2=1.4&cvsroot=glibc'
     1.7 -
     1.8 -Might fix problem building with binutils-2.14.90.0.8/gcc-3.3.3 that was not
     1.9 -present with binutils-2.13.90.0.18/gcc-3.3.2:
    1.10 -
    1.11 -../linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S: Assembler messages:
    1.12 -../linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S:63: Warning: .ent
    1.13 -directive without matching .end
    1.14 -../linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S:63: Error: can't resolve
    1.15 -`0' {.text section} - `L0^A' {.text section}
    1.16 -make[2]: ***
    1.17 -[/home/dkegel/wk/crosstool-0.26-pre3/build/alpha-unknown-linux-gnu/gcc-3.3-20040112-glibc-2.3.2/build-glibc/posix/vfork.o]
    1.18 -Error 1
    1.19 -make[2]: Leaving directory
    1.20 -`/home/dkegel/wk/crosstool-0.26-pre3/build/alpha-unknown-linux-gnu/gcc-3.3-20040112-glibc-2.3.2/glibc-2.3.2/posix'
    1.21 -make[1]: *** [posix/subdir_lib] Error 2
    1.22 -make[1]: Leaving directory
    1.23 -`/home/dkegel/wk/crosstool-0.26-pre3/build/alpha-unknown-linux-gnu/gcc-3.3-20040112-glibc-2.3.2/glibc-2.3.2'
    1.24 -make: *** [all] Error 2
    1.25 -
    1.26 -See also alpha_cfi2.patch
    1.27 -
    1.28 -===================================================================
    1.29 -RCS file: /cvs/glibc/libc/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S,v
    1.30 -retrieving revision 1.5
    1.31 -retrieving revision 1.6
    1.32 -diff -u -r1.5 -r1.6
    1.33 ---- libc/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S	2003/02/11 06:27:53	1.5
    1.34 -+++ libc/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S	2003/06/06 05:51:03	1.6
    1.35 -@@ -19,12 +19,13 @@
    1.36 - 
    1.37 - #include <sysdep-cancel.h>
    1.38 - 
    1.39 --	.globl __vfork
    1.40 -         .align 4
    1.41 --        .ent __vfork,0
    1.42 --__LABEL(__vfork)
    1.43 -+	.globl	__vfork
    1.44 -+	.type	__vfork, @function
    1.45 -+	.usepv	__vfork, std
    1.46 -+	cfi_startproc
    1.47 -+__vfork:
    1.48 - 	ldgp	gp, 0(pv)
    1.49 --	.prologue 1
    1.50 - 	PSEUDO_PROF
    1.51 - 
    1.52 - #ifdef SHARED
    1.53 -@@ -46,18 +47,24 @@
    1.54 - 	   fork and vfork object files.  */
    1.55 - $do_fork:
    1.56 - 	subq	sp, 16, sp
    1.57 -+	cfi_adjust_cfa_offset(16)
    1.58 - 	stq	ra, 0(sp)
    1.59 -+	cfi_offset(ra, -16)
    1.60 - 	jsr	ra, HIDDEN_JUMPTARGET (__fork)
    1.61 - 	ldgp	gp, 0(ra)
    1.62 - 	ldq	ra, 0(sp)
    1.63 - 	addq	sp, 16, sp
    1.64 -+	cfi_restore(ra)
    1.65 -+	cfi_adjust_cfa_offset(-16)
    1.66 - 	ret
    1.67 - 
    1.68 - $syscall_error:
    1.69 - 	SYSCALL_ERROR_HANDLER
    1.70 - #endif
    1.71 - 
    1.72 --PSEUDO_END(__vfork)
    1.73 -+	cfi_endproc
    1.74 -+	.size __vfork, .-__vfork
    1.75 -+
    1.76 - libc_hidden_def (__vfork)
    1.77 - 
    1.78 - weak_alias (__vfork, vfork)
    1.79 -===================================================================
    1.80 -RCS file: /cvs/glibc/libc/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h,v
    1.81 -retrieving revision 1.3
    1.82 -retrieving revision 1.4
    1.83 -diff -u -r1.3 -r1.4
    1.84 ---- libc/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h	2003/01/12 19:26:41	1.3
    1.85 -+++ libc/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h	2003/06/06 05:51:03	1.4
    1.86 -@@ -40,10 +40,11 @@
    1.87 - # define PSEUDO(name, syscall_name, args)			\
    1.88 - 	.globl name;						\
    1.89 - 	.align 4;						\
    1.90 --	.ent name, 0;						\
    1.91 -+	.type name, @function;					\
    1.92 -+	.usepv name, std;					\
    1.93 -+	cfi_startproc;						\
    1.94 - __LABEL(name)							\
    1.95 - 	ldgp	gp, 0(pv);					\
    1.96 --	.prologue 1;						\
    1.97 - 	PSEUDO_PROF;						\
    1.98 - 	PSEUDO_PREPARE_ARGS					\
    1.99 - 	SINGLE_THREAD_P(t0);					\
   1.100 -@@ -55,7 +56,9 @@
   1.101 - 	.subsection 2;						\
   1.102 - __LABEL($pseudo_cancel)						\
   1.103 - 	subq	sp, 64, sp;					\
   1.104 -+	cfi_def_cfa_offset(64);					\
   1.105 - 	stq	ra, 0(sp);					\
   1.106 -+	cfi_offset(ra, -64);					\
   1.107 - 	SAVE_ARGS_##args;					\
   1.108 - 	CENABLE;						\
   1.109 - 	LOAD_ARGS_##args;					\
   1.110 -@@ -67,19 +70,27 @@
   1.111 - 	ldq	ra, 0(sp);					\
   1.112 - 	ldq	v0, 8(sp);					\
   1.113 - 	addq	sp, 64, sp;					\
   1.114 -+	cfi_remember_state;					\
   1.115 -+	cfi_restore(ra);					\
   1.116 -+	cfi_def_cfa_offset(0);					\
   1.117 - 	ret;							\
   1.118 -+	cfi_restore_state;					\
   1.119 - __LABEL($multi_error)						\
   1.120 - 	CDISABLE;						\
   1.121 - 	ldq	ra, 0(sp);					\
   1.122 - 	ldq	v0, 8(sp);					\
   1.123 - 	addq	sp, 64, sp;					\
   1.124 -+	cfi_restore(ra);					\
   1.125 -+	cfi_def_cfa_offset(0);					\
   1.126 - __LABEL($syscall_error)						\
   1.127 - 	SYSCALL_ERROR_HANDLER;					\
   1.128 --	END(name);						\
   1.129 - 	.previous
   1.130 - 
   1.131 - # undef PSEUDO_END
   1.132 --# define PSEUDO_END(sym)
   1.133 -+# define PSEUDO_END(sym)					\
   1.134 -+	.subsection 2;						\
   1.135 -+	cfi_endproc;						\
   1.136 -+	.size sym, .-sym
   1.137 - 
   1.138 - # define SAVE_ARGS_0	/* Nothing.  */
   1.139 - # define SAVE_ARGS_1	SAVE_ARGS_0; stq a0, 8(sp)