ARMv8-M Security Extension's cmse_nonsecure_entry: __acle_se label and bxns
authorAndre Vieira <andre.simoesdiasvieira@arm.com>
Fri, 2 Dec 2016 15:27:03 +0000 (15:27 +0000)
committerAndre Vieira <avieira@gcc.gnu.org>
Fri, 2 Dec 2016 15:27:03 +0000 (15:27 +0000)
commit9ad1f699b81ce32d1193301ee2c0c188abf64d28
treed98a57abc1d9a55e1b9bc171575481714d4b4619
parent97b0656d67d2d39a79556bd200d3b6c41b2e5d6f
ARMv8-M Security Extension's cmse_nonsecure_entry: __acle_se label and bxns
return

    gcc/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
    Thomas Preud'homme  <thomas.preudhomme@arm.com>

* config/arm/arm.c (use_return_insn): Change to return with  bxns
when cmse_nonsecure_entry.
(output_return_instruction): Likewise.
(arm_output_function_prologue): Likewise.
(thumb_pop): Likewise.
(thumb_exit): Likewise.
(thumb2_expand_return): Assert that entry functions always have simple
returns.
(arm_expand_epilogue): Handle entry functions.
(arm_function_ok_for_sibcall): Disable sibcall for entry functions.
(arm_asm_declare_function_name): New.
* config/arm/arm-protos.h (arm_asm_declare_function_name): New.
* config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME): Redefine to
use arm_asm_declare_function_name.

    gcc/testsuite/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
Thomas Preud'homme  <thomas.preudhomme@arm.com>

* gcc.target/arm/cmse/cmse-4.c: New.
* gcc.target/arm/cmse/cmse-9.c: New.
* gcc.target/arm/cmse/cmse-10.c: New.

Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com>
From-SVN: r243189
gcc/ChangeLog
gcc/config/arm/arm-protos.h
gcc/config/arm/arm.c
gcc/config/arm/elf.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/cmse/cmse-10.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/cmse/cmse-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/cmse/cmse-9.c [new file with mode: 0644]