Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Fri, 16 Aug 2013 03:28:31 -0500
From: Rob Landley <rob@...dley.net>
To: musl@...ts.openwall.com
Cc: musl@...ts.openwall.com
Subject: Re: problems with dynamic linking since 0.9.1

On 08/15/2013 04:05:54 AM, Jens wrote:
> 
> 
>>> (In response to the wrapper problem, I let REALGCC point to the  
>>> real gcc and not the wrapper).
>> 
>> It's not finding crtbegin.o when I do that, and the fact that  
>> (according to strace), gcc thinks:
>> 
>> access("/usr/x86_64-unknown-linux/bin/../lib/gcc/x86_64-unknown-linux/4.2.1/../../../../lib64/crtbegin.o",  
>> R_OK) = -1 ENOENT (No such file or directory)
>> 
>> Is a good place to look for it is one of the REASONS I wrote a  
>> wrapper that goes "--nostdinc --nostdlib" and then starts again.
>> 
>> ("I say we take off and nuke the entire site from orbit. Only way to  
>> be sure.")
>> 
>> However, it sounds like you're using a stale version of the  
>> aboriginal build environment because I upgraded to a binutils that  
>> can build musl (and yes actually tested it at one point) several  
>> months ago...
> 
> The build environment is older than aboriginal.
> It is this one  
> http://uclibc.org/downloads/binaries/0.9.30.1/mini-native-x86_64.tar.bz2
> 
> So I guess its a bit long in the tooth.

Wow. When did I rename mini-native to root-filesystem?

changeset:   711:20ba34b54140
user:        Rob Landley <rob@...dley.net>
date:        Thu Apr 09 23:53:05 2009 -0500
summary:     Rename mini-native.sh to root-filesystem.sh, since that's  
what it builds.

So at least 4 years old, yeah.

If you just want a quick and dirty "get something running", I have  
linux from scratch builds (same uClibc based toolchain) at:

http://landley.net/aboriginal/downloads/old/binaries/1.2.3

That's linux from scratch built on top of the aboriginal linux build  
environment. Those are only around 6 months old, from after the  
binutils switch.

> I set REALGCC to rawgcc, and I also needed to change the musl  
> gcc.spec file,
> to find all object files, patch I use below (linewrap damaged):
> 
> bash-4.1# more all/musl-0.9.6-1/musl-gcc.specs.pat
> --- opt/musl/lib/musl-gcc.specs.orig        Fri Sep 21 07:04:50 2012
> +++ opt/musl/lib/musl-gcc.specs        Fri Sep 21 07:12:34 2012
> @@ -10,13 +10,13 @@
>  -L/opt/musl/lib -L .%s
> 
>  *libgcc:
> -libgcc.a%s %:if-exists(libgcc_eh.a%s)
> +/usr/gcc/lib/libgcc.a%s %:if-exists(/usr/gcc/lib/libgcc_eh.a%s)
> 
>  *startfile:
> -%{!shared: /opt/musl/lib/%{pie:S}crt1.o} /opt/musl/lib/crti.o  
> %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}
> +%{!shared: /opt/musl/lib/%{pie:S}crt1.o} /opt/musl/lib/crti.o  
> %{shared|pie:crtbeginS.o%s;:/usr/gcc/lib/crtbegin.o%s}
> 
>  *endfile:
> -%{shared|pie:crtendS.o%s;:crtend.o%s} /opt/musl/lib/crtn.o
> +%{shared|pie:crtendS.o%s;:/usr/gcc/lib/crtend.o%s}  
> /opt/musl/lib/crtn.o
> 
>  *link:
>  -dynamic-linker /lib/ld-musl-x86_64.so.1 -nostdlib %{shared:-shared}  
> %{static:-static} %{rdynamic:-export-dynamic}
> 
> Thanks,
> Jens

Good to know.  Thanks.

Rob

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.