The 04/09/2024 23:59, Matheus Afonso Martins Moreira via Gcc wrote:
> > and using raw syscalls outside of the single runtime the
> > application is using is problematic (at least on linux).
>
> Why do you say they are problematic on Linux though? Please elaborate.
because the portable c api
https://gcc.gnu.org/g:3458fa6e8c32f128c666b49cfcb65dfdd52d7e43
commit 3458fa6e8c32f128c666b49cfcb65dfdd52d7e43
Author: Szabolcs Nagy
Date: Thu Dec 28 13:37:38 2023 +
aarch64: Introduce indirect_return attribute
Tail calls of indirect_return functions from non-indirect_return
https://gcc.gnu.org/g:9f2fe2932ca35b736685753a85bd5c43459f24de
commit 9f2fe2932ca35b736685753a85bd5c43459f24de
Author: Szabolcs Nagy
Date: Tue Apr 2 15:43:23 2024 +0100
aarch64: libitm: Add GCS support
Transaction begin and abort use setjmp/longjmp like operations that
need
https://gcc.gnu.org/g:78b29b5934193bd7e057aa8196ab8645df092d44
commit 78b29b5934193bd7e057aa8196ab8645df092d44
Author: Szabolcs Nagy
Date: Fri Dec 22 15:11:25 2023 +
aarch64: libatomic: add GCS marking to asm
libatomic/ChangeLog:
*
https://gcc.gnu.org/g:99a291c0313e8e839c3ffd1fdc5132b4d6462968
commit 99a291c0313e8e839c3ffd1fdc5132b4d6462968
Author: Szabolcs Nagy
Date: Tue May 9 14:32:46 2023 +0100
aarch64: Emit GNU property NOTE for GCS
TODO: relies on experimental binutils ABI, should use build attributes.
https://gcc.gnu.org/g:b32a17f9f43d68859e31d7a6af7b21ac2ed42742
commit b32a17f9f43d68859e31d7a6af7b21ac2ed42742
Author: Szabolcs Nagy
Date: Fri Dec 22 13:44:19 2023 +
aarch64: libgcc: add GCS marking to asm
libgcc/ChangeLog:
* config/aarch64/aarch64-asm.h
https://gcc.gnu.org/g:2a9d500c8f2fd1004cdcbcdec063681dbb0bb1f1
commit 2a9d500c8f2fd1004cdcbcdec063681dbb0bb1f1
Author: Szabolcs Nagy
Date: Wed Jun 7 16:17:53 2023 +0100
aarch64: Add test for GCS ACLE defs
gcc/testsuite/ChangeLog:
*
https://gcc.gnu.org/g:2185dc7cdb6d536e4d9a49a77c552e58041cb0bc
commit 2185dc7cdb6d536e4d9a49a77c552e58041cb0bc
Author: Szabolcs Nagy
Date: Wed Apr 19 14:01:36 2023 +0100
aarch64: Add GCS support to the unwinder
TODO:
- Follows the current linux ABI that uses single signal
https://gcc.gnu.org/g:d5a22a53f58403c888a43c75c5983ba3cb5023ae
commit d5a22a53f58403c888a43c75c5983ba3cb5023ae
Author: Szabolcs Nagy
Date: Fri Apr 14 18:23:52 2023 +0100
aarch64: Add GCS support for nonlocal stack save
Nonlocal stack save and restore has to also save and restore
https://gcc.gnu.org/g:f94cfdab086f521592939f03408f59f39a4bdd5a
commit f94cfdab086f521592939f03408f59f39a4bdd5a
Author: Szabolcs Nagy
Date: Tue May 9 17:04:34 2023 +0100
aarch64: Add ACLE feature macros for GCS
gcc/ChangeLog:
* config/aarch64/aarch64-c.cc
https://gcc.gnu.org/g:57aec9c418f837bf427d8317bebdc0f825cbb043
commit 57aec9c418f837bf427d8317bebdc0f825cbb043
Author: Szabolcs Nagy
Date: Tue May 9 16:00:01 2023 +0100
aarch64: Add GCS instructions
Add instructions for the Guarded Control Stack extension.
GCSSS1 and
https://gcc.gnu.org/g:87217fd89a9bd595a58897bafc593a7e25051ee4
commit 87217fd89a9bd595a58897bafc593a7e25051ee4
Author: Szabolcs Nagy
Date: Wed Jun 7 10:58:06 2023 +0100
aarch64: Add non-local goto and jump tests for GCS
These are scan asm tests only, relying on existing execution
https://gcc.gnu.org/g:90ff9175ede4f4671755f0296b5ce89d8d69f966
commit 90ff9175ede4f4671755f0296b5ce89d8d69f966
Author: Szabolcs Nagy
Date: Tue Jun 6 17:35:51 2023 +0100
aarch64: Add __builtin_aarch64_gcs* tests
gcc/testsuite/ChangeLog:
*
https://gcc.gnu.org/g:4880a14b6222839396bcb93ee27669db4e88ff01
commit 4880a14b6222839396bcb93ee27669db4e88ff01
Author: Szabolcs Nagy
Date: Tue May 9 16:21:28 2023 +0100
aarch64: Add GCS builtins
Add new builtins for GCS:
void *__builtin_aarch64_gcspr (void)
https://gcc.gnu.org/g:0c0ee07e8b10e071c5b88fbae6f109778a4e578c
commit 0c0ee07e8b10e071c5b88fbae6f109778a4e578c
Author: Szabolcs Nagy
Date: Fri Jun 2 16:15:25 2023 +0100
aarch64: Add __builtin_aarch64_chkfeat tests
gcc/testsuite/ChangeLog:
*
https://gcc.gnu.org/g:e26ccd302f4face487da5b530d4dbeb4eebf7d43
commit e26ccd302f4face487da5b530d4dbeb4eebf7d43
Author: Szabolcs Nagy
Date: Tue May 9 15:24:18 2023 +0100
aarch64: Add __builtin_aarch64_chkfeat
Builtin for chkfeat: the input argument is used to initialize x16 then
https://gcc.gnu.org/g:309f26c5301d11891a6adddf9515adf5a9b0
commit 309f26c5301d11891a6adddf9515adf5a9b0
Author: Szabolcs Nagy
Date: Tue May 9 15:37:49 2023 +0100
aarch64: Add support for chkfeat insn
This is a hint space instruction to check for enabled HW features and
https://gcc.gnu.org/g:311c3aa1e58672c36991a193db5752d3dcf8e7d9
commit 311c3aa1e58672c36991a193db5752d3dcf8e7d9
Author: Szabolcs Nagy
Date: Fri Jun 30 16:50:23 2023 +0100
aarch64: Add target pragma tests for gcs
gcc/testsuite/ChangeLog:
*
https://gcc.gnu.org/g:2c160a731e7764e97a2b8014149aaee47a11fbba
commit 2c160a731e7764e97a2b8014149aaee47a11fbba
Author: Szabolcs Nagy
Date: Fri Jun 30 16:31:23 2023 +0100
aarch64: Add branch-protection target pragma tests
gcc/testsuite/ChangeLog:
*
https://gcc.gnu.org/g:50dc77071139c477a10c78d3d73ff2db4dcd6ef7
commit 50dc77071139c477a10c78d3d73ff2db4dcd6ef7
Author: Szabolcs Nagy
Date: Mon Jun 19 12:57:56 2023 +0100
aarch64: Add -mbranch-protection=gcs option
This enables Guarded Control Stack (GCS) compatible code
The branch 'ARM/heads/gcs' was updated to point to:
3458fa6e8c3... aarch64: Introduce indirect_return attribute
It previously pointed to:
7f952ecef18... aarch64: Introduce indirect_return attribute
Diff:
!!! WARNING: THE FOLLOWING COMMITS ARE NO LONGER ACCESSIBLE (LOST):
The 04/08/2024 06:19, Matheus Afonso Martins Moreira via Gcc wrote:
> __builtin_linux_system_call(long n, ...)
...
> Calling these builtins will make GCC place all the parameters
> in the correct registers for the system call, emit the appropriate
> instruction for the target architecture and
https://gcc.gnu.org/g:1bf70e68e4910fe0904466d06cae7f747c02ab72
commit r14-9426-g1bf70e68e4910fe0904466d06cae7f747c02ab72
Author: Szabolcs Nagy
Date: Mon Jun 19 12:56:41 2023 +0100
aarch64,arm: Move branch-protection data to targets
The branch-protection types are target specific,
The 01/13/2024 13:49, Florian Weimer wrote:
> This commit
>
> commit 8abddb187b33480d8827f44ec655f45734a1749d
> Author: Andrew Burgess
> Date: Sat Aug 5 14:31:06 2023 +0200
>
> libgcc: support heap-based trampolines
>
> Add support for heap-based trampolines on x86_64-linux,
The branch-protection types are target specific, not the same on arm
and aarch64. This currently affects pac-ret+b-key, but there will be
a new type on aarch64 that is not relevant for arm.
gcc/ChangeLog:
* config/aarch64/aarch64-opts.h (enum aarch64_key_type): Rename to ...
gcc/testsuite/ChangeLog:
* gcc.target/aarch64/eh_return-2.c: New test.
* gcc.target/aarch64/eh_return-3.c: New test.
---
gcc/testsuite/gcc.target/aarch64/eh_return-2.c | 9 +
gcc/testsuite/gcc.target/aarch64/eh_return-3.c | 14 ++
2 files changed, 23
Update tests for the new branch-protection parser errors.
gcc/testsuite/ChangeLog:
* gcc.target/aarch64/branch-protection-attr.c: Update.
* gcc.target/aarch64/branch-protection-option.c: Update.
---
gcc/testsuite/gcc.target/aarch64/branch-protection-attr.c | 6 +++---
EH returns no longer rely on clobbering the return address on the stack
so forcing a stack frame is not necessary.
This does not actually change the code gen for the unwinder since there
are calls before the EH return.
gcc/ChangeLog:
* config/aarch64/aarch64.cc
Refactor the parsing to have a single API and fix a few parsing issues:
- Different handling of "bti+none" and "none+bti": these should be
rejected because "none" can only appear alone.
- Accepted empty strings such as "bti++pac-ret" or "bti+", this bug
was caused by using strtok_r.
-
From: Richard Sandiford
The prologue/epilogue pass allows the prologue sequence
to contain jumps. The sequence is then partitioned into
basic blocks using find_many_sub_basic_blocks.
This patch treats epilogues in the same way. It's needed for
a follow-on aarch64 patch that adds conditional
The expected way to handle eh_return is to pass the stack adjustment
offset and landing pad address via
EH_RETURN_STACKADJ_RTX
EH_RETURN_HANDLER_RTX
to the epilogue that is shared between normal return paths and the
eh_return paths. EH_RETURN_HANDLER_RTX is the stack slot of the
return
On aarch64 this caused ICE with pragma push_options since
commit ae54c1b09963779c5c3914782324ff48af32e2f1
Author: Wilco Dijkstra
CommitDate: 2022-06-01 18:13:57 +0100
AArch64: Cleanup option processing code
The failure is at pop_options:
internal compiler error: ‘global_options’
The tests manipulate the return address in abitest-2.h and thus not
compatible with -mbranch-protection=pac-ret+leaf or
-mbranch-protection=gcs.
gcc/testsuite/ChangeLog:
* gcc.target/aarch64/aapcs64/func-ret-1.c: Disable branch-protection.
*
This is needed since eh_return no longer prevents pac-ret in the
normal return path.
gcc/testsuite/ChangeLog:
* gcc.target/aarch64/return_address_sign_1.c: Move func4 to ...
* gcc.target/aarch64/return_address_sign_2.c: ... here and fix the
scan asm check.
*
gcc/ChangeLog:
* config/aarch64/aarch64.h (AARCH64_ISA_RCPC): Remove dup.
---
gcc/config/aarch64/aarch64.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index 2b0fc97bb71..c783cb96c48 100644
---
I'm working on Guarded Control Stack support for aarch64 and have a
set of patches that are needed for GCS but seem useful without it so
makes sense to review them separately from the rest of the GCS work.
GCS support will depend on the linux ABI that is under discussion at
The 07/11/2023 17:20, Florian Weimer wrote:
> * Richard Earnshaw:
>
> > On 11/07/2023 10:37, Florian Weimer via Gcc-patches wrote:
> >> libgcc/
> >>* config/aarch64/aarch64-unwind.h
> >> (aarch64_cie_signed_with_b_key):
> >>Add missing const qualifier. Cast from const unsigned char *
>
The 01/03/2023 17:27, Wilco Dijkstra wrote:
>
> > Also, if I understood correctly, the reason we use REG_UNSAVED is to
> > ensure that state from one frame isn't carried across to a parent frame,
> > in cases where the parent frame lacks any signing. That is, each frame
> > should start out with
The 12/06/2022 11:58, Wilco Dijkstra wrote:
> > i don't think how[*RA_STATE] can ever be set to REG_SAVED_OFFSET,
> > this pseudo reg is not spilled to the stack, it is reset to 0 in
> > each frame and then toggled within a frame.
>
> It's is just a state, we can use any state we want since it is
The 12/05/2022 19:04, Richard Sandiford wrote:
> Wilco Dijkstra writes:
> > A recent change only initializes the regs.how[] during Dwarf unwinding
> > which resulted in an uninitialized offset used in return address signing
> > and random failures during unwinding. The fix is to use
The 11/28/2022 21:37, Stephen Smith via Binutils wrote:
> I am working on a project which is using an A53 core. The core does not
> raise an exception if there is a division by zero (for either integer or
> floating point division).
floating-point division by zero signals the FE_DIVBYZERO
The 07/13/2022 12:55, David Malcolm wrote:
> On Wed, 2022-07-13 at 16:01 +0200, Florian Weimer wrote:
> > * David Malcolm:
> GCC trunk's -fanalyzer implements the new warnings via a state machine
> for file-descriptor values; it currently has rules for handling "open",
> "close", "read", and
The 07/12/2022 18:25, David Malcolm via Libc-alpha wrote:
> On Tue, 2022-07-12 at 18:16 -0400, David Malcolm wrote:
> > On Tue, 2022-07-12 at 23:03 +0530, Mir Immad wrote:
> > GCC's attribute syntax here:
> > https://gcc.gnu.org/onlinedocs/gcc/Attribute-Syntax.html
> > allows for a parenthesized
Last time aarch64 libmvec was discussed, the OpenMP
declare variant syntax support was not ready in gcc
and there were open questions around how simd isa
variants would be supported.
https://gcc.gnu.org/pipermail/gcc-patches/2019-October/532940.html
The vector function ABI for aarch64 allows the
The 05/13/2022 16:35, Richard Sandiford wrote:
> Szabolcs Nagy via Gcc-patches writes:
> > The RA_SIGN_STATE dwarf pseudo-register is normally only set using the
> > DW_CFA_AARCH64_negate_ra_state (== DW_CFA_window_save) operation which
> > toggles the return address signedne
The RA_SIGN_STATE dwarf pseudo-register is normally only set using the
DW_CFA_AARCH64_negate_ra_state (== DW_CFA_window_save) operation which
toggles the return address signedness state (the default state is 0).
(It may be set by remember/restore_state CFI too, those save/restore
the state of all
The 11/23/2021 16:32, Dan Li wrote:
> On 11/3/21 8:00 PM, Szabolcs Nagy wrote:
> > i assume exception handling info has to change for scs to
> > work (to pop the shadow stack when transferring control),
> > so either scs must require -fno-exceptions or the eh info
> > changes must be implemented.
The 11/03/2021 00:24, Dan Li wrote:
> On 11/2/21 9:04 PM, Szabolcs Nagy wrote:
> > The 11/02/2021 00:06, Dan Li via Gcc-patches wrote:
> > > Shadow Call Stack can be used to protect the return address of a
> > > function at runtime, and clang already supports this feature[1].
> > >
> > > To
The 11/02/2021 00:06, Dan Li via Gcc-patches wrote:
> Shadow Call Stack can be used to protect the return address of a
> function at runtime, and clang already supports this feature[1].
>
> To enable SCS in user mode, in addition to compiler, other support
> is also required (as described in
The 11/24/2020 16:23, Siddhesh Poyarekar wrote:
> Hi,
>
> The Intel 80-bit long double format has a concept of "unnormal" numbers that
> have a non-zero exponent and zero integer bit (i.e. bit 63) in the mantissa;
> all valid long double numbers have their integer bit set to 1. Unnormal
>
The 10/05/2020 23:45, Jan Hubicka wrote:
> > The 10/05/2020 17:28, Szabolcs Nagy via Gcc-patches wrote:
> > minimal reproducer:
> >
> > #include
> > int main()
> > {
> > int r,t;
> > r = sscanf("01", "%2x", );
The 10/05/2020 17:28, Szabolcs Nagy via Gcc-patches wrote:
> The 10/05/2020 12:52, Vaseeharan Vinayagamoorthy wrote:
> > Hi,
> >
> > After this patch, I am noticing that some glibc crypto tests get stuck in
> > scanf which goes into busy loop.
> >
> > M
The 10/05/2020 12:52, Vaseeharan Vinayagamoorthy wrote:
> Hi,
>
> After this patch, I am noticing that some glibc crypto tests get stuck in
> scanf which goes into busy loop.
>
> My build/host/target setup is:
> Build: aarch64-none-linux-gnu
> Host: aarch64-none-linux-gnu
> Target:
The 09/23/2020 21:45, Jeff Law wrote:
> On 9/23/20 11:45 AM, Martin Sebor via Gcc-patches wrote:
> > On 9/23/20 9:44 AM, Szabolcs Nagy wrote:
> > > The 09/23/2020 09:22, Szabolcs Nagy wrote:
> > > > The 09/21/2020 12:45, Martin Sebor via Gcc-patches wrote:
> > > > > On 9/21/20 12:20 PM, Vaseeharan
The 10/01/2020 12:14, Alejandro Colomar via Gcc wrote:
> Here is the rendered intmax_t:
>
> intmax_t
> Include: . Alternatively, .
>
> A signed integer type capable of representing any value of any
> signed integer type supported by the implementation. According
> to
55 matches
Mail list logo