Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 3 May 2016 22:16:22 +0200
From: Szabolcs Nagy <>
Subject: Re: musl-cross-make / litecross improvements

* Rich Felker <> [2016-05-03 14:02:30 -0400]:
> On Tue, May 03, 2016 at 01:39:43PM +0200, Szabolcs Nagy wrote:
> > possibly make -o info -o install-info -o install-man
> > can do this too (havent tested).
> The -o approach only works when it's added to $(MAKE), because make
> explicitly strips -o's from being passed down recursively in MAKEFLAGS
> etc.

we have to fiddle with MAKE anyway so probably this is
approach is cleaner.

maybe have a RECURSIVE_MAKEFLAGS or similar in toplevel
config.mak (with the caveat that it will be passed to
every make)

> > i'm not sure if it's a good idea distributing the
> > toolchain without debug info, but this is needed
> > if you want to avoid leaking the build path.
> It wouldn't hurt to dig up the gcc option to strip a prefix from the
> debug paths and including an example of how to use it, in case users
> want this.

COMMON_CONFIG += --with-debug-prefix-map=$(PWD)=

> > the target libs are installed under lib64/,
> > i think the usr/ and lib64/ symlinks are useful
> > (so it can be used as rootfs without fiddling
> > with etc/ld-musl*.path).
> Yes. Is there a good way to override that in gcc or should we just
> make the symlinks?

output/lib64 can be eliminated by
COMMON_CONFIG += --libdir=/lib

output/x86_64-linux-musl/lib64 install path is trickier:
it is controlled by the $toolexeclibdir make variable.
which is set according to $CC -print-multi-os-directory
which is controlled by multilib and multilib_defaults from
$CC -dumpspecs which comes from multilib.h generated by
genmultilib based on parameters from config/i386/t-linux64

> > gcc-6 will need
> > GCC_CONFIG += --disable-libmpx
> OK. Is that because their code is broken, or because of something on
> musl's side? Is it detectable?

the code is currently broken (missing includes and uses secure_getenv)

> > and libstdc++ only uses vdso clock_gettime
> > with --enable-libstdcxx-time
> Is there a link to this issue? I don't mind adding it but I'd like to
> know details.

> > diff --git a/litecross/Makefile b/litecross/Makefile
> > index fbabe4a..d2a7bce 100644
> > --- a/litecross/Makefile
> > +++ b/litecross/Makefile
> > @@ -17,6 +17,7 @@ MUSL_CONFIG = CC="$(XGCC)" LIBCC="../obj_toolchain/$(TARGET)/libgcc/libgcc.a" --
> >  
> >  MAKE += INFO_DEPS= infodir=
> >  MAKE += ac_cv_prog_lex_root=lex.yy.c
> > +MAKE += gcc_cv_prog_makeinfo_modern=no
> Does this make a difference?

yes, gcc info files are not installed if it's set

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.