mailing list of musl libc
 help / color / mirror / code / Atom feed
* SIGILL when dynamic linking without -Wl,-Bsymbolic-functions
@ 2012-05-28  4:52 Isaac Dunham
  2012-05-28  8:10 ` Szabolcs Nagy
  2012-05-28 13:10 ` Rich Felker
  0 siblings, 2 replies; 5+ messages in thread
From: Isaac Dunham @ 2012-05-28  4:52 UTC (permalink / raw)
  To: musl

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.

Isaac Dunham



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: SIGILL when dynamic linking without -Wl,-Bsymbolic-functions
  2012-05-28  4:52 SIGILL when dynamic linking without -Wl,-Bsymbolic-functions Isaac Dunham
@ 2012-05-28  8:10 ` Szabolcs Nagy
  2012-05-28 13:10 ` Rich Felker
  1 sibling, 0 replies; 5+ messages in thread
From: Szabolcs Nagy @ 2012-05-28  8:10 UTC (permalink / raw)
  To: musl

* Isaac Dunham <idunham@lavabit.com> [2012-05-27 21:52:56 -0700]:
> 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.
> 

why?

if it was added prior to the license change then i dont see the problem

http://sourceware.org/git/?p=binutils.git;a=blob;f=ld/ChangeLog-2007#l1137

vs

http://sourceware.org/git/?p=binutils.git;a=commit;h=27adf0212c3d5372805fcb6d2759cca069403b8f



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: SIGILL when dynamic linking without -Wl,-Bsymbolic-functions
  2012-05-28  4:52 SIGILL when dynamic linking without -Wl,-Bsymbolic-functions Isaac Dunham
  2012-05-28  8:10 ` Szabolcs Nagy
@ 2012-05-28 13:10 ` Rich Felker
  2012-05-29  6:03   ` Isaac Dunham
  1 sibling, 1 reply; 5+ messages in thread
From: Rich Felker @ 2012-05-28 13:10 UTC (permalink / raw)
  To: musl

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.).

I thought Rob said he was going to patch -Bsymbolic-functions into his
binutils, but I guess he never did...

Rich


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: SIGILL when dynamic linking without -Wl,-Bsymbolic-functions
  2012-05-28 13:10 ` Rich Felker
@ 2012-05-29  6:03   ` Isaac Dunham
  2012-05-29  7:04     ` Szabolcs Nagy
  0 siblings, 1 reply; 5+ messages in thread
From: Isaac Dunham @ 2012-05-29  6:03 UTC (permalink / raw)
  To: musl

On Mon, 28 May 2012 09:10:19 -0400
Rich Felker <dalias@aerifal.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".



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: SIGILL when dynamic linking without -Wl,-Bsymbolic-functions
  2012-05-29  6:03   ` Isaac Dunham
@ 2012-05-29  7:04     ` Szabolcs Nagy
  0 siblings, 0 replies; 5+ messages in thread
From: Szabolcs Nagy @ 2012-05-29  7:04 UTC (permalink / raw)
  To: musl

* Isaac Dunham <idunham@lavabit.com> [2012-05-28 23:03:09 -0700]:
> 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".

i'd just do

git clone git://sourceware.org/git/binutils.git binutils-2007-07-16
cd binutils-2007-07-16
git checkout -b gpl2 e6170bec011e801682d614aab989ef4b8b60e8d1

and work from there..

or back port the -Bsymbolic-functions changes made in 2007-01


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-05-29  7:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-28  4:52 SIGILL when dynamic linking without -Wl,-Bsymbolic-functions Isaac Dunham
2012-05-28  8:10 ` Szabolcs Nagy
2012-05-28 13:10 ` Rich Felker
2012-05-29  6:03   ` Isaac Dunham
2012-05-29  7:04     ` Szabolcs Nagy

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).