Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 May 2016 05:31:53 +0000 (UTC)
From:      Dmitry Chagin <dchagin@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r300467 - stable/10/sys/amd64/linux
Message-ID:  <201605230531.u4N5VrSD089052@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dchagin
Date: Mon May 23 05:31:53 2016
New Revision: 300467
URL: https://svnweb.freebsd.org/changeset/base/300467

Log:
  MFC r299249:
  
  Add a forgotten in r283424 .eh_frame section with CFI & FDE records to allow
  stack unwinding through signal handler.

Modified:
  stable/10/sys/amd64/linux/linux_locore.s
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/amd64/linux/linux_locore.s
==============================================================================
--- stable/10/sys/amd64/linux/linux_locore.s	Mon May 23 05:30:24 2016	(r300466)
+++ stable/10/sys/amd64/linux/linux_locore.s	Mon May 23 05:31:53 2016	(r300467)
@@ -29,6 +29,7 @@ NON_GPROF_ENTRY(linux_rt_sigcode)
 	movq	$LINUX_SYS_linux_rt_sigreturn,%rax   /* linux_rt_sigreturn() */
 	syscall					/* enter kernel with args */
 	hlt
+.endrtsigcode:
 0:	jmp	0b
 
 NON_GPROF_ENTRY(__vdso_clock_gettime)
@@ -74,3 +75,34 @@ NON_GPROF_ENTRY(__vdso_getcpu)
 	.balign 4
 	.previous
 #endif
+
+	.section .eh_frame,"a",@progbits
+.LSTARTFRAMEDLSI0:
+	.long .LENDCIEDLSI0-.LSTARTCIEDLSI0
+.LSTARTCIEDLSI0:
+	.long 0					/* CIE ID */
+	.byte 1					/* Version number */
+	.string "zR"				/* NULL-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
+.LENDCIEDLSI0:
+	.long .LENDFDEDLSI0-.LSTARTFDEDLSI0	/* Length FDE */
+.LSTARTFDEDLSI0:
+	.long .LSTARTFDEDLSI0-.LSTARTFRAMEDLSI0	/* CIE pointer */
+	.long .startrtsigcode-.			/* PC-relative start address */
+	.long .endrtsigcode-.startrtsigcode
+	.uleb128 0
+	.align 4
+.LENDFDEDLSI0:
+	.previous



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201605230531.u4N5VrSD089052>