Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20141001181356.GQ21835@port70.net>
Date: Wed, 1 Oct 2014 20:13:56 +0200
From: Szabolcs Nagy <nsz@...t70.net>
To: musl@...ts.openwall.com
Subject: Re: converting gcc from glibc to musl

* stephen Turner <stephen.n.turner@...il.com> [2014-10-01 13:54:25 -0400]:
> On Wed, Oct 1, 2014 at 12:10 PM, Szabolcs Nagy <nsz@...t70.net> wrote:
> > - can gcc compile a minimal program (empty main)?
> >
> 
> I can compile the following program sucessfully to a.out but cannot run it.
> 
> # include <stdio.h>
> main()
> {
> printf("hello world\n");
> }
> 
> gcc test.c && chmod +x a.out && ./a.out
> 
> 
> > - where does gcc/ld fail, how were they invoked (gcc -v)?
> 
> 
> configure:2078: loading cache /dev/null
...

i meant running

 gcc -v test.c

not the configure thing

(so we know if the compiler works at all before
starting to debug the configure script)

> - in the executable is the loader properly set up (readelf)?
> 

check if the machine type/abi is ok:

 readelf -h a.out

check if the musl loader is set up as expected:

 readelf -l a.out

(in case of dynamic linking the interpreter should be
/lib/ld-musl-ARCH.so.1 otherwise there should be no
interpreter)


> - check if the loader/libc at the right path
> 

ls -l /lib/ld-musl-*

> - can you run the executable with the loader explicitly?

run

/lib/ld-musl-ARCH.so.1 ./a.out

> > - strace the executable, where does it fail?

strace ./a.out

> 
> I dont know how to do what your asking here is there a site i can ref on
> these troubleshooting steps?

if you are not experienced with toolchains i'd try
alpine or sabotage linux first
you might be able to customize them to your liking

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.