RTEMS: Improve GCC specification
Add a start/end file specification if the -qrtems option is present. Allow targets to customize it. Support the standard -nodefaultlibs option. gcc/ * config/rtems.h (RTEMS_STARTFILE_SPEC): Define if undefined. (RTEMS_ENDFILE_SPEC): Likewise. (STARTFILE_SPEC): Update comment. Add RTEMS_STARTFILE_SPEC. (ENDFILE_SPEC): Add RTEMS_ENDFILE_SPEC. (LIB_SPECS): Support -nodefaultlibs option. * config/or1k/rtems.h (RTEMS_STARTFILE_SPEC): Define. (RTEMS_ENDFILE_SPEC): Likewise. * config/rs6000/rtems.h (RTEMS_STARTFILE_SPEC): Likewise. (RTEMS_ENDFILE_SPEC): Likewise. * config/v850/rtems.h (RTEMS_STARTFILE_SPEC): Likewise. (RTEMS_ENDFILE_SPEC): Likewise.
This commit is contained in:
parent
1ea8de4c8c
commit
4461384026
5 changed files with 41 additions and 8 deletions
|
@ -1,3 +1,17 @@
|
|||
2020-05-05 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||
|
||||
* config/rtems.h (RTEMS_STARTFILE_SPEC): Define if undefined.
|
||||
(RTEMS_ENDFILE_SPEC): Likewise.
|
||||
(STARTFILE_SPEC): Update comment. Add RTEMS_STARTFILE_SPEC.
|
||||
(ENDFILE_SPEC): Add RTEMS_ENDFILE_SPEC.
|
||||
(LIB_SPECS): Support -nodefaultlibs option.
|
||||
* config/or1k/rtems.h (RTEMS_STARTFILE_SPEC): Define.
|
||||
(RTEMS_ENDFILE_SPEC): Likewise.
|
||||
* config/rs6000/rtems.h (RTEMS_STARTFILE_SPEC): Likewise.
|
||||
(RTEMS_ENDFILE_SPEC): Likewise.
|
||||
* config/v850/rtems.h (RTEMS_STARTFILE_SPEC): Likewise.
|
||||
(RTEMS_ENDFILE_SPEC): Likewise.
|
||||
|
||||
2020-05-05 Dimitar Dimitrov <dimitar@dinux.eu>
|
||||
|
||||
* config/pru/pru.c (pru_hard_regno_call_part_clobbered): Remove.
|
||||
|
|
|
@ -28,3 +28,6 @@
|
|||
builtin_assert ("system=rtems"); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
#define RTEMS_STARTFILE_SPEC "crtbegin%O%s"
|
||||
#define RTEMS_ENDFILE_SPEC "crtend%O%s"
|
||||
|
|
|
@ -292,3 +292,6 @@
|
|||
"%{mads|myellowknife|mmvme|msim:%G %L %G;" \
|
||||
"!mcall-*|mcall-linux:" GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC ";" \
|
||||
":%G %L %G}"
|
||||
|
||||
#define RTEMS_STARTFILE_SPEC "ecrti%O%s rtems_crti%O%s crtbegin%O%s"
|
||||
#define RTEMS_ENDFILE_SPEC "crtend%O%s rtems_crtn%O%s ecrtn%O%s"
|
||||
|
|
|
@ -22,15 +22,25 @@
|
|||
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef RTEMS_STARTFILE_SPEC
|
||||
#define RTEMS_STARTFILE_SPEC "crti%O%s crtbegin%O%s"
|
||||
#endif
|
||||
|
||||
#ifndef RTEMS_ENDFILE_SPEC
|
||||
#define RTEMS_ENDFILE_SPEC "crtend%O%s crtn%O%s"
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Dummy start/end specification to let linker work as
|
||||
* needed by autoconf scripts using this compiler.
|
||||
* The crt0.o is a dummy start file to let the linker work as needed by
|
||||
* autoconf scripts using this compiler.
|
||||
*/
|
||||
#undef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC "crt0.o%s"
|
||||
#define STARTFILE_SPEC "%{!qrtems:crt0%O%s} " \
|
||||
"%{qrtems:%{!nostdlib:%{!nostartfiles:" RTEMS_STARTFILE_SPEC "}}}"
|
||||
|
||||
#undef ENDFILE_SPEC
|
||||
#define ENDFILE_SPEC ""
|
||||
#define ENDFILE_SPEC \
|
||||
"%{qrtems:%{!nostdlib:%{!nostartfiles:" RTEMS_ENDFILE_SPEC "}}}"
|
||||
|
||||
/*
|
||||
* Some targets do not set up LIB_SPECS, override it, here.
|
||||
|
@ -38,10 +48,10 @@
|
|||
#define STD_LIB_SPEC "%{!shared:%{g*:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}}"
|
||||
|
||||
#undef LIB_SPEC
|
||||
#define LIB_SPEC "%{!qrtems: " STD_LIB_SPEC "} " \
|
||||
"%{!nostdlib: %{qrtems: --start-group \
|
||||
-lrtemsbsp -lrtemscpu \
|
||||
-latomic -lc -lgcc --end-group %{!qnolinkcmds: -T linkcmds%s}}}"
|
||||
#define LIB_SPEC "%{!qrtems:" STD_LIB_SPEC "} " \
|
||||
"%{qrtems:%{!nostdlib:%{!nodefaultlibs:" \
|
||||
"--start-group -lrtemsbsp -lrtemscpu -latomic -lc -lgcc --end-group} " \
|
||||
"%{!qnolinkcmds:-T linkcmds%s}}}"
|
||||
|
||||
#define TARGET_POSIX_IO
|
||||
|
||||
|
|
|
@ -39,3 +39,6 @@
|
|||
%{!mv850es:%{!mv850e1:%{mv*:-mv%*}} \
|
||||
%{m8byte-align:-m8byte-align} \
|
||||
%{mgcc-abi:-mgcc-abi}}"
|
||||
|
||||
#define RTEMS_STARTFILE_SPEC ""
|
||||
#define RTEMS_ENDFILE_SPEC ""
|
||||
|
|
Loading…
Add table
Reference in a new issue