This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fix ____longjmp_chk for ppc(64)


On 06/24/2009 10:55 AM, Jakub Jelinek wrote:
On Wed, Jun 24, 2009 at 10:28:39AM -0700, Richard Henderson wrote:
On 06/24/2009 10:15 AM, Jakub Jelinek wrote:
   	bl	HIDDEN_JUMPTARGET (__fortify_fail);	\
   .Lok:							\
	mr	r1, reg;				\
+	cfi_adjust_cfa_offset (-112);			\
+	cfi_same_value (lr)

and remove the mr r1, r14 resp. mr r1, r22 from __longjmp-common.S?
Then you don't need to add any extra insn.
The cfa is incorrect for the duration of the mr r1 insn.

Ah, but in that case can't be the cfi directives be right after bl? The unwinders subtract one when looking for which cfi directives to apply, unless in signal frame:

Um... Yes, I think they can. I thought I remembered something odd about noreturn functions, but perhaps that was end-of-function calls interacting with the following function.


r~



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]