aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-01-22 12:45:49 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-01-25 10:33:52 +0100
commit28229916e1b131ad5d17a73603f65229e0a92f58 (patch)
treeb00b78a2a63076c7d18ebb822e00797f0e3c6346
parentb7a0507ad9f07492a37325a2f494ed933b217a9a (diff)
downloadgcc-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.h8
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