gcc/ 2019-05-29 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_handle_standard_branch_protection, aarch64_handle_pac_ret_protection): Set default sign key to A. * config/aarch64/aarch64.c (aarch64_expand_epilogue, aarch64_expand_prologue): 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. * doc/invoke.texi (-mbranch-protection): Add b-key type. * config/aarch64/aarch64-bti-insert.c (aarch64_pac_insn_p): Rename UNSPEC_PACISP to UNSPEC_PACIASP and UNSPEC_PACIBSP. gcc/testsuite 2019-05-29 Sam Tebbs <sam.tebbs@arm.com> * 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_ab_exception.c: New file. * gcc.target/aarch64/return_address_sign_builtin.c: New file libgcc/ 2019-05-29 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. * config/aarch64/aarch64-unwind-h (aarch64_post_extract_frame_addr, aarch64_post_frob_eh_handler_addr, aarch64_post_frob_update_context): Rename RA_A_SIGNED_BIT to RA_SIGNED_BIT. * 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. (RA_A_SIGNED_BIT): Rename to RA_SIGNED_BIT. From-SVN: r271735
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| include | Loading commit data... | |
| avr-mmcu.texi | Loading commit data... | |
| bugreport.texi | Loading commit data... | |
| cfg.texi | Loading commit data... | |
| collect2.texi | Loading commit data... | |
| compat.texi | Loading commit data... | |
| configfiles.texi | Loading commit data... | |
| configterms.texi | Loading commit data... | |
| contrib.texi | Loading commit data... | |
| contribute.texi | Loading commit data... | |
| cpp.texi | Loading commit data... | |
| cppdiropts.texi | Loading commit data... | |
| cppenv.texi | Loading commit data... | |
| cppinternals.texi | Loading commit data... | |
| cppopts.texi | Loading commit data... | |
| cppwarnopts.texi | Loading commit data... | |
| extend.texi | Loading commit data... | |
| fragments.texi | Loading commit data... | |
| frontends.texi | Loading commit data... | |
| gcc.texi | Loading commit data... | |
| gccint.texi | Loading commit data... | |
| gcov-dump.texi | Loading commit data... | |
| gcov-tool.texi | Loading commit data... | |
| gcov.texi | Loading commit data... | |
| generic.texi | Loading commit data... | |
| gimple.texi | Loading commit data... | |
| gnu.texi | Loading commit data... | |
| gty.texi | Loading commit data... | |
| headerdirs.texi | Loading commit data... | |
| hostconfig.texi | Loading commit data... | |
| implement-c.texi | Loading commit data... | |
| implement-cxx.texi | Loading commit data... | |
| install-old.texi | Loading commit data... | |
| install.texi | Loading commit data... | |
| install.texi2html | Loading commit data... | |
| interface.texi | Loading commit data... | |
| invoke.texi | Loading commit data... | |
| languages.texi | Loading commit data... | |
| libgcc.texi | Loading commit data... | |
| loop.texi | Loading commit data... | |
| lto-dump.texi | Loading commit data... | |
| lto.texi | Loading commit data... | |
| makefile.texi | Loading commit data... | |
| match-and-simplify.texi | Loading commit data... | |
| md.texi | Loading commit data... | |
| objc.texi | Loading commit data... | |
| optinfo.texi | Loading commit data... | |
| options.texi | Loading commit data... | |
| passes.texi | Loading commit data... | |
| plugins.texi | Loading commit data... | |
| poly-int.texi | Loading commit data... | |
| portability.texi | Loading commit data... | |
| rtl.texi | Loading commit data... | |
| service.texi | Loading commit data... | |
| sourcebuild.texi | Loading commit data... | |
| standards.texi | Loading commit data... | |
| tm.texi | Loading commit data... | |
| tm.texi.in | Loading commit data... | |
| tree-ssa.texi | Loading commit data... | |
| trouble.texi | Loading commit data... | |
| ux.texi | Loading commit data... |