|
Message-ID: <20140904145701.GR12888@brightrain.aerifal.cx> Date: Thu, 4 Sep 2014 10:57:01 -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 04:56:40PM +0800, Рысь wrote: > > > 4 сентября 2014 г. 15:35:45 KRAT, Rich Felker <dalias@...c.org> пишет: > >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 > > Ugh, some things changed because of removal of local patches, but issue still same. Segfault line for unmodified musl: > > --- {si_signo=SIGSEGV, si_code=SI_USER, si_errno=EPERM, si_addr=0x7b2a0} (Segmentation fault) --- > > The output of readelf attached. This output looks incomplete. MIPS readelf -a output should end with a large section that starts with: Primary GOT: Canonical gp value: 000b2f90 followed by Local entries: ... Global entries: ... This is where I would be able to tell if something is wrong. Do you perhaps have an ancient version of readelf? If you're using the native one that came with your mips toolchain, try the host readelf instead from a normal system. 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.