patches/glibc/2.5.1/180-alpha-cfi.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Tue Oct 16 20:57:44 2012 +0200 (2012-10-16)
changeset 3079 37831a33e07e
parent 744 4bf8448536d5
permissions -rw-r--r--
kernel/linux: fix using custom location

Currently, extract and patch are skipped as thus:
- using a custom directory of pre-installed headers
- a correctly named directory already exists

Otherwise, extract and patch are done.

The current second condition is wrong, because it allows the following
sequence to happen:
- a non-custom kernel is used
- a previous build only partially extracted the non-custom sources
- that p[revious build broke during extraction (eg. incomplete tarball...)
- a subsequent build will find a properly named directory, and will
thus skip extract and patch, which is wrong

Fix that by following the conditions in this table:

Type | Extract | Patch
----------------------+---------+-------
Pre-installed headers | N | N
custom directory | N | N
custom tarball | Y | N
mainstream tarball | Y | Y

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: David Holsgrove <david.holsgrove@xilinx.com>
yann@611
     1
--- libc/nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h    2006/10/29 21:48:06     1.6
yann@611
     2
+++ libc/nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h    2007/03/13 21:28:03     1.7
yann@611
     3
@@ -55,6 +55,7 @@
yann@611
     4
 	bne	a3, SYSCALL_ERROR_LABEL;			\
yann@611
     5
 __LABEL($pseudo_ret)						\
yann@611
     6
 	.subsection 2;						\
yann@611
     7
+	cfi_startproc;						\
yann@611
     8
 __LABEL($pseudo_cancel)						\
yann@611
     9
 	subq	sp, 64, sp;					\
yann@611
    10
 	cfi_def_cfa_offset(64);					\
yann@611
    11
@@ -90,12 +91,13 @@
yann@611
    12
 	cfi_def_cfa_offset(0);					\
yann@611
    13
 __LABEL($syscall_error)						\
yann@611
    14
 	SYSCALL_ERROR_HANDLER;					\
yann@611
    15
+	cfi_endproc;						\
yann@611
    16
 	.previous
yann@611
    17
 
yann@611
    18
 # undef PSEUDO_END
yann@611
    19
 # define PSEUDO_END(sym)					\
yann@611
    20
-	.subsection 2;						\
yann@611
    21
 	cfi_endproc;						\
yann@611
    22
+	.subsection 2;						\
yann@611
    23
 	.size sym, .-sym
yann@611
    24
 
yann@611
    25
 # define SAVE_ARGS_0	/* Nothing.  */