diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2025-01-28 16:14:35 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@arm.com> | 2025-01-28 16:23:06 +0000 |
commit | 0204dcf930b5093d0811a007b7f47aa42e55e787 (patch) | |
tree | 26746ed7184a1cbb9339ea03389d2602086d2e0e /gcc/testsuite/g++.dg/cpp0x | |
parent | 54bdeca3c6214485d15454df30183a56ad3e473b (diff) | |
download | gcc-0204dcf930b5093d0811a007b7f47aa42e55e787.zip gcc-0204dcf930b5093d0811a007b7f47aa42e55e787.tar.gz gcc-0204dcf930b5093d0811a007b7f47aa42e55e787.tar.bz2 |
arm: libgcc: make -spec=sync-*.specs compatible with LTO [PR118642]
The arm-none-eabi port provides some alternative implementations of
__sync_synchronize for different implementations of the architecture.
These can be selected using one of -specs=sync-{none,dmb,cp15dmb}.specs.
These specs fragments fail, however, when LTO is used because they
unconditionally add a --defsym=__sync_synchronize=<implementation> to
the linker arguments and that fails if libgcc is not added to the list
of libraries.
Fix this by only adding the defsym if libgcc will be passed to the
linker.
libgcc/
PR target/118642
* config/arm/sync-none.specs (link): Only add the defsym if
libgcc will be used.
* config/arm/sync-dmb.specs: Likewise.
* config/arm/sync-cp15dmb.specs: Likewise.
Diffstat (limited to 'gcc/testsuite/g++.dg/cpp0x')
0 files changed, 0 insertions, 0 deletions