Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LNX.2.10.1308151054520.16828@laas.mine.nu>
Date: Thu, 15 Aug 2013 11:05:54 +0200 (CEST)
From: Jens <jensl@...s.mine.nu>
To: musl@...ts.openwall.com
Subject: Re: problems with dynamic linking since 0.9.1



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

I dont want you guys to spend your valuable time chasing bugs if its just 
me that sees them.

Regarding the bash version, I use the above environment, but slightly 
upgraded (bash, tar).

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

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