Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 3 Apr 2016 20:04:48 -0400
From: Rich Felker <dalias@...c.org>
To: musl@...ts.openwall.com
Subject: Re: musl libc.so working and almost building with current pcc

On Sun, Apr 03, 2016 at 02:47:56PM -0700, Isaac Dunham wrote:
> Hello,
> Current (20160403) pcc almost builds a working libc.so.
> 
> (Unfortunately, it's still necessary to fix the pcc-libs package
> by updating config.guess/config.sub and adding protected visibility;
> I didn't add protected visibility and forced -fPIC, though the build
> system seems to add -fPIC for some files.)

Everything in libpcc.a needs to be _hidden_, not protected. The issue
is not whether it binds locally but whether it produces
wrongly-exported symbols in shared libs it gets linked into.

> However, PCC reports a major internal compiler error at line 1382
> of ldso/dynlink.c (which is conditional on FDPIC support).
> If I convert the "if (DL_FDPIC) ..." to an ifdef, I get a working libc.
> (src/complex/catanf.c is now properly compiled.)

It's always defined (to either 0 or 1) so #ifdef produces wrong code.
Did you try #if DL_FDPIC? That should work but there's obviously some
serious pcc bug going on here, probably preprocessor breakage again.

FWIW pcc used to work fine but they keep breaking it, usually the
preprocessor.

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.