diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-01-22 12:45:49 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-01-25 10:33:52 +0100 |
commit | 28229916e1b131ad5d17a73603f65229e0a92f58 (patch) | |
tree | b00b78a2a63076c7d18ebb822e00797f0e3c6346 | |
parent | b7a0507ad9f07492a37325a2f494ed933b217a9a (diff) | |
download | gcc-28229916e1b131ad5d17a73603f65229e0a92f58.zip gcc-28229916e1b131ad5d17a73603f65229e0a92f58.tar.gz gcc-28229916e1b131ad5d17a73603f65229e0a92f58.tar.bz2 |
RTEMS: Fix GCC specification
The use of -nostdlib and -nodefaultlibs disables the processing of
LIB_SPEC (%L) as specified by LINK_COMMAND_SPEC and thus disables the
default linker script for RTEMS. Move the linker script to
STARTFILE_SPEC which is controlled by -nostdlib and -nostartfiles. This
fits better since the linker script defines the platform start file
provided by the board support package in RTEMS.
gcc/
* config/rtems.h (STARTFILE_SPEC): Remove nostdlib and
nostartfiles handling since this is already done by
LINK_COMMAND_SPEC. Evaluate qnolinkcmds.
(ENDFILE_SPEC): Remove nostdlib and nostartfiles handling since this
is already done by LINK_COMMAND_SPEC.
(LIB_SPECS): Remove nostdlib and nodefaultlibs handling since
this is already done by LINK_COMMAND_SPEC. Remove qnolinkcmds
evaluation.
-rw-r--r-- | gcc/config/rtems.h | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/gcc/config/rtems.h b/gcc/config/rtems.h index 743161c..e5cba75 100644 --- a/gcc/config/rtems.h +++ b/gcc/config/rtems.h @@ -36,11 +36,11 @@ */ #undef STARTFILE_SPEC #define STARTFILE_SPEC "%{!qrtems:crt0%O%s} " \ -"%{qrtems:%{!nostdlib:%{!nostartfiles:" RTEMS_STARTFILE_SPEC "}}}" +"%{qrtems:" RTEMS_STARTFILE_SPEC " %{!qnolinkcmds:-T linkcmds%s}}" #undef ENDFILE_SPEC #define ENDFILE_SPEC \ -"%{qrtems:%{!nostdlib:%{!nostartfiles:" RTEMS_ENDFILE_SPEC "}}}" +"%{qrtems:" RTEMS_ENDFILE_SPEC "}" /* * Some targets do not set up LIB_SPECS, override it, here. @@ -49,9 +49,7 @@ #undef LIB_SPEC #define LIB_SPEC "%{!qrtems:" STD_LIB_SPEC "} " \ -"%{qrtems:%{!nostdlib:%{!nodefaultlibs:" \ -"--start-group -lrtemsbsp -lrtemscpu -latomic -lc -lgcc --end-group} " \ -"%{!qnolinkcmds:-T linkcmds%s}}}" +"%{qrtems:--start-group -lrtemsbsp -lrtemscpu -latomic -lc -lgcc --end-group}" #define TARGET_POSIX_IO |