Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140904073545.GP12888@brightrain.aerifal.cx>
Date: Thu, 4 Sep 2014 03:35:45 -0400
From: Rich Felker <dalias@...c.org>
To: musl@...ts.openwall.com
Subject: Re: libc.so segfaults on mips

On Thu, Sep 04, 2014 at 03:07:57PM +0800, Рысь wrote:
> Hi list!
> 
> Not a really blocking bug but I was wondering why cross compiled
> musl libc.so for embedded wrt system is segfaults with this:
> 
> % ./strace ./libc.so 
> execve("./libc.so", ["./libc.so"], [/* 10 vars */]) = 0
> --- {si_signo=SIGSEGV, si_code=SI_USER, si_errno=EPERM, si_addr=0x4} (Segmentation fault) ---
> +++ killed by SIGSEGV +++
> Segmentation fault
> 
> A strange segfault with EPERM.
> 
> The target is mips2 bigendian router, specifically it is ar9331 SoC.
> This is how file reports on libc.so: ELF 32-bit MSB shared object,
> MIPS, MIPS-I version 1 (SYSV), dynamically linked, not stripped
> 
> Such a trouble I had once when system enforced mmap_min_addr,
> however there it has default value.
> 
> The toolchain is somewhat old: gcc 4.2.1, binutils 2.17.50.0.17 but
> confirmed working and stable.
> 
> Musl is 1.1.4.
> 
> What else can cause this?

Could you attach the output of readelf -a libc.so? I'm guessing the
problem is a broken linker that's accepting the option but not
actually honoring -Bsymbolic-functions, or another toolchain related
issue.

Rich

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.