On 04/27/2015 08:30 AM, Szabolcs Nagy wrote:

On 22/04/15 16:42, Szabolcs Nagy wrote:
yes, i didn't realize that this depends on the target specific parts

i will prepare an updated patch that works if the target has no musl
dynamic linker name defined


Updated the patch, this time I tested it separately.
(The test revealed that -mmusl was not wired up properly
in linux.opt through the "Negative" directive, now fixed).

A default dynamic linker name is defined for musl: "/dev/null".
(The arch specific headers have to be updated to undef the
MUSL_DYNAMIC_LINKER* macros).
(Other options were considered such as print an error with %e,
but then the user cannot override it with -Wl,-dynamic-linker)

The other parts of the patch (config, include path reordering)
are not changed.

gcc/Changelog

2015-04-27  Gregor Richards  <gregor.richa...@uwaterloo.ca>
            Szabolcs Nagy  <szabolcs.n...@arm.com>

        * config.gcc (LIBC_MUSL): New tm_defines macro.
        * config/linux.h (OPTION_MUSL): Define.
        (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,)
        (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,)
        (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
        (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
        (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.

        * config/linux.opt (mmusl): New option.
        * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
        (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.

        * configure: Regenerate.
Still OK :-)

I'm going to leave review of the target config changes to the target maintainers.

jeff

Reply via email to