On Wed, Apr 3, 2019 at 9:59 AM Khem Raj <raj.k...@gmail.com> wrote: > > On Tue, Apr 2, 2019 at 4:51 AM Lluis Campos <lluis.cam...@northern.tech> > wrote: > > > > Hi all, > > > > This is my very first question in the Yocto mailing list. Very exited! > > Please let me know if I should use other list for this. > > > > > > I am building an image using musl libc instead of gnu libc. I am not > > using yocto-tiny distro, instead I achieve this by setting on my local.conf: > > > > TCLIBC = "musl" > > > > > > My app (mender) got a segfault just starting. See output from strace: > > > > root@raspberrypi3:~# strace mender > > execve("/usr/bin/mender", ["mender"], 0x7ee65e10 /* 13 vars */) = 0 > > set_tls(0x76f1bffc) = 0 > > set_tid_address(0x76f1bfa0) = 3020 > > --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0x530bc8} --- > > +++ killed by SIGSEGV +++ > > Segmentation fault > > > > > > To be able to debug the process, I added gdb to my image adding to my > > local.conf: > > > > CORE_IMAGE_EXTRA_INSTALL += "packagegroup-core-buildessential > > packagegroup-core-tools-debug" > > > > > > Then, ironically, gdb itself also segfaults: > > > > root@raspberrypi3:~# strace gdb 2>&1 | tail > > fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 > > getdents64(3, /* 6 entries */, 2048) = 144 > > getdents64(3, /* 0 entries */, 2048) = 0 > > close(3) = 0 > > ioctl(0, TIOCGWINSZ, {ws_row=25, ws_col=74, ws_xpixel=0, ws_ypixel=0}) = 0 > > getcwd("/home/root", 4096) = 11 > > access("/usr/local/bin/gdb", X_OK) = -1 ENOENT (No such file or > > directory) > > access("/usr/bin/gdb", X_OK) = 0 > > --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x7e35aff0} --- > > +++ killed by SIGSEGV +++ > > > > > > So, what is going on here? My guess is that some recipes are being > > wrongly linked with gnu libc instead of musl, and then cannot run in my > > device. > > > > Any ideas on how to debug the issue? > > > > We have switched to using PIE by default in last few releases, can you > try master but comment out > require conf/distro/include/security_flags.inc > in your distro conf file. >
I built a fresh image using yoe distro master today and gdb seems to work fine on rpi3/musl https://github.com/YoeDistro/yoe-distro > > Thanks! > > > > > > LluĂs Campos > > mender.io > > Northen Tech > > > > -- > > _______________________________________________ > > yocto mailing list > > yocto@yoctoproject.org > > https://lists.yoctoproject.org/listinfo/yocto -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto