Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Sat, 27 Jan 2018 22:49:06 -0800 (PST)
From: Po-yi Wang <player@....bc.ca>
To: musl@...ts.openwall.com
Subject: Re: problem compiling bash-3.2.57 bash-4.4.12, seg fault



On Sun, 28 Jan 2018, Will Dietz wrote:

> For static bash I also found useful to disable loadable builtins,
> which required both this patch[1] and specifying these configure overrides
> (just append them to your ./configure invocation):
>
> ac_cv_func_dlopen=no
> ac_cv_func_dlclose=no
> ac_cv_func_dlsym=no
>
> Don't remember if this was to workaround a crash but maybe this helps you.
> Good luck!

thanks, for the hint! i will try later.

it's possible i had a broken tool combination (for arm). 
(i use exact the same combination of tool for ppc,arm,486)
i missed another seg fault when building ncurses-6.0.
tic already seg faulted earlier which i missed. 
i put some debug code into ncurses/tinfo/write_entry.c,
without any enlightenment.

[armv7l][1] cd /build/ncurses-6.0/misc; gdb ../progs/tic
GNU gdb (GDB) 7.6.2
Copyright (C) 2013 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 "armv7l-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /tmp/build/ncurses-6.0/progs/tic...done.
(gdb) run -x -s -o /usr/musl/share/terminfo terminfo.tmp
Starting program: /tmp/build/ncurses-6.0/misc/../progs/tic -x -s -o 
/usr/musl/share/terminfo terminfo.tmp
debug:[&][(null)]

Program received signal SIGSEGV, Segmentation fault.
0x00028998 in _nc_write_entry (tp=0x67de0)
     at ../ncurses/./tinfo/write_entry.c:414
414         while (*other_names != '\0') {
(gdb) bt
#0  0x00028998 in _nc_write_entry (tp=0x67de0)
     at ../ncurses/./tinfo/write_entry.c:414
#1  0x00008648 in write_it (ep=0x67de0) at ../progs/tic.c:237
#2  0x0000a4c0 in main (argc=6, argv=0xbefffbf4) at ../progs/tic.c:977

#############################################################
WGET_UNPACK ncurses-6.0.tar.xz
LDFLAGS="-static"  CC=musl-gcc ./configure --prefix=/usr/musl 
--disable-nls --disable-macros # --enable-widec
LDFLAGS="-static"  CC=musl-gcc make
LDFLAGS="-static"  CC=musl-gcc make install
[ -e /usr/musl/lib/libncurses.a ] || INTERVENTION $LINENO
ln -sfvn libncurses.a /usr/musl/lib/libtermcap.a
#############################################################

>
> ~Will
>
> [1] Attachment on
> https://lists.gnu.org/archive/html/bug-bash/2016-10/msg00006.html
>
> On Sun, Jan 28, 2018 at 1:51 AM, Po-yi Wang <player@....bc.ca> wrote:
>>
>>
>> On Sat, 27 Jan 2018, Rich Felker wrote:
>>
>>> On Sat, Jan 27, 2018 at 08:19:55AM -0800, Po-yi Wang wrote:
>>>>
>>>> hi
>>>>
>>>> i am attempting to statically compile bash-3.2.57 or bash-4.4.12, with
>>>>  gcc-4.0.4 binutils-2.24 and musl-1.1.18 musl-gcc wrapper.
>>>> (seg fault occurred on arm target)(musl compiled with -g3)
>>>
>>>
>>> What configure command line did you use? By default bash uses (or at
>>> least used to use) its own broken malloc replacement that's
>>> incompatible with musl (and inherently UB). You need to disable that.
>>> Look at the build recipe from any distro using musl, like:
>>
>>
>> WGET_UNPACK bash-3.2.57.tar.xz
>> LDFLAGS="-static"  CC=musl-gcc ./configure --prefix=/usr/musl
>> --enable-static-link --disable-nls --without-bash-malloc
>> LDFLAGS="-static"  CC=musl-gcc make
>>
>>
>>>
>>>
>>> https://git.alpinelinux.org/cgit/aports/tree/main/bash/APKBUILD?id=v3.7.0#n72
>>>
>>> Rich
>>>
>>
>

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