leverage linker relaxation on ppc vxworks RTPs

2018-10-11  Doug Rupp  <rupp@adacore.com>
            Olivier Hainque  <hainque@adacore.com>

        * config/rs6000/vxworks.h (VXWORKS_RELAX_LINK_SPEC): New macro.
        Pass --relax to the linker for RTPs.
        (LINK_SPEC): Append VXWORKS_RELAX_LINK_SPEC.

Co-Authored-By: Olivier Hainque <hainque@adacore.com>

From-SVN: r265054
This commit is contained in:
Doug Rupp 2018-10-11 18:36:34 +00:00 committed by Olivier Hainque
parent 1cc6eecd5d
commit 13c4e4031a
2 changed files with 15 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2018-10-11 Doug Rupp <rupp@adacore.com>
Olivier Hainque <hainque@adacore.com>
* config/rs6000/vxworks.h (VXWORKS_RELAX_LINK_SPEC): New macro.
Pass --relax to the linker for RTPs.
(LINK_SPEC): Append VXWORKS_RELAX_LINK_SPEC.
2018-10-11 Andrew Stubbs <ams@codesourcery.com>
Jan Hubicka <jh@suse.cz>
Martin Jambor <mjambor@suse.cz>

View File

@ -88,8 +88,15 @@ VXWORKS_ADDITIONAL_CPP_SPEC
#undef LIB_SPEC
#define LIB_SPEC VXWORKS_LIB_SPEC
/* For RTPs, leverage linker relaxation. This helps programs referring
to, typically, kernel services too far away for short calls. This is more
precise than -mlongcall and can be overriden with -Wl,--no-relax. */
#define VXWORKS_RELAX_LINK_SPEC "%{mrtp:--relax}"
#undef LINK_SPEC
#define LINK_SPEC VXWORKS_LINK_SPEC
#define LINK_SPEC VXWORKS_LINK_SPEC " " VXWORKS_RELAX_LINK_SPEC
#undef STARTFILE_SPEC
#define STARTFILE_SPEC VXWORKS_STARTFILE_SPEC
#undef ENDFILE_SPEC