differing requirements.
Ready for trunk?
Bootstrap and test on aarch64-none-linux-gnu
Changelog for gcc/testsuite/Changelog
2018-07-10 Matthew Malcomson
* gcc.target/aarch64/vect-su-add-sub.c: New.
Changelog for gcc/Changelog
2018-07-10 Matthew Malcomson
* config/aarch64
Hi again.
Providing an updated patch to include the formatting suggestions.
Thanks,
Matthew
On 12/07/18 11:39, Sudakshina Das wrote:
Hi Matthew
On 12/07/18 11:18, Richard Sandiford wrote:
Looks good to me FWIW (not a maintainer), just a minor formatting thing:
Matthew Malcomson writes
Hi Martin,
I'm getting close to putting up a patch series that I believe could go
in before stage1 close.
I currently have to do testing on sanitizing the kernel, and track down
a bootstrap comparison diff in the code handling shadow-stack cleanup
during exception unwinding.
I just thought I'
og:
2019-11-05 Matthew Malcomson
* expr.c (build_personality_function): Fix generated type to
match actual personality functions.
### Attachment also inlined for ease of reply###
diff --git a/gcc/expr.c b/gcc/expr.c
index
2f2b53f8b6905013b4214eea1
revision 368656 as
mentioned in libsanitizer/MERGE).
libsanitizer/ChangeLog:
2019-11-05 Matthew Malcomson
* README.gcc: Mention now including lib/hwasan.
* hwasan/hwasan.cpp: New file.
* hwasan/hwasan.h: New file.
* hwasan/hwasan.syms.extra: New file
aarch64 with hwasan (though not a full bootstrap since it's
obvious).
gcc/ChangeLog:
2019-11-05 Matthew Malcomson
* config/aarch64/aarch64.c (aarch64_handle_attr_cpu): Allocate
enough bytes for the NULL character.
### Attachment also inlined for ease of
Backport from llvm-svn: 375296.
This was an experiment made possible by a non-standard feature of the
Android dynamic loader.
Going without that experiment makes implementation for glibc easier.
libsanitizer/ChangeLog:
2019-11-05 Matthew Malcomson
* hwasan/hwasan_allocator.cpp
Backported from LLVM-svn 375166.
libsanitizer/ChangeLog:
2019-11-05 Matthew Malcomson
* hwasan/hwasan.cc (InitInstrumentation): Call InitPrctl.
* hwasan/hwasan.h (InitPrctl): New decl.
* hwasan/hwasan_linux.cc (InitPrctl): New function
Backported from LLVM git id 67474c60d
libsanitizer/ChangeLog:
2019-11-05 Matthew Malcomson
* hwasan/hwasan.h (__hw_jmp_buf_struct, __hw_jmp_buf,
__hw_sigjmp_buf): Define new types for internal longjmp
implementation.
* hwasan/hwasan_interceptors.cpp
Backport from llvm upstream (monorepo revision 91167e2).
This was an experiment made possible by a non-standard feature of the
Android dynamic loader.
libsanitizer/ChangeLog:
2019-11-05 Matthew Malcomson
* hwasan/hwasan_interceptors.cpp (HwasanThreadStartFunc):
Re-introduce
Backport from llvm upstream llvm-svn: 375298.
libsanitizer/ChangeLog:
2019-11-05 Matthew Malcomson
* hwasan/hwasan_exceptions.cpp (__hwasan_personality_wrapper):
Add missing interface attribute.
### Attachment also inlined for ease of reply
This is needed for the hwasan_personality instrumentation I've added.
Backported from llvm-svn: 369721
libsanitizer/ChangeLog:
2019-11-05 Matthew Malcomson
* hwasan/hwasan_exceptions.cpp: New file.
### Attachment also inlined for ease of
Backport from llvm upstream (monorepo revision 612eadb).
This allows us to report tag mismatches without threading it through the
backend to generate assembly.
libsanitizer/ChangeLog:
2019-11-05 Matthew Malcomson
* hwasan/hwasan_interface_internal.h (__hwasan_tag_mismatch4
This patch does tries to tie libhwasan into the GCC build system in the
same way that the other sanitizer runtime libraries are handled.
libsanitizer/ChangeLog:
2019-11-05 Matthew Malcomson
* Makefile.am: Build libhwasan.
* Makefile.in: Build libhwasan.
* asan
passed.
ChangeLog:
2019-08-29 Matthew Malcomson
* configure: Regenerate.
* configure.ac: Add --bootstrap-hwasan option.
config/ChangeLog:
2019-11-05 Matthew Malcomson
* bootstrap-hwasan.mk: New file.
libiberty/ChangeLog:
2019-11-05 Matthew Malcomson
Though the library has limited support for x86, we don't have any
support for generating code targeting x86 so there is no point building
for that target.
libsanitizer/ChangeLog:
2019-11-05 Matthew Malcomson
* Makefile.am: Condition building hwasan directory.
* Makefi
given the point above.
--
gcc/ChangeLog:
2019-11-05 Matthew Malcomson
* asan.c (memory_tagging_p): New.
* asan.h (memory_tagging_p): New.
* common.opt (flag_sanitize_recover): Default for kernel
hwaddress.
(static-libhwasan): New cli o
o be
duplicated for a function that behaves exactly the same but has a
different name.
gcc/ChangeLog:
2019-11-05 Matthew Malcomson
* asan.c (handle_builtin_stack_restore): Account for HWASAN.
(handle_builtin_alloca): Account for HWASAN.
(get_mem_refs_of_builtin_call):
st a shadow stack area with
left-over colour.
Hence we ensure that the entire stack frame is cleared on function exit.
gcc/ChangeLog:
2019-11-05 Matthew Malcomson
* asan.c (hwasan_record_base): New function.
(hwasan_emit_uncolour_frame): New.
(hwasan_increment_tag):
-uptr fp = get_gr(context, 29); // x29
+uptr fp = *(uptr *)sp;
+if (fp == 0)
+ return rc;
#else
#error Unsupported architecture
#endif
-uptr sp = get_cfa(context);
TagMemory(sp, fp - sp, 0);
}
######
gcc/ChangeLog:
2019-11-05 Matthew Malcomson
* asa
The optimisation is hence disabled for memory tagging since it provides
no benefit and would require all backends that wanted this feature to
implement a similar dummy hook.
gcc/ChangeLog:
2019-11-05 Matthew Malcomson
* asan.c (hwasan_tag_init): Choose initialisation value bas
Adding hwasan tests.
Frankly, these could be tidied up a little.
I will be tidying them up while getting feedback on the hwasan introduction.
gcc/testsuite/ChangeLog:
2019-11-05 Matthew Malcomson
* c-c++-common/hwasan/arguments.c: New test.
* c-c++-common/hwasan
On 05/11/2019 11:32, Matthew Malcomson wrote:
>
> Testing done:
> Full bootstrap and regtest on x86_64 (no difference -- hwasan not used).
>
> Full bootstrap and regtest on AArch64 sanitizing with hwasan and running
> on recent kernel.
> Regressions all accounted for:
>
On 05/11/2019 15:10, Martin Liška wrote:
> On 11/5/19 12:32 PM, Matthew Malcomson wrote:
>> Hello,
>>
>> This patch series adds the LLVM hardware address sanitizer (HWASAN) to
>> GCC. The document describing HWASAN can be found here
&g
On 05/11/2019 17:22, Martin Liška wrote:
> On 11/5/19 5:11 PM, Matthew Malcomson wrote:
>> On 05/11/2019 15:10, Martin Liška wrote:
>>> On 11/5/19 12:32 PM, Matthew Malcomson wrote:
>>>> Hello,
>>>>
>>>> This patch series adds the LLVM hardware
On 05/11/2019 13:11, Andrey Konovalov wrote:
> On Tue, Nov 5, 2019 at 12:34 PM Matthew Malcomson
> wrote:
>>
>> NOTE:
>> --
>> I have defined a new macro of __SANITIZE_HWADDRESS__ that gets
>> automatically defined when compiling with hwasan. This is
I have rebased this series onto Martin Liska's patches that take the most
recent libhwasan from upstream LLVM.
https://gcc.gnu.org/ml/gcc-patches/2019-11/msg00340.html
I've also cleared up some nomenclature (I had previously used the word 'colour'
a few times instead of the word 'tag' and that cla
Though the library has limited support for x86, we don't have any
support for generating code targeting x86 so there is no point building
for that target.
libsanitizer/ChangeLog:
2019-11-07 Matthew Malcomson
* Makefile.am: Condition building hwasan directory.
* Makefi
passed.
ChangeLog:
2019-08-29 Matthew Malcomson
* configure: Regenerate.
* configure.ac: Add --bootstrap-hwasan option.
config/ChangeLog:
2019-11-07 Matthew Malcomson
* bootstrap-hwasan.mk: New file.
libiberty/ChangeLog:
2019-11-07 Matthew Malcomson
This patch does tries to tie libhwasan into the GCC build system in the
same way that the other sanitizer runtime libraries are handled.
libsanitizer/ChangeLog:
2019-11-07 Matthew Malcomson
* Makefile.am: Build libhwasan.
* Makefile.in: Build libhwasan.
* asan
gcc/ChangeLog:
2019-11-07 Matthew Malcomson
* asan.c (memory_tagging_p): New.
* asan.h (memory_tagging_p): New.
* common.opt (flag_sanitize_recover): Default for kernel
hwaddress.
(static-libhwasan): New cli option.
* config/aarch64/aarc
ed for a function that behaves exactly the same but has a
different name.
gcc/ChangeLog:
2019-11-07 Matthew Malcomson
* asan.c (handle_builtin_stack_restore): Account for HWASAN.
(handle_builtin_alloca): Account for HWASAN.
(get_mem_refs_of_builtin_call):
with left-over tag.
Hence we ensure that the entire stack frame is cleared on function exit.
gcc/ChangeLog:
2019-11-07 Matthew Malcomson
* asan.c (hwasan_record_base): New function.
(hwasan_emit_untag_frame): New.
(hwasan_increment_tag): New function.
(hwasan_with
Adding hwasan tests.
Frankly, these could be tidied up a little.
I will be tidying them up while getting feedback on the hwasan introduction.
gcc/testsuite/ChangeLog:
2019-11-07 Matthew Malcomson
* c-c++-common/hwasan/arguments.c: New test.
* c-c++-common/hwasan
On 11/11/2019 14:30, Martin Liška wrote:
> On 11/7/19 7:37 PM, Matthew Malcomson wrote:
>> +@item @samp{bootstrap-hwasan}
>> +Compiles GCC itself using HWAddress Sanitization in order to catch
>> invalid
>> +memory accesses within the GCC code. This option is on
On 07/11/2019 18:37, Matthew Malcomson wrote:
> I have rebased this series onto Martin Liska's patches that take the most
> recent libhwasan from upstream LLVM.
> https://gcc.gnu.org/ml/gcc-patches/2019-11/msg00340.html
>
> I've also cleared up some nomenclature (I had
On 11/11/2019 16:13, Matthew Malcomson wrote:
> On 07/11/2019 18:37, Matthew Malcomson wrote:
>> I have rebased this series onto Martin Liska's patches that take the most
>> recent libhwasan from upstream LLVM.
>> https://gcc.gnu.org/ml/gcc-patches/2019-11/msg00340.html
otstrapped and regression test on aarch64-none-linux-gnu native.
gcc/ChangeLog:
2019-11-12 Matthew Malcomson
PR middle-end/92410
* bb-reorder.c (pass_reorder_blocks::execute): Recompute
dataflow luids once basic blocks have been reordered.
* haifa-sched.c
On 12/11/2019 12:08, Martin Liška wrote:
> On 11/11/19 5:03 PM, Matthew Malcomson wrote:
>> Ah!
>> My apologies -- I sent up a series with a few documentation mistakes.
>> (the others were wording problems so less noticeable)
>
> That's fine, I fixed that ve
e at
https://developer.arm.com/architectures/system-architectures/software-standards/acle
gcc/ChangeLog:
2020-01-09 Matthew Malcomson
* config/aarch64/aarch64-protos.h
(aarch64_sve_ld1ro_operand_p): New.
* config/aarch64/aarch64-sve-builtins-base.cc
(class load
On 11/01/2020 07:19, Gerald Pfeifer wrote:
> On Thu, 12 Dec 2019, Matthew Malcomson wrote:
>> gcc/ChangeLog:
>>
>> 2019-12-12 Matthew Malcomson
>>
>> * doc/install.texi: Document bootstrap-asan configuration option.
>
> I see this introduces a n
> On 12/12/19 4:19 PM, Matthew Malcomson wrote:
>> - if (is_store && !param_asan_instrument_writes)
>> + if (is_store
>> + && (!param_asan_instrument_writes || !param_hwasan_instrument_writes))
>> return;
>> - if (!is_store &a
Matthew Malcomson
* config/aarch64/aarch64-c.c (_ARM_FEATURE_MATMUL_FLOAT64):
Introduce this ACLE specified predefined macro.
* config/aarch64/aarch64-option-extensions.def (f64mm): New.
(fp): Disabling this disables f64mm.
(simd): Disabling this disables
On 20/01/2020 14:53, Christophe Lyon wrote:
> On Thu, 9 Jan 2020 at 16:53, Matthew Malcomson
> wrote:
>>
>> + (match_test "aarch64_sve_ld1ro_operand_p (op, DImode)")))
>> +
>
>
>> (define_predicate "aarch64_sve_ldff1_operand"
&
read.
Testing Done:
Checked on a cross-compiler that:
Tests running for binutils commit e264b5b7a are listed as UNSUPPORTED.
Tests running for binutils commit 26916852e all pass.
gcc/testsuite/ChangeLog:
2020-01-21 Matthew Malcomson
* gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c: Use re
Ah, apologies -- you're right.
I'd already committed the patch this morning, so I'll update it with the
obvious fix.
Thanks for the catch,
Matthew
On 09/12/2019 12:48, Martin Liška wrote:
> Hello.
>
> The patch triggers the following warning:
>
> In file included from /home/marxin/Programming
Ah, apologies -- you're right.
I'd already committed the patch this morning, so I'll update it with the
obvious fix.
Thanks for the catch,
Matthew
On 09/12/2019 12:48, Martin Liška wrote:
> Hello.
>
> The patch triggers the following warning:
>
> In file included from /home/marxin/Programming
On 01/11/2019 21:09, Martin Sebor wrote:
> diff --git a/gcc/gimple-match-head.c b/gcc/gimple-match-head.c
> index 53278168a59..d7c74a1865a 100644
> --- a/gcc/gimple-match-head.c
> +++ b/gcc/gimple-match-head.c
> @@ -837,8 +837,8 @@ try_conditional_simplification (internal_fn ifn,
> gimple_match_op
Though the library has limited support for x86, we don't have any
support for generating code targeting x86 so there is no point building
for that target.
libsanitizer/ChangeLog:
2019-12-12 Matthew Malcomson
* Makefile.am: Condition building hwasan directory.
* Makefi
gcc/ChangeLog:
2019-12-12 Matthew Malcomson
* common.opt (flag_sanitize_recover): Default for kernel
hwaddress.
(static-libhwasan): New cli option.
* config/aarch64/aarch64.c (aarch64_can_tag_addresses): New.
(TARGET_MEMTAG_CAN_TAG_ADDRESSES)
Hello,
I've gone through the suggestions Martin made and implemented the ones I think
I can implement for GCC10.
The two functionality changes in this version are:
Added the --param's hwasan-instrument-reads, hwasan-instrument-writes,
hwasan-instrument-allocas, hwasan-memintrin, options. I.e. T
passed.
ChangeLog:
2019-08-29 Matthew Malcomson
* configure: Regenerate.
* configure.ac: Add --bootstrap-hwasan option.
config/ChangeLog:
2019-12-12 Matthew Malcomson
* bootstrap-hwasan.mk: New file.
libiberty/ChangeLog:
2019-12-12 Matthew Malcomson
This patch tries to tie libhwasan into the GCC build system in the same way
that the other sanitizer runtime libraries are handled.
libsanitizer/ChangeLog:
2019-12-12 Matthew Malcomson
* Makefile.am: Build libhwasan.
* Makefile.in: Build libhwasan.
* asan
with left-over tag.
Hence we ensure that the entire stack frame is cleared on function exit.
gcc/ChangeLog:
2019-12-12 Matthew Malcomson
* asan.c (hwasan_record_base): New function.
(hwasan_emit_untag_frame): New.
(hwasan_increment_tag): New function.
(hwasan_with
ed for a function that behaves exactly the same but has a
different name.
gcc/ChangeLog:
2019-12-12 Matthew Malcomson
* asan.c (handle_builtin_stack_restore): Account for HWASAN.
(handle_builtin_alloca): Account for HWASAN.
(get_mem_refs_of_builtin_call):
Adding hwasan tests.
Only interesting thing here is that we have to make sure the tagging mechanism
is deterministic to avoid flaky tests.
gcc/testsuite/ChangeLog:
2019-12-12 Matthew Malcomson
* c-c++-common/hwasan/aligned-alloc.c: New test.
* c-c++-common/hwasan/alloca
eanly).
gcc/ChangeLog:
2019-12-12 Matthew Malcomson
* doc/install.texi: Document bootstrap-asan configuration option.
###
commit 6e0bbe33120ad3f92e4266ecfe4ecb8ce8958865
Author: Matthew Malcomson
Date: Wed Nov 6 12:48:08 2019 +
Document bootstrap-asan compil
the HWASAN
sanitizer when compiling libiberty and the lto-plugin.
Also add a function to query whether -fsanitize=hwaddress has been
passed.
ChangeLog:
2019-08-29 Matthew Malcomson
* configure: Regenerate.
* configure.ac: Add --bootstrap-hwasan option.
config/ChangeLog:
2019
is that we have to make sure the tagging mechanism
is deterministic to avoid flaky tests.
gcc/testsuite/ChangeLog:
2019-12-16 Matthew Malcomson
* c-c++-common/hwasan/aligned-alloc.c: New test.
* c-c++-common/hwasan/alloca-array-accessible.c: New test.
* c-c++-common
es.
I figure I should make this easy on anyone that wants to try the patch
series out, so I'm attaching a compressed tarfile containing the entire
patch series plus the additional documentation patch so it can all be
applied at once with `git apply *`.
It's attached.
Matthew.
On
Ping
On 17/12/2019 14:11, Matthew Malcomson wrote:
> I've noticed a few minor problems with this patch series after I sent it
> out (mostly testcase stuff, one documentation tidy-up, but also that one
> patch didn't bootstrap due to something fixed in a later patch).
&g
peed then
please just ask.
Cheers,
Matthew
On 07/01/2020 15:14, Martin Liška wrote:
> On 12/12/19 4:18 PM, Matthew Malcomson wrote:
>
> Hello.
>
> I've just sent few comments that are related to the v3 of the patch set.
> Based on the HWASAN (limited) knowledge
The `function_attribute_inlinable_p` hook documentation described it
returning the value if it is OK to inline the provided fndecl into "the
current function". AFAICS This hook is only called when
`current_function_decl` is the same as the `fndecl` argument that the
hook is given, hence asking whe
Hi Alexandre,
I don't have the ability to OK the patch, but I'm attempting to do a
review in
order to reduce the workload for any maintainer. (Apologies for the slow
response).
I think you're right that the AAPCS32 requires all arguments to be passed in
registers for this testcase.
(Nit on th
t; in any way.
On 4/8/24 11:34, Matthew Malcomson wrote:
The `function_attribute_inlinable_p` hook documentation described it
returning the value if it is OK to inline the provided fndecl into "the
current function". AFAICS This hook is only called when
`current_function_decl` is the
The current no_fsanitize_address effective target check (implemented in
target-supports.exp rather than in asan.exp) has some problems with the
link path.
Because it is not called from in between asan_init and asan_finish the
link paths of the compiler are not changed to point at the build
directo
property that uses a different name to cache under, given that this is
testing something different than the original function.
Have again tested that the problematic tests run without an install
directory.
On 7/10/24 13:19, Matthew Malcomson wrote:
The current no_fsanitize_address effective
On 7/10/24 13:42, Rainer Orth wrote:
N.b. one alternative would be to remove this effective target and try to
move all tests which currently use this into directories which run their
tests between calls to `asan_finish` and `asan_init`. This seems like
it might ensure a clearer division of "asan
Though the library has limited support for x86, we don't have any
support for generating code targeting x86 so there is no point building
for that target.
libsanitizer/ChangeLog:
* Makefile.am: Condition building hwasan directory.
* Makefile.in: Regenerate.
* configure: Re
This patch tries to tie libhwasan into the GCC build system in the same way
that the other sanitizer runtime libraries are handled.
libsanitizer/ChangeLog:
* Makefile.am: Build libhwasan.
* Makefile.in: Build libhwasan.
* asan/Makefile.in: Build libhwasan.
* con
This is an analogous option to --bootstrap-asan to configure. It allows
bootstrapping GCC using HWASAN.
For the same reasons as for ASAN we have to avoid using the HWASAN
sanitizer when compiling libiberty and the lto-plugin.
Also add a function to query whether -fsanitize=hwaddress has been
pas
Adding hwasan tests.
Only interesting thing here is that we have to make sure the tagging mechanism
is deterministic to avoid flaky tests.
gcc/testsuite/ChangeLog:
* c-c++-common/hwasan/aligned-alloc.c: New test.
* c-c++-common/hwasan/alloca-array-accessible.c: New test.
Handling stack variables has three features.
1) Ensure HWASAN required alignment for stack variables
When tagging shadow memory, we need to ensure that each tag granule is
only used by one variable at a time.
This is done by ensuring that each tagged variable is aligned to the tag
granule repres
There are four main features to this change:
1) Check pointer tags match address tags.
In the new `hwasan` pass we put HWASAN_CHECK internal functions before
all memory accesses to check that tags in the pointer being used match
the tag stored in shadow memory for the memory region being used.
T
These flags can't be used at the same time as any of the other
sanitizers.
We add an equivalent flag to -static-libasan in -static-libhwasan to
ensure static linking.
The -fsanitize=kernel-hwaddress option is for compiling targeting the
kernel. This flag has defaults that allow compiling KASAN wi
o I'd like to remove such `@` lines automatically.
gcc/testsuite/ChangeLog:
2020-03-10 Matthew Malcomson
* lib/scanasm.exp (parse_function_bodies): Lines starting with '@' also
counted as fluff.
### Attachment also inlined for ease of reply
Cc'ing maintainers and original author of `check-function-bodies`.
It looks like I missed that the first time around.
Forwarded Message
Subject: [testsuite] Add @ lines to check-function-bodies fluff
Date: Tue, 10 Mar 2020 17:22:52 +
From: Matthew Malcomson
To
Hello,
Eventually we will want to backport the SLS patches to older branches.
When the GCC10 release is unfrozen we will work on getting the same patches
already posted backported to that branch. The patches already posted on the
mailing list apply cleanly to the current releases/gcc-10 branch.
Instructions following RET or BR are not necessarily executed. In order
to avoid speculation past RET and BR we can simply append a speculation
barrier.
Since these speculation barriers will not be architecturally executed,
they are not expected to add a high performance penalty.
The speculation
This patch introduces the mitigation for Straight Line Speculation past
the BLR instruction.
This mitigation replaces BLR instructions with a BL to a stub which uses
a BR to jump to the original value. These function stubs are then
appended with a speculation barrier to ensure no straight line
sp
Here we introduce the flags that will be used for straight line speculation.
The new flag introduced is `-mharden-sls=`.
This flag can take arguments of `none`, `all`, or a comma seperated list
of one or more of `retbr` or `blr`.
`none` indicates no special mitigation of the straight line speculat
On 24/07/2020 12:01, Kyrylo Tkachov wrote:
Hi Matthew,
-Original Message-
From: Matthew Malcomson
Sent: 21 July 2020 16:16
To: gcc-patches@gcc.gnu.org
Cc: Richard Earnshaw ; Kyrylo Tkachov
; Ross Burton
Subject: SLS Mitigation patches backported for GCC9
Hello,
Eventually we will
by
Dennis.
https://gcc.gnu.org/pipermail/gcc-patches/2020-March/542008.html
Ok for trunk?
gcc/ChangeLog:
2020-03-26 Matthew Malcomson
* config.gcc (arm_mve_types.h): New extra_header for arm.
* config/arm/arm-builtins.c (arm_resolve_overloaded_builtin): New
ug.cgi?id=94341
gcc/ChangeLog:
2020-04-07 Matthew Malcomson
* config/arm/arm-builtins.c (CX_UNARY_UNONE_QUALIFIERS): New.
(CX_BINARY_UNONE_QUALIFIERS): New.
(CX_TERNARY_UNONE_QUALIFIERS): New.
(arm_resolve_overloaded_builtin): Move to arm-c.c.
(arm_expa
Ok for trunk?
gcc/ChangeLog:
2020-04-08 Matthew Malcomson
* config.gcc (arm_mve_types.h): New extra_header for arm.
* config/arm/arm-builtins.c (arm_resolve_overloaded_builtin): New.
(arm_init_cde_builtins): New.
(arm_init_acle_builtins): Remove initialisation
pace
between the mnemonic and the first argument, but in one case it just has
a tab -- making all the same helps make test regexps simpler.
Testing Done:
Bootstrap and full regtest on arm-none-linux-gnueabihf
Full regtest on arm-none-eabi
gcc/ChangeLog:
2020-04-08 Matthew Malcomson
with CDE -- this avoids faulty code generation for
-Os
when producing the cx*d instructions.
Testing done:
Bootstrapped and regtested for arm-none-linux-gnueabihf.
gcc/ChangeLog:
2020-04-08 Matthew Malcomson
* config/arm/arm.c (arm_hard_regno_mode_ok): DImode registers forced
into
generation for
-Os when producing the cx*d instructions.
Testing done:
Bootstrapped and regtested for arm-none-linux-gnueabihf.
gcc/ChangeLog:
2020-04-08 Matthew Malcomson
* config/arm/arm.c (arm_hard_regno_mode_ok): DImode registers forced
into even-odd register pairs for
New in GCC 10.
### Attachment also inlined for ease of reply###
diff --git a/htdocs/gcc-10/changes.html b/htdocs/gcc-10/changes.html
index
3d8e0ba989e860d307310378a2be99b32a27261f..389561d13c69b650528e8ed8859ebbb5760438c6
100644
--- a/htdocs/gcc-10/changes.html
thout name
mangling. Hence all the function names are the same and we have many
conflicting declarations.
Testing Done:
Regression tested for arm-none-eabi.
gcc/ChangeLog:
2020-04-09 Matthew Malcomson
* config/arm/arm_cde.h: Remove `extern "C"` when compiling for
04-15 Matthew Malcomson
* config/arm/arm.md (arm_movdi): Disallow for MVE.
### Attachment also inlined for ease of reply###
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index
7bc55cce61b2e45e5875a233dd4546d5939
On 20/04/2020 08:47, Christophe Lyon via Gcc-patches wrote:
Since arm_cde.h includes stdint.h, its use requires the presence of
the right gnu/stub-*.h, so make sure to include it when checking the
arm_v8*m_main_cde* effective targets, otherwise we can decide CDE is
supported while it's not really
gcc/ChangeLog:
2020-04-21 Matthew Malcomson
Jakub Jelinek
PR target/94383
* config/aarch64/aarch64.c (enum cpp17empty_state): New.
(aapcs_vfp_sub_candidate): Account for C++17 empty base class
artificial fields.
(aarch64_vfp_is_call_or_return_can
:
2020-04-23 Matthew Malcomson
Jakub Jelinek
PR target/94383
* config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Account for C++17
empty base class artificial fields.
(aarch64_vfp_is_call_or_return_candidate): Warn when ABI PCS decision is
di
-April/544204.html
Regression tested on arm-none-eabi.
gcc/ChangeLog:
2020-04-27 Matthew Malcomson
Jakub Jelinek
PR target/94383
* config/arm/arm.c (aapcs_vfp_sub_candidate): Account for C++17 empty
base class
Hi,
A new speculative cache side-channel vulnerability has been published at
the link below, named "straight-line speculation" (SLS in this patch series).
https://developer.arm.com/support/arm-security-updates/speculative-processor-vulnerability/downloads/straight-line-speculation
This vulnerabili
ted by compiler.
gcc/ChangeLog:
2020-06-08 Matthew Malcomson
* config/aarch64/aarch64-protos.h (aarch64_indirect_call_asm):
New declaration.
* config/aarch64/aarch64.c (aarch64_use_return_insn_p): Return
false if hardening BLR instructions.
(aarch64_sl
.
Setting this on a per-function basis using attributes or the like is not
enabled, but may be in the future.
gcc/ChangeLog:
2020-06-08 Matthew Malcomson
* config/aarch64/aarch64-protos.h (aarch64_harden_sls_retbr_p):
New.
(aarch64_harden_sls_blr_p): New.
* config
every RET or BR is immediately
followed by a speculation barrier.
gcc/ChangeLog:
2020-06-08 Matthew Malcomson
* config/aarch64/aarch64-protos.h (aarch64_sls_barrier): New.
* config/aarch64/aarch64.c (aarch64_output_casesi): Emit
speculation barrier after BR instruction
is immediately followed by a speculation barrier.
b) No BLR instruction is emitted by compiler.
gcc/ChangeLog:
2020-06-23 Matthew Malcomson
* config/aarch64/aarch64-protos.h (aarch64_indirect_call_asm):
New declaration.
* config/aarch64/aarch64.c (aarch64_regno_regcla
1 - 100 of 246 matches
Mail list logo