mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Cody Wetzel <codyawetzel@gmail.com>
To: Cody Wetzel <codyawetzel@gmail.com>,
	Natanael Copa <ncopa@alpinelinux.org>,
	 musl@lists.openwall.com, Markus Wichmann <nullplan@gmx.net>
Subject: Re: [musl] Segmentation fault musl 1.2.4
Date: Tue, 16 Jan 2024 09:21:05 -0600	[thread overview]
Message-ID: <CAFj3ykeCHGiT1SH9MJTEf65jxZjjrpuHxn95u2O=KN+cPkZCPA@mail.gmail.com> (raw)
In-Reply-To: <20240115223008.GR1427497@port70.net>

[-- Attachment #1: Type: text/plain, Size: 4206 bytes --]

Here is the output for the old
....
>
> / # /tmp/ld-musl-armhf.so.1 /usr/bin/readelf -lW /tmp/ld-musl-armhf.so.1
>
> Elf file type is DYN (Shared object file)
> Entry point 0x359cd
> There are 6 program headers, starting at offset 52
>
> Program Headers:
>   Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
>   EXIDX          0x07acec 0x0007acec 0x0007acec 0x00008 0x00008 R   0x4
>   LOAD           0x000000 0x00000000 0x00000000 0x7acf4 0x7acf4 R E 0x10000
>   LOAD           0x07fd6c 0x0008fd6c 0x0008fd6c 0x0054a 0x02258 RW  0x10000
>   DYNAMIC        0x07febc 0x0008febc 0x0008febc 0x000c0 0x000c0 RW  0x4
>   GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RW  0x10
>   GNU_RELRO      0x07fd6c 0x0008fd6c 0x0008fd6c 0x00294 0x00294 R   0x1
>
>  Section to Segment mapping:
>   Segment Sections...
>    00     .ARM.exidx
>    01     .hash .gnu.hash .dynsym .dynstr .rel.dyn .rel.plt .plt .text
> .rodata .ARM.exidx
>    02     .data.rel.ro .dynamic .got .data .bss
>    03     .dynamic
>    04
>    05     .data.rel.ro .dynamic .got
>

And the new...

/ # /tmp/ld-musl-armhf.so.1 /usr/bin/readelf -lW /lib/ld-musl-armhf.so.1
>
> Elf file type is DYN (Shared object file)
> Entry point 0x362f1
> There are 6 program headers, starting at offset 52
>
> Program Headers:
>   Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
>   EXIDX          0x07b81c 0x0007b81c 0x0007b81c 0x00008 0x00008 R   0x4
>   LOAD           0x000000 0x00000000 0x00000000 0x7b824 0x7b824 R E 0x1000
>   LOAD           0x07bd74 0x0007cd74 0x0007cd74 0x0054a 0x0225c RW  0x1000
>   DYNAMIC        0x07bebc 0x0007cebc 0x0007cebc 0x000c0 0x000c0 RW  0x4
>   GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RW  0x10
>   GNU_RELRO      0x07bd74 0x0007cd74 0x0007cd74 0x0028c 0x0028c R   0x1
>
>  Section to Segment mapping:
>   Segment Sections...
>    00     .ARM.exidx
>    01     .hash .gnu.hash .dynsym .dynstr .rel.dyn .rel.plt .plt .text
> .rodata .ARM.exidx
>    02     .data.rel.ro .dynamic .got .data .bss
>    03     .dynamic
>    04
>    05     .data.rel.ro .dynamic .got


I hope that helps.

Thanks!

Cody

On Mon, Jan 15, 2024 at 4:30 PM Szabolcs Nagy <nsz@port70.net> wrote:

> * Cody Wetzel <codyawetzel@gmail.com> [2024-01-12 17:10:24 -0600]:
> > I did actually find that stackoverflow post and tried spinning up a new
> > container but the results don't provide any useful information...
> >
> > / # /tmp/ld-musl-armhf.so.1 /usr/bin/gdb --args ls -l /tmp
> > > GNU gdb (GDB) 12.1
> > > Copyright (C) 2022 Free Software Foundation, Inc.
> > > License GPLv3+: GNU GPL version 3 or later <
> > > http://gnu.org/licenses/gpl.html>
> > > This is free software: you are free to change and redistribute it.
> > > There is NO WARRANTY, to the extent permitted by law.
> > > Type "show copying" and "show warranty" for details.
> > > This GDB was configured as "armv7-alpine-linux-musleabihf".
> > > Type "show configuration" for configuration details.
> > > For bug reporting instructions, please see:
> > > <https://www.gnu.org/software/gdb/bugs/>.
> > > Find the GDB manual and other documentation resources online at:
> > >     <http://www.gnu.org/software/gdb/documentation/>.
> > >
> > > For help, type "help".
> > > Type "apropos word" to search for commands related to "word"...
> > > Reading symbols from ls...
> > > (No debugging symbols found in ls)
> > > (gdb) run
> > > Starting program: /bin/ls -l /tmp
> > > During startup program terminated with signal SIGSEGV, Segmentation
> fault.
> > >
>
> so i looked at alpine armv7 binaries and they seem to be built with
> 4k page size.
>
> since the elf files are not possible to map with 32k pages, it is
> expected that they crash on exec in the kernel and thus you get no
> backtrace.
>
> i'm not sure why gdb works, unless it's an old gdb binary that's built
> with large pagesize support.
>
> an easy way to verify is to compare proram headers of old and new
> binaries like
>
> readelf -lW /tmp/ld-musl-armhf.so.1
>


-- 
Cody Wetzel
codyawetzel@gmail.com
(402)490-9242

[-- Attachment #2: Type: text/html, Size: 5979 bytes --]

  reply	other threads:[~2024-01-16 15:21 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-20 21:53 Cody Wetzel
2023-12-21  3:38 ` Rich Felker
2023-12-21  4:15   ` Rich Felker
2023-12-21  7:57 ` Markus Wichmann
2023-12-21 18:39   ` Cody Wetzel
2023-12-21 21:25     ` Natanael Copa
2023-12-21 21:57       ` Cody Wetzel
2024-01-03 17:20         ` Cody Wetzel
2024-01-03 17:26           ` Leah Neukirchen
2024-01-03 18:00             ` Cody Wetzel
2024-01-04 14:48           ` Szabolcs Nagy
2024-01-10 15:59             ` Cody Wetzel
2024-01-11 17:03               ` Szabolcs Nagy
2024-01-11 18:19                 ` Cody Wetzel
2024-01-12 18:57                   ` Szabolcs Nagy
2024-01-12 23:10                     ` Cody Wetzel
2024-01-15 22:30                       ` Szabolcs Nagy
2024-01-16 15:21                         ` Cody Wetzel [this message]
2024-01-16 18:29                           ` Szabolcs Nagy
2024-01-16 18:53                             ` Cody Wetzel
2024-01-16 20:45                             ` Rich Felker
2024-01-30 10:43                               ` Szabolcs Nagy
2024-01-30 15:37                                 ` Rich Felker
2024-01-30 20:17                                   ` [musl] Fixing ELF loader for systems with oversized pages [was: Re: [musl] Segmentation fault musl 1.2.4] Rich Felker
2023-12-22  2:20 ` [musl] Segmentation fault musl 1.2.4 Jeffrey Walton
2023-12-22  2:22   ` Jeffrey Walton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAFj3ykeCHGiT1SH9MJTEf65jxZjjrpuHxn95u2O=KN+cPkZCPA@mail.gmail.com' \
    --to=codyawetzel@gmail.com \
    --cc=musl@lists.openwall.com \
    --cc=ncopa@alpinelinux.org \
    --cc=nullplan@gmx.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).