So maybe I'm not understanding how gdb works or is used. I'm getting no meaningful output even though these commands should result in a segmentation fault.

/ # gdb
Segmentation fault
/ # /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)
quit
/ # /tmp/ld-musl-armhf.so.1 /usr/bin/gdb --args cd /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"...
cd: No such file or directory.
(gdb)
quit
/ # /tmp/ld-musl-armhf.so.1 /usr/bin/gdb --args apk -h /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 apk...
(No debugging symbols found in apk)
(gdb) bt
No stack.
(gdb) disas $pc-40,+80
No registers.
(gdb) info reg
The program has no registers now.

On Thu, Jan 4, 2024 at 8:48 AM Szabolcs Nagy <nsz@port70.net> wrote:
* Cody Wetzel <codyawetzel@gmail.com> [2024-01-03 11:20:29 -0600]:
> Hello musl team,
>
> I tried getting a core dump but I'm not sure if I'm doing something wrong...
>
> / # cat /proc/sys/kernel/core_pattern/tmp/core-%e-%s-%u-%g-%p-%t/ #
> apk upgrade busybox
> --repository=https://dl-cdn.alpinelinux.org/alpine/v3.18/main
> --repository=https://dl-cdn.alpinelinux.org/alpine/v3.18/communityfetch
> https://dl-cdn.alpinelinux.org/alpine/v3.18/community/armv7/APKINDEX.tar.gzfetch
> https://dl-cdn.alpinelinux.org/alpine/v3.18/main/armv7/APKINDEX.tar.gzfetch
> https://dl-cdn.alpinelinux.org/alpine/v3.17/main/armv7/APKINDEX.tar.gzfetch
> https://dl-cdn.alpinelinux.org/alpine/v3.17/community/armv7/APKINDEX.tar.gz(1/3)
> Upgrading busybox (1.35.0-r29 -> 1.36.1-r5)Executing
> busybox-1.36.1-r5.post-upgrade(2/3) Upgrading busybox-binsh
> (1.35.0-r29 -> 1.36.1-r5)(3/3) Upgrading ssl_client (1.35.0-r29 ->
> 1.36.1-r5)Executing busybox-1.36.1-r5.triggerOK: 5 MiB in 15 packages/
> # apk upgrade musl
> --repository=https://dl-cdn.alpinelinux.org/alpine/v3.18/main
> --repository=https://dl-cdn.alpinelinux.org/alpine/v3.18/community(1/1)
> Upgrading musl (1.2.3-r5 -> 1.2.4-r2)OK: 5 MiB in 15 packages/ # apk
> upgrade rust --repository=https://dl-cdn.alpinelinux.org/alpine/v3.18/main
> --repository=https://dl-cdn.alpinelinux.org/alpine/v3.18/communitySegmentation
> fault/ # apk -hSegmentation fault/ # ls /tmp/core*Segmentation fault/
> # cd /tmp/tmp # lsSegmentation fault

i'd

# cp /lib/ld-musl-armhf.so.1 /tmp
# apk add gdb musl-dbg apk-tools-static

then upgrade musl using apk.static, then debug via

# /tmp/ld-musl-armhf.so.1 /usr/bin/gdb --args ls -l /tmp

or analyze a core dump, you can always install more debug tools
via apk.static and run commands using the old ld-musl-armhf.so.1

in gdb, you want to do

bt
disas $pc-40,+80
info reg
info proc map

as a starting point and post the results.

strace output can be useful too as well as readelf -aW of ld.so
depending on what is going on.


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