Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 29 Apr 2014 23:00:53 -0400
From: Rich Felker <dalias@...c.org>
To: musl@...ts.openwall.com
Subject: Re: Co-existing i386 and x86_64 libraries?

On Tue, Apr 29, 2014 at 10:20:05PM +0000, Oliver Schneider wrote:
> Hi,
> 
> short of setting different prefixes for each respective build, what
> could I do to have two coexisting musl-libc libraries, one for -m64 and
> one for -m32 builds on IA-32?
> 
> The compiler (gcc in my case) supports the targets and the following
> does the job on a 64-bit host:
> 
> ../configure --enable-debug --target=i386 CFLAGS=-m32 CC="ccache gcc"

As a general practice it's probably better to put the -m32 as part of
$CC, but this should work too for musl.

> However, I have yet to find a solution to having both builds live
> peacefully together under the same "prefix" and the specs file used by
> the GCC wrapper choosing the proper architecture.

You need separate libdirs for each arch. This is fundamental; it's not
specific to musl.

> Any ideas how to accomplish this?
> 
> Looking at the Makefile the way it stands, I reckon this is virtually
> impossible. There are hardcoded library names used after including
> config.mak, so overriding something like that inside config.mak is hopeless.

Renaming the libraries is definitely not a viable solution. The names
are all fixed because they have to be.

> Thanks,
> 
> // Oliver
> 
> PS: on another note, the Makefile appears to use GNU-make-isms, wouldn't
> it make sense to name it GNUmakefile in order to avoid it being picked
> up by other make flavors? Or am I missing something here?

We have some ppl involved with the project who are allergic to seeing
the letters G, N, and U together anyhere...

Rich

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.