Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 28 Jan 2013 19:44:54 -0500
From: Rich Felker <dalias@...ifal.cx>
To: musl@...ts.openwall.com
Subject: Re: ARM unwind issue

On Tue, Jan 29, 2013 at 12:02:37PM +1300, Andre Renaud wrote:
> Hi,
> I'm trying to build some software using musl on an ARM platform, and
> am getting the following error:
> arm-none-linux-gnueabi-gcc
> -specs=/home/andre/work/package-builder/staging/lib/musl-gcc.specs -o
> program program.o
> /tools/arm/arm-2010q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld:
> program: hidden symbol `__aeabi_unwind_cpp_pr0' in
> /tools/arm/arm-2010q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/libgcc_eh.a(unwind-arm.o)
> is referenced by DSO
> 
> Any ideas on what I've messed up in either my musl build, or my
> cflags/lflags to cause this?

musl itself does not use any unwinding facilities. However, on ARM, at
least with some gcc versions, some arithmetic functions in libgcc.a
are pulling in exception stuff for no good reason. I believe this is a
bug in the CFLAGS gcc is using to build libgcc, rather than an
intentional bad behavior, but I haven't looked into it in depth.

With that said, it looks like the problem is that, when musl libc.so
was built, it contained references to __aeabi_unwind_cpp_pr0 (from
libgcc.a) which were not resolved. Normally musl's configure script
also includes -lgcc_eh in $(LIBCC) for precisely this reason, so the
first thing I would do is check your config.mak and see what configure
chose for $(LIBCC).

If you figure out what went wrong, please report it to the list so we
can try to avoid the same thing happening for other users.

Rich

Powered by blists - more mailing lists

Your e-mail address:

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.