Hi,

I am the maintainer of the BusyBox package for Alpine Linux. While
upgrading that package from 1.35.0 to 1.36.0 I noticed a segfault
on Alpine x86, on all other architectures BusyBox 1.36.0 builds
fine and passes the tests. On x86 though it segfaults with any
command-line argument, for example:

        $ make defconfig
        $ make
        $ gdb --args ./busybox_unstripped
        (gdb) run
        Starting program: 
/home/buildozer/aports/main/busybox/src/build-dynamic/busybox_unstripped

        Program received signal SIGSEGV, Segmentation fault.
        0xf7fc24e0 in do_relocs (dso=dso@entry=0xf7ffca20 <app>, 
rel=0x565578e4, rel_size=8712, stride=2) at ldso/dynlink.c:471
        471     ldso/dynlink.c: No such file or directory.
        (gdb) bt
        #0  0xf7fc24e0 in do_relocs (dso=dso@entry=0xf7ffca20 <app>, 
rel=0x565578e4, rel_size=8712, stride=2) at ldso/dynlink.c:471
        #1  0xf7fc263f in reloc_all (p=p@entry=0xf7ffca20 <app>) at 
ldso/dynlink.c:1375
        #2  0xf7fc473e in __dls3 (sp=0xffffdcf0, auxv=0xffffdd3c) at 
ldso/dynlink.c:1974
        #3  0xf7fc3eab in __dls2 (base=<optimized out>, sp=<optimized out>) at 
ldso/dynlink.c:1719
        #4  0xf7fc19c9 in _dlstart () from /lib/ld-musl-i386.so.1

Looking at the backtrace, it seems that it segfaults in musl's dynamic
loader. Since BusyBox 1.35.0 worked fine on x86 I bisected this and it
turns out that this is a regression introduced in commit
a96ccbefe417aaac6a2ce59c788e01fc0f83902f [1]. If I disable SHA/MD5
hardware acceleration then BusyBox 1.36.0 builds fine and passes all
tests on Alpine Linux x86.

Any idea what particular part of the referenced commit might be causing this?

Greetings,
Sören

[1]: 
https://git.busybox.net/busybox/commit/?id=a96ccbefe417aaac6a2ce59c788e01fc0f83902f
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to