rpms/kernel/devel linux-2.6-signal-trampolines-unwind-info.patch, NONE, 1.1 kernel-2.6.spec, 1.2007, 1.2008

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Thu Mar 2 07:43:44 UTC 2006


Author: davej

Update of /cvs/dist/rpms/kernel/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv32225

Modified Files:
	kernel-2.6.spec 
Added Files:
	linux-2.6-signal-trampolines-unwind-info.patch 
Log Message:
Mark unwind info for signal trampolines in vDSOs


linux-2.6-signal-trampolines-unwind-info.patch:
 i386/kernel/vsyscall-sigreturn.S |    2 +-
 powerpc/kernel/vdso32/sigtramp.S |    2 +-
 powerpc/kernel/vdso64/sigtramp.S |    2 +-
 x86_64/ia32/vsyscall-sigreturn.S |   23 +++++++++++++++++++++--
 4 files changed, 24 insertions(+), 5 deletions(-)

--- NEW FILE linux-2.6-signal-trampolines-unwind-info.patch ---
--- linux-2.6.15/arch/i386/kernel/vsyscall-sigreturn.S.jj	2006-01-02 22:21:10.000000000 -0500
+++ linux-2.6.15/arch/i386/kernel/vsyscall-sigreturn.S	2006-02-21 05:10:31.000000000 -0500
@@ -44,7 +44,7 @@ __kernel_rt_sigreturn:
 .LSTARTCIEDLSI1:
 	.long 0			/* CIE ID */
 	.byte 1			/* Version number */
-	.string "zR"		/* NUL-terminated augmentation string */
+	.string "zRS"		/* NUL-terminated augmentation string */
 	.uleb128 1		/* Code alignment factor */
 	.sleb128 -4		/* Data alignment factor */
 	.byte 8			/* Return address register column */
--- linux-2.6.15/arch/x86_64/ia32/vsyscall-sigreturn.S.jj	2006-01-02 22:21:10.000000000 -0500
+++ linux-2.6.15/arch/x86_64/ia32/vsyscall-sigreturn.S	2006-02-21 05:17:41.000000000 -0500
@@ -31,8 +31,27 @@ __kernel_rt_sigreturn:
 	.size __kernel_rt_sigreturn,.-.LSTART_rt_sigreturn
 
 	.section .eh_frame,"a", at progbits
+.LSTARTFRAMES:
+        .long .LENDCIES-.LSTARTCIES
+.LSTARTCIES:
+	.long 0			/* CIE ID */
+	.byte 1			/* Version number */
+	.string "zRS"		/* NUL-terminated augmentation string */
+	.uleb128 1		/* Code alignment factor */
+	.sleb128 -4		/* Data alignment factor */
+	.byte 8			/* Return address register column */
+	.uleb128 1		/* Augmentation value length */
+	.byte 0x1b		/* DW_EH_PE_pcrel|DW_EH_PE_sdata4. */
+	.byte 0x0c		/* DW_CFA_def_cfa */
+	.uleb128 4
+	.uleb128 4
+	.byte 0x88		/* DW_CFA_offset, column 0x8 */
+	.uleb128 1
+	.align 4
+.LENDCIES:
+
 	.long .LENDFDE2-.LSTARTFDE2	/* Length FDE */
 .LSTARTFDE2:
-	.long .LSTARTFDE2-.LSTARTFRAME	/* CIE pointer */
+	.long .LSTARTFDE2-.LSTARTFRAMES	/* CIE pointer */
 	/* HACK: The dwarf2 unwind routines will subtract 1 from the
 	   return address to get an address in the middle of the
@@ -96,7 +116,7 @@ __kernel_rt_sigreturn:
 
 	.long .LENDFDE3-.LSTARTFDE3	/* Length FDE */
 .LSTARTFDE3:
-	.long .LSTARTFDE3-.LSTARTFRAME	/* CIE pointer */
+	.long .LSTARTFDE3-.LSTARTFRAMES	/* CIE pointer */
 	/* HACK: See above wrt unwind library assumptions.  */
 	.long .LSTART_rt_sigreturn-1-.	/* PC-relative start address */
 	.long .LEND_rt_sigreturn-.LSTART_rt_sigreturn+1
--- linux-2.6.15/arch/powerpc/kernel/vdso32/sigtramp.S.jj	2006-01-02 22:21:10.000000000 -0500
+++ linux-2.6.15/arch/powerpc/kernel/vdso32/sigtramp.S	2006-02-21 05:24:12.000000000 -0500
@@ -261,7 +261,7 @@ V_FUNCTION_END(__kernel_sigtramp_rt32)
 .Lcie_start:
 	.long 0			/* CIE ID */
 	.byte 1			/* Version number */
-	.string "zR"		/* NUL-terminated augmentation string */
+	.string "zRS"		/* NUL-terminated augmentation string */
 	.uleb128 4		/* Code alignment factor */
 	.sleb128 -4		/* Data alignment factor */
 	.byte 67		/* Return address register column, ap */
--- linux-2.6.15/arch/powerpc/kernel/vdso64/sigtramp.S.jj	2006-01-02 22:21:10.000000000 -0500
+++ linux-2.6.15/arch/powerpc/kernel/vdso64/sigtramp.S	2006-02-21 05:28:28.000000000 -0500
@@ -263,7 +263,7 @@ V_FUNCTION_END(__kernel_sigtramp_rt64)
 .Lcie_start:
 	.long 0			/* CIE ID */
 	.byte 1			/* Version number */
-	.string "zR"		/* NUL-terminated augmentation string */
+	.string "zRS"		/* NUL-terminated augmentation string */
 	.uleb128 4		/* Code alignment factor */
 	.sleb128 -8		/* Data alignment factor */
 	.byte 67		/* Return address register column, ap */



Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/kernel-2.6.spec,v
retrieving revision 1.2007
retrieving revision 1.2008
diff -u -r1.2007 -r1.2008
--- kernel-2.6.spec	2 Mar 2006 06:15:50 -0000	1.2007
+++ kernel-2.6.spec	2 Mar 2006 07:43:41 -0000	1.2008
@@ -366,6 +366,7 @@
 Patch1700: linux-2.6-w1-hush-debug.patch
 Patch1710: linux-2.6-sched-up-migration-cost.patch
 Patch1720: linux-2.6-md-raid1-leak.patch
+Patch1730: linux-2.6-signal-trampolines-unwind-info.patch
 
 # SELinux/audit patches.
 Patch1800: linux-2.6-selinux-hush.patch
@@ -952,6 +953,8 @@
 %patch1710 -p1
 # Fix RAID1 leak
 %patch1720 -p1
+# Mark unwind info for signal trampolines in vDSOs
+%patch1730 -p1
 
 # Silence some selinux messages.
 %patch1800 -p1
@@ -1602,6 +1605,7 @@
 %changelog
 * Thu Mar  2 2006 Dave Jones <davej at redhat.com>
 - Fix acpi_os_acquire_object() with IRQs disabled debug msgs.
+- Mark unwind info for signal trampolines in vDSOs
 
 * Wed Mar  1 2006 Dave Jones <davej at redhat.com>
 - 2.6.16rc5-git4




More information about the fedora-cvs-commits mailing list