Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 28 May 2012 23:03:09 -0700
From: Isaac Dunham <idunham@...abit.com>
To: musl@...ts.openwall.com
Subject: Re: SIGILL when dynamic linking without
 -Wl,-Bsymbolic-functions

On Mon, 28 May 2012 09:10:19 -0400
Rich Felker <dalias@...ifal.cx> wrote:

> On Sun, May 27, 2012 at 09:52:56PM -0700, Isaac Dunham wrote:
> > When -Wl,-Bsymbolic-functions is disabled in the makefile, musl
> > cannot be used for dynamic linking.
> > However, the -Bsymbolic-functions option was added in binutils
> > 2.17.50 (a CVS/git version, not a release); this was apparently
> > just prior to the license switch.
> > 
> > As a result, it will be impossible to use Aboriginal Linux packages
> > to generate a version capable of dynamic linking.
> > 
> > I'm pretty sure this used to work...but I don't remember when I
> > tested it last. I think it was somewhere around 0.8.1-0.8.5.
> 
> It's always been this way. In principle -fvisibility=protected should
> be able to do the same thing on earlier GCC's, but it doesn't work
> right. You could also try -fPIE instead of -fPIC; that might work. As
> a last resort, -Bsymbolic will work, but it will do too much and will
> break any applications that access global vars in libc (like optarg,
> environ, etc.).
Won't build with -fvisibility=protected:
/opt/musl/bin/ld: src/ldso/dynlink.lo: relocation R_386_GOTOFF against
protected function `_dl_debug_state' can not be used when making a
shared object 
/opt/musl/bin/ld: final link failed: Bad value 
collect2:ld returned 1 exit status 
make: *** [lib/libc.so] Error 1

Due to some sort of memory lapse, I also tried -fvisibility=hidden. As
might be expected, this did not work (segfault).

-fPIE does not work (Illegal instruction)
I guess I have to see if I can coerce autoconf into working properly.
I have makeinfo installed, but the check in binutils-2.17.50-x doesn't
recognize it...

> I thought Rob said he was going to patch -Bsymbolic-functions into his
> binutils, but I guess he never did...
He said it was on his todo list (in the 50's)...which AFAIK means "maybe
in a year or two, if that soon".

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.