patches/glibc/linuxthreads-2.3.2/alpha_cfi2.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Feb 24 11:00:05 2007 +0000 (2007-02-24)
changeset 1 eeea35fbf182
permissions -rw-r--r--
Add the full crosstool-NG sources to the new repository of its own.
You might just say: 'Yeah! crosstool-NG's got its own repo!".
Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup.
That means I'm putting backups in place in the afternoon.
That also means we've lost history... :-(
yann@1
     1
See http://sources.redhat.com/ml/libc-alpha/2004-05/msg00110.html
yann@1
     2
yann@1
     3
Both his patches pulled into this file
yann@1
     4
yann@1
     5
Should fix
yann@1
     6
../sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Assembler messages:
yann@1
     7
../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:28: Error: unknown opcode `cfi_startproc'
yann@1
     8
../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:28: Error: unknown opcode `cfi_def_cfa_offset'
yann@1
     9
../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:28: Error: missing ')'
yann@1
    10
../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:28: Error: syntax error
yann@1
    11
../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:28: Error: unknown opcode `cfi_remember_state'
yann@1
    12
../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:28: Error: unknown opcode `cfi_restore'
yann@1
    13
../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:28: Error: unknown opcode `cfi_def_cfa_offset'
yann@1
    14
../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:28: Error: unknown opcode `cfi_restore_state'
yann@1
    15
../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:28: Error: unknown opcode `cfi_restore'
yann@1
    16
../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:28: Error: unknown opcode `cfi_def_cfa_offset'
yann@1
    17
../sysdeps/unix/sysv/linux/alpha/sigsuspend.S:30: Error: unknown opcode `cfi_endproc'
yann@1
    18
make[2]: *** [/usr/src/crosstool/crosstool-0.28-rc14/build/alpha-linux/gcc-3.4.0-glibc-2.3.2/build-glibc/signal/sigsuspend.o] Error 1
yann@1
    19
yann@1
    20
when building with binutils-2.15.90.0.3 and gcc-3.4.0
yann@1
    21
yann@1
    22
--- glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h.orig	2004-05-13 00:33:54.000000000 -0400
yann@1
    23
+++ glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h	2004-05-13 00:34:19.000000000 -0400
yann@1
    24
@@ -42,7 +42,7 @@
yann@1
    25
 	.align 4;						\
yann@1
    26
 	.type name, @function;					\
yann@1
    27
 	.usepv name, std;					\
yann@1
    28
-	cfi_startproc;						\
yann@1
    29
+	.cfi_startproc;						\
yann@1
    30
 __LABEL(name)							\
yann@1
    31
 	ldgp	gp, 0(pv);					\
yann@1
    32
 	PSEUDO_PROF;						\
yann@1
    33
@@ -56,9 +56,9 @@
yann@1
    34
 	.subsection 2;						\
yann@1
    35
 __LABEL($pseudo_cancel)						\
yann@1
    36
 	subq	sp, 64, sp;					\
yann@1
    37
-	cfi_def_cfa_offset(64);					\
yann@1
    38
+	.cfi_def_cfa_offset(64);					\
yann@1
    39
 	stq	ra, 0(sp);					\
yann@1
    40
-	cfi_offset(ra, -64);					\
yann@1
    41
+	.cfi_offset ra, -64;					\
yann@1
    42
 	SAVE_ARGS_##args;					\
yann@1
    43
 	CENABLE;						\
yann@1
    44
 	LOAD_ARGS_##args;					\
yann@1
    45
@@ -70,18 +70,18 @@
yann@1
    46
 	ldq	ra, 0(sp);					\
yann@1
    47
 	ldq	v0, 8(sp);					\
yann@1
    48
 	addq	sp, 64, sp;					\
yann@1
    49
-	cfi_remember_state;					\
yann@1
    50
-	cfi_restore(ra);					\
yann@1
    51
-	cfi_def_cfa_offset(0);					\
yann@1
    52
+	.cfi_remember_state;					\
yann@1
    53
+	.cfi_restore(ra);					\
yann@1
    54
+	.cfi_def_cfa_offset(0);					\
yann@1
    55
 	ret;							\
yann@1
    56
-	cfi_restore_state;					\
yann@1
    57
+	.cfi_restore_state;					\
yann@1
    58
 __LABEL($multi_error)						\
yann@1
    59
 	CDISABLE;						\
yann@1
    60
 	ldq	ra, 0(sp);					\
yann@1
    61
 	ldq	v0, 8(sp);					\
yann@1
    62
 	addq	sp, 64, sp;					\
yann@1
    63
-	cfi_restore(ra);					\
yann@1
    64
-	cfi_def_cfa_offset(0);					\
yann@1
    65
+	.cfi_restore(ra);					\
yann@1
    66
+	.cfi_def_cfa_offset(0);					\
yann@1
    67
 __LABEL($syscall_error)						\
yann@1
    68
 	SYSCALL_ERROR_HANDLER;					\
yann@1
    69
 	.previous
yann@1
    70
@@ -89,7 +89,7 @@
yann@1
    71
 # undef PSEUDO_END
yann@1
    72
 # define PSEUDO_END(sym)					\
yann@1
    73
 	.subsection 2;						\
yann@1
    74
-	cfi_endproc;						\
yann@1
    75
+	.cfi_endproc;						\
yann@1
    76
 	.size sym, .-sym
yann@1
    77
 
yann@1
    78
 # define SAVE_ARGS_0	/* Nothing.  */
yann@1
    79
yann@1
    80
--- glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S.orig	2004-05-13 01:47:46.000000000 -0400
yann@1
    81
+++ glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S	2004-05-13 01:48:17.000000000 -0400
yann@1
    82
@@ -23,7 +23,7 @@
yann@1
    83
 	.globl	__vfork
yann@1
    84
 	.type	__vfork, @function
yann@1
    85
 	.usepv	__vfork, std
yann@1
    86
-	cfi_startproc
yann@1
    87
+	.cfi_startproc
yann@1
    88
 __vfork:
yann@1
    89
 	ldgp	gp, 0(pv)
yann@1
    90
 	PSEUDO_PROF
yann@1
    91
@@ -47,22 +47,22 @@
yann@1
    92
 	   fork and vfork object files.  */
yann@1
    93
 $do_fork:
yann@1
    94
 	subq	sp, 16, sp
yann@1
    95
-	cfi_adjust_cfa_offset(16)
yann@1
    96
+	.cfi_adjust_cfa_offset(16)
yann@1
    97
 	stq	ra, 0(sp)
yann@1
    98
-	cfi_offset(ra, -16)
yann@1
    99
+	.cfi_offset ra, -16
yann@1
   100
 	jsr	ra, HIDDEN_JUMPTARGET (__fork)
yann@1
   101
 	ldgp	gp, 0(ra)
yann@1
   102
 	ldq	ra, 0(sp)
yann@1
   103
 	addq	sp, 16, sp
yann@1
   104
-	cfi_restore(ra)
yann@1
   105
-	cfi_adjust_cfa_offset(-16)
yann@1
   106
+	.cfi_restore(ra)
yann@1
   107
+	.cfi_adjust_cfa_offset(-16)
yann@1
   108
 	ret
yann@1
   109
 
yann@1
   110
 $syscall_error:
yann@1
   111
 	SYSCALL_ERROR_HANDLER
yann@1
   112
 #endif
yann@1
   113
 
yann@1
   114
-	cfi_endproc
yann@1
   115
+	.cfi_endproc
yann@1
   116
 	.size __vfork, .-__vfork
yann@1
   117
 
yann@1
   118
 libc_hidden_def (__vfork)