public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Kyrill  Tkachov <kyrylo.tkachov@foss.arm.com>
To: Sam Tebbs <Sam.Tebbs@arm.com>,
	 James Greenhalgh <James.Greenhalgh@arm.com>
Cc: "gcc-patches@gcc.gnu.org" <gcc-patches@gcc.gnu.org>,
	 Richard Earnshaw <Richard.Earnshaw@arm.com>,
	Marcus Shawcroft <Marcus.Shawcroft@arm.com>, nd <nd@arm.com>,
	 "ian@airs.com" <ian@airs.com>, Jeff Law <law@redhat.com>
Subject: Re: [PATCH 3/3][GCC][AARCH64] Add support for pointer authentication B key
Date: Mon, 14 Jan 2019 10:44:00 -0000	[thread overview]
Message-ID: <5C3C67EC.1010508@foss.arm.com> (raw)
In-Reply-To: <8f1b174d-7f04-9446-4d86-431fb1116b9b@arm.com>


On 08/01/19 11:38, Sam Tebbs wrote:
>
> On 1/7/19 6:28 PM, James Greenhalgh wrote:
> > On Fri, Dec 21, 2018 at 09:00:10AM -0600, Sam Tebbs wrote:
> >> On 11/9/18 11:04 AM, Sam Tebbs wrote:
> >
> > <snip>
> >
> >> Attached is an improved patch with "hint" removed from the test scans,
> >> pauth_hint_num_a and pauth_hint_num_b merged into pauth_hint_num and the
> >> "gcc_assert (cfun->machine->frame.laid_out)" removal reverted since was
> >> an unnecessary change.
> >>
> >> OK for trunk?
> > While the AArch64 parts look OK to me and are buried behind an option so are
> > relatively safe even though we're late in development, you'll need someone
> > else to approve the libgcc changes. Especially as you change a generic
> > routine with an undocumented (?) AArch64-specific change.
> >
> > Thanks,
> > James
>
> Thanks James, CC'ing Ian Lance Taylor.
>

Jeff, could you help with reviewing the libgcc changes please?
I believe the latest version was posted at:
https://gcc.gnu.org/ml/gcc-patches/2018-12/msg01569.html

Thanks,
Kyrill

