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