Message ID | 56253E17.6070701@arm.com |
---|---|
State | New |
Headers | show |
On Mon, 2015-10-19 at 20:01 +0100, Szabolcs Nagy wrote: > On 17/10/15 02:14, Oleg Endo wrote: > > On Fri, 2015-10-16 at 17:06 +0100, Szabolcs Nagy wrote: > >> Revision of > >> https://gcc.gnu.org/ml/gcc-patches/2015-04/msg01636.html > >> > >> The musl dynamic linker name is /lib/ld-musl-sh{-nofpu}{-fdpic}.so.1 > >> > >> New in this revision: > >> > >> Add -fdpic to the name, will be useful with the pending sh2 FDPIC support. > >> > >> 2015-10-16 Gregor Richards <gregor.richards@uwaterloo.ca> > >> Szabolcs Nagy <szabolcs.nagy@arm.com> > >> > >> * config/sh/linux.h (MUSL_DYNAMIC_LINKER): Define. > >> (MUSL_DYNAMIC_LINKER_E, MUSL_DYNAMIC_LINKER_FP): Define. > > > > > >> +#if TARGET_CPU_DEFAULT & (MASK_HARD_SH2A_DOUBLE | MASK_SH4) > >> +/* "-nofpu" if any nofpu option is specified. */ > >> +#define MUSL_DYNAMIC_LINKER_FP \ > >> + "%{m1|m2|m2a-nofpu|m3|m4-nofpu|m4-100-nofpu|m4-200-nofpu|m4-300-nofpu|" \ > >> + "m4-340|m4-400|m4-500|m4al|m5-32media-nofpu|m5-64media-nofpu|" \ > >> + "m5-compact-nofpu:-nofpu}" > >> +#else > >> +/* "-nofpu" if none of the hard fpu options are specified. */ > >> +#define MUSL_DYNAMIC_LINKER_FP \ > >> + "%{m2a|m4|m4-100|m4-200|m4-300|m4a|m5-32media|m5-64media|m5-compact:;:-nofpu}" > >> +#endif > > > > SH5 has been declared obsolete. Please do not add any new SH5 related > > things. In this case, drop the m5-* thingies. > > > > removed m5*. > OK to commit with this? OK for trunk. Cheers, Oleg
diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h index 0f5d614..61cf777 100644 --- a/gcc/config/sh/linux.h +++ b/gcc/config/sh/linux.h @@ -43,6 +43,27 @@ along with GCC; see the file COPYING3. If not see #define TARGET_ASM_FILE_END file_end_indicate_exec_stack +#if TARGET_ENDIAN_DEFAULT == MASK_LITTLE_ENDIAN +#define MUSL_DYNAMIC_LINKER_E "%{mb:eb}" +#else +#define MUSL_DYNAMIC_LINKER_E "%{!ml:eb}" +#endif + +#if TARGET_CPU_DEFAULT & (MASK_HARD_SH2A_DOUBLE | MASK_SH4) +/* "-nofpu" if any nofpu option is specified. */ +#define MUSL_DYNAMIC_LINKER_FP \ + "%{m1|m2|m2a-nofpu|m3|m4-nofpu|m4-100-nofpu|m4-200-nofpu|m4-300-nofpu|" \ + "m4-340|m4-400|m4-500|m4al:-nofpu}" +#else +/* "-nofpu" if none of the hard fpu options are specified. */ +#define MUSL_DYNAMIC_LINKER_FP "%{m2a|m4|m4-100|m4-200|m4-300|m4a:;:-nofpu}" +#endif + +#undef MUSL_DYNAMIC_LINKER +#define MUSL_DYNAMIC_LINKER \ + "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \ + "%{mfdpic:-fdpic}.so.1" + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" #undef SUBTARGET_LINK_EMUL_SUFFIX