> The documentation relevant to the libgcc change is expected to be
> published in the near future.
>
> >
> >> gcc/
> >> 2018-12-21  Sam Tebbs<sam.tebbs@arm.com>
> >>
> >>       * config/aarch64/aarch64-builtins.c (aarch64_builtins): Add
> >>       AARCH64_PAUTH_BUILTIN_AUTIB1716 and AARCH64_PAUTH_BUILTIN_PACIB1716.
> >>       * config/aarch64/aarch64-builtins.c (aarch64_init_pauth_hint_builtins):
> >>       Add autib1716 and pacib1716 initialisation.
> >>       * config/aarch64/aarch64-builtins.c (aarch64_expand_builtin): Add checks
> >>       for autib1716 and pacib1716.
> >>       * config/aarch64/aarch64-protos.h (aarch64_key_type,
> >>       aarch64_post_cfi_startproc): Define.
> >>       * config/aarch64/aarch64-protos.h (aarch64_ra_sign_key): Define extern.
> >>       * config/aarch64/aarch64.c (aarch64_return_address_signing_enabled): Add
> >>       check for b-key.
> >>       * config/aarch64/aarch64.c (aarch64_ra_sign_key,
> >>       aarch64_post_cfi_startproc, aarch64_handle_pac_ret_b_key): Define.
> >>       * config/aarch64/aarch64.h (TARGET_ASM_POST_CFI_STARTPROC): Define.
> >>       * config/aarch64/aarch64.c (aarch64_pac_ret_subtypes): Add "b-key".
> >>       * config/aarch64/aarch64.md (unspec): Add UNSPEC_AUTIA1716,
> >>       UNSPEC_AUTIB1716, UNSPEC_AUTIASP, UNSPEC_AUTIBSP, UNSPEC_PACIA1716,
> >>       UNSPEC_PACIB1716, UNSPEC_PACIASP, UNSPEC_PACIBSP.
> >>       * config/aarch64/aarch64.md (do_return): Add check for b-key.
> >>       * config/aarch64/aarch64.md (<pauth_mnem_prefix>sp): Replace
> >>       pauth_hint_num_a with pauth_hint_num.
> >>       * config/aarch64/aarch64.md (<pauth_mnem_prefix>1716): Replace
> >>       pauth_hint_num_a with pauth_hint_num.
> >>       * config/aarch64/aarch64.opt (msign-return-address=): Deprecate.
> >>       * config/aarch64/iterators.md (PAUTH_LR_SP): Add UNSPEC_AUTIASP,
> >>       UNSPEC_AUTIBSP, UNSPEC_PACIASP, UNSPEC_PACIBSP.
> >>       * config/aarch64/iterators.md (PAUTH_17_16): Add UNSPEC_AUTIA1716,
> >>       UNSPEC_AUTIB1716, UNSPEC_PACIA1716, UNSPEC_PACIB1716.
> >>       * config/aarch64/iterators.md (pauth_mnem_prefix): Add UNSPEC_AUTIA1716,
> >>       UNSPEC_AUTIB1716, UNSPEC_PACIA1716, UNSPEC_PACIB1716, UNSPEC_AUTIASP,
> >>       UNSPEC_AUTIBSP, UNSPEC_PACIASP, UNSPEC_PACIBSP.
> >>       * config/aarch64/iterators.md (pauth_hint_num_a): Replace
> >>       UNSPEC_PACI1716 and UNSPEC_AUTI1716 with UNSPEC_PACIA1716 and
> >>       UNSPEC_AUTIA1716 respectively.
> >>       * config/aarch64/iterators.md (pauth_hint_num_a): Rename to pauth_hint_num
> >>       and add UNSPEC_PACIBSP, UNSPEC_AUTIBSP, UNSPEC_PACIB1716, UNSPEC_AUTIB1716.
> >>
> >> gcc/testsuite
> >> 2018-12-21  Sam Tebbs<sam.tebbs@arm.com>
> >>
> >>       * gcc.target/aarch64/return_address_sign_1.c (dg-final): Replace
> >>       "autiasp" and "paciasp" with "hint\t29 // autisp" and
> >>       "hint\t25 // pacisp" respectively.
> >>       * gcc.target/aarch64/return_address_sign_2.c (dg-final): Replace
> >>       "paciasp" with "hint\t25 // pacisp".
> >>       * gcc.target/aarch64/return_address_sign_3.c (dg-final): Replace
> >>       "paciasp" and "autiasp" with "pacisp" and "autisp" respectively.
> >>       * gcc.target/aarch64/return_address_sign_b_1.c: New file.
> >>       * gcc.target/aarch64/return_address_sign_b_2.c: New file.
> >>       * gcc.target/aarch64/return_address_sign_b_3.c: New file.
> >>       * gcc.target/aarch64/return_address_sign_b_exception.c: New file.
> >>       * gcc.target/aarch64/return_address_sign_builtin.c: New file
> >>
> >> libgcc/
> >> 2018-12-21  Sam Tebbs<sam.tebbs@arm.com>
> >>
> >>       * config/aarch64/aarch64-unwind.h (aarch64_cie_signed_with_b_key): New
> >>       function.
> >>       * config/aarch64/aarch64-unwind.h (aarch64_post_extract_frame_addr,
> >>       aarch64_post_frob_eh_handler_addr): Add check for b-key.
> >>       * unwind-dw2-fde.c (get_cie_encoding): Add check for 'B' in augmentation
> >>       string.
> >>       * unwind-dw2.c (extract_cie_info): Add check for 'B' in augmentation
> >>       string.
> >>

  reply	other threads:[~2019-01-14 10:44 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-02 17:35 Sam Tebbs
2018-11-02 18:02 ` Sam Tebbs
2018-11-09 11:05   ` Sam Tebbs
2018-12-21 15:04     ` Sam Tebbs
2019-01-04 16:56       ` Sam Tebbs
2019-01-07 18:28       ` James Greenhalgh
2019-01-08 11:38         ` Sam Tebbs
2019-01-14 10:44           ` Kyrill Tkachov [this message]
2019-01-23 10:43             ` Sam Tebbs
2019-01-31 14:56               ` Sam Tebbs
2019-03-01 14:12                 ` Sam Tebbs
2019-05-29  9:29                   ` Sam Tebbs
2019-05-29 11:53                     ` Christophe Lyon
2019-05-29 14:24                       ` Sam Tebbs
2019-05-30 12:29                         ` Sam Tebbs

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5C3C67EC.1010508@foss.arm.com \
    --to=kyrylo.tkachov@foss.arm.com \
    --cc=James.Greenhalgh@arm.com \
    --cc=Marcus.Shawcroft@arm.com \
    --cc=Richard.Earnshaw@arm.com \
    --cc=Sam.Tebbs@arm.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=ian@airs.com \
    --cc=law@redhat.com \
    --cc=nd@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).