This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
Re: [PATCH v2] ARM: Add SystemTap probes to longjmp and setjmp.
- From: Will Newton <will dot newton at linaro dot org>
- To: "Jonathan S. Shapiro" <shap at eros-os dot org>
- Cc: Andreas Schwab <schwab at linux-m68k dot org>, Roland McGrath <roland at hack dot frob dot com>, "libc-ports at sourceware dot org" <libc-ports at sourceware dot org>, Patch Tracking <patches at linaro dot org>
- Date: Mon, 10 Feb 2014 08:54:13 +0000
- Subject: Re: [PATCH v2] ARM: Add SystemTap probes to longjmp and setjmp.
- Authentication-results: sourceware.org; auth=none
- References: <1391594162-22269-1-git-send-email-will dot newton at linaro dot org> <20140206221127 dot 6E28974443 at topped-with-meat dot com> <CANu=DmjAG8zxFOwWeJZuEFLXEcSTROVZsR1oRZc9qx=Zcn9T-w at mail dot gmail dot com> <8761orknyz dot fsf at igel dot home> <CAAP=3QP6_TvyFdpmO9Or5E2=NFCdcUVrCGBHT3rMozRXLT4mmw at mail dot gmail dot com>
On 7 February 2014 15:27, Jonathan S. Shapiro <shap@eros-os.org> wrote:
> Yes. The layout of jmp_buf is part of the ABI. And not just the libc ABI,
> but for some platforms it's part of the platform standard (e.g. SVID
> specifies it). In consequence, changing the structure layout isn't an option
> in either the current libc release or any foreseeable future libc release.
> The patch point needs to be reworked so as to operate given the current
> structure layout.
The layout has changed in previous releases so I am not convinced this is true.
> On the bright side, reworking the code to fit the current layout means that
> (a) this can be integrated sooner, and (b) we don't have to accept a small
> regression in GDB functionality in order to implement encrypted pointers.
The GDB functionality regression is orthogonal to the layout change.
The gdb issue is caused by the fact that the saved lr in the jmp_buf
is now no longer a straightforward code pointer. The longjmp SystemTap
probe added by this patch unencrypts lr and hands it to gdb so gdb can
set a break there.
--
Will Newton
Toolchain Working Group, Linaro