From: Kyrill Tkachov <kyrylo.tkachov@foss.arm.com>
To: "Andre Vieira (lists)" <Andre.SimoesDiasVieira@arm.com>,
gcc-patches@gcc.gnu.org
Subject: Re: [PATCHv3 5/7, GCC, ARM, V8M] Handling ARMv8-M Security Extension's cmse_nonsecure_call attribute
Date: Wed, 30 Nov 2016 17:22:00 -0000 [thread overview]
Message-ID: <583F0AC8.8050105@foss.arm.com> (raw)
In-Reply-To: <583EC08E.3000403@arm.com>
On 30/11/16 12:05, Andre Vieira (lists) wrote:
> Hi,
>
> I got a bug report against the old version of this patch and fixed it
> here. This had to do with GCC optimizations sharing types with and
> without the 'cmse_nonsecure_call' attribute. The patch now no longer
> sets the main variant, this didn't seem to do what I thought it did.
> Instead the patch now creates distinct type copies for every declared
> pointer that eventually points to the function type with the attribute,
> it will also create a distinct copy for the function type itself.
> Another change in this patch was to make 'arm_comp_type_attributes', the
> ARM implementation of TARGET_COMP_TYPE_ATTRIBUTES, deny compatibility
> between function types with the attribute and without.
>
> I added a test case to test the issue solved with these changes.
Ok.
Thanks,
Kyrill
> *** gcc/ChangeLog ***
> 2016-11-xx Andre Vieira <andre.simoesdiasvieira@arm.com>
> Thomas Preud'homme <thomas.preudhomme@arm.com>
>
> * config/arm/arm.c (gimplify.h): New include.
> (arm_handle_cmse_nonsecure_call): New.
> (arm_attribute_table): Added cmse_nonsecure_call.
> (arm_comp_type_attributes): Deny compatibility of function types
> with
> without the cmse_nonsecure_call attribute.
> * doc/extend.texi (ARM ARMv8-M Security Extensions): New attribute.
>
> *** gcc/testsuite/ChangeLog ***
> 2016-11-xx Andre Vieira <andre.simoesdiasvieira@arm.com>
> Thomas Preud'homme <thomas.preudhomme@arm.com>
>
> * gcc.target/arm/cmse/cmse-3.c: Add tests.
> * gcc.target/arm/cmse/cmse-4.c: Add tests.
> * gcc.target/arm/cmse/cmse-15.c: New.
>
>
> Cheers,
> Andre
next prev parent reply other threads:[~2016-11-30 17:22 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-25 13:17 [PATCH 0/7, GCC, V8M] ARMv8-M Security Extensions Andre Vieira (lists)
2016-07-25 13:20 ` [PATCH 1/7, GCC, ARM, V8M] Add support for ARMv8-M's Secure Extensions flag and intrinsics Andre Vieira (lists)
2016-08-24 11:00 ` [PATCHv2 " Andre Vieira (lists)
2016-10-25 16:26 ` Andre Vieira (lists)
2016-10-26 9:13 ` Kyrill Tkachov
2016-10-26 13:00 ` Kyrill Tkachov
2016-10-27 9:54 ` Andre Vieira (lists)
2016-10-27 10:01 ` Kyrill Tkachov
2016-12-05 11:27 ` [arm-embedded][committed][PATCH 1/7] " Andre Vieira (lists)
2016-07-25 13:21 ` [PATCH 2/7, GCC, ARM, V8M] Handling ARMv8-M Security Extension's cmse_nonsecure_entry attribute Andre Vieira (lists)
2016-08-24 11:01 ` [PATCHv2 " Andre Vieira (lists)
2016-10-25 16:28 ` Andre Vieira (lists)
2016-10-26 9:33 ` Kyrill Tkachov
2016-10-26 16:28 ` Andre Vieira (lists)
2016-10-26 16:28 ` Kyrill Tkachov
2016-10-27 9:54 ` Andre Vieira (lists)
2016-10-27 10:19 ` Kyrill Tkachov
2016-12-05 11:31 ` [arm-embedded][committed][PATCH 2/7] " Andre Vieira (lists)
2016-07-25 13:23 ` [PATCH 3/7, GCC, ARM, V8M] ARMv8-M Security Extension's cmse_nonsecure_entry: __acle_se label and bxns return Andre Vieira (lists)
2016-10-25 16:29 ` Andre Vieira (lists)
2016-10-26 10:03 ` Kyrill Tkachov
2016-10-27 9:55 ` Andre Vieira (lists)
2016-12-05 11:34 ` [arm-embedded][committed][PATCH 3/7] " Andre Vieira (lists)
2016-07-25 13:24 ` [PATCH 4/7, GCC, ARM, V8M] ARMv8-M Security Extension's cmse_nonsecure_entry: clear registers Andre Vieira (lists)
2016-08-24 11:01 ` [PATCHv2 " Andre Vieira (lists)
2016-10-25 16:29 ` Andre Vieira (lists)
2016-10-26 12:51 ` Kyrill Tkachov
2016-10-26 16:26 ` Andre Vieira (lists)
2016-10-26 16:30 ` Kyrill Tkachov
2016-10-27 10:00 ` Andre Vieira (lists)
2016-10-27 10:44 ` Kyrill Tkachov
2016-10-28 16:08 ` Andre Vieira (lists)
2016-11-08 12:16 ` Kyrill Tkachov
2016-11-23 11:52 ` Andre Vieira (lists)
2016-11-30 15:32 ` Andre Vieira (lists)
2016-11-30 17:22 ` Kyrill Tkachov
2016-12-05 11:36 ` [arm-embedded][committed][PATCH 4/7] " Andre Vieira (lists)
2016-10-26 14:14 ` [PATCHv2 4/7, GCC, ARM, V8M] " Kyrill Tkachov
2016-07-25 13:25 ` [PATCH 5/7, GCC, ARM, V8M] Handling ARMv8-M Security Extension's cmse_nonsecure_call attribute Andre Vieira (lists)
2016-08-24 11:01 ` [PATCHv2 " Andre Vieira (lists)
2016-10-25 16:29 ` Andre Vieira (lists)
2016-10-27 10:00 ` Andre Vieira (lists)
2016-11-04 9:30 ` Kyrill Tkachov
2016-11-30 12:05 ` [PATCHv3 " Andre Vieira (lists)
2016-11-30 17:22 ` Kyrill Tkachov [this message]
2016-12-05 11:38 ` [PATCHv3 5/7, GCC[arm-embedded][committed][PATCH 5/7] Handling ARMv8-M Security Extension's cmse_nonsecure_call attribute, " Andre Vieira (lists)
2016-07-25 13:26 ` [PATCH 6/7, GCC, ARM, V8M] ARMv8-M Security Extension's cmse_nonsecure_call: use __gnu_cmse_nonsecure_call Andre Vieira (lists)
2016-08-24 11:02 ` [PATCHv2 " Andre Vieira (lists)
2016-10-25 16:30 ` Andre Vieira (lists)
2016-10-27 10:01 ` Andre Vieira (lists)
2016-11-09 14:54 ` Andre Vieira (lists)
2016-11-11 11:52 ` Kyrill Tkachov
2016-11-11 16:15 ` Andre Vieira (lists)
2016-11-11 16:19 ` Kyrill Tkachov
2016-11-11 16:19 ` Kyrill Tkachov
2016-11-23 11:54 ` Andre Vieira (lists)
2016-12-02 13:36 ` Andre Vieira (lists)
2016-12-02 13:42 ` Kyrill Tkachov
2016-12-05 11:44 ` [arm-embedded][committed][PATCH 6/7] " Andre Vieira (lists)
2016-07-25 13:29 ` [PATCH 7/7, GCC, ARM, V8M] Added support for ARMV8-M Security Extension cmse_nonsecure_caller intrinsic Andre Vieira (lists)
2016-08-24 11:02 ` Andre Vieira (lists)
2016-10-25 16:30 ` Andre Vieira (lists)
2016-11-09 10:27 ` Kyrill Tkachov
2016-11-09 14:53 ` Andre Vieira (lists)
2016-11-30 12:06 ` Andre Vieira (lists)
2016-12-05 11:46 ` [arm-embedded][committed][PATCH 7/7] " Andre Vieira (lists)
2016-08-08 4:20 ` [PATCH 0/7, GCC, V8M] ARMv8-M Security Extensions Sandra Loosemore
2016-08-09 12:01 ` Andre Vieira (lists)
2016-08-09 16:47 ` Sandra Loosemore
2016-08-10 8:09 ` Andre Vieira (lists)
2016-08-24 11:02 ` Andre Vieira (lists)
2016-10-24 16:14 ` Kyrill Tkachov
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=583F0AC8.8050105@foss.arm.com \
--to=kyrylo.tkachov@foss.arm.com \
--cc=Andre.SimoesDiasVieira@arm.com \
--cc=gcc-patches@gcc.gnu.org \
/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).