|
Message-ID: <Pine.LNX.4.64.1801241820330.32455@vcn.bc.ca> Date: Wed, 24 Jan 2018 18:27:45 -0800 (PST) From: Po-yi Wang <player@....bc.ca> To: musl@...ts.openwall.com Subject: Re: any one managed to compile and run xz-5.0.8 or xz-5.2.3 ? On Thu, 25 Jan 2018, Will Dietz wrote: > Those seem to all be statically linked, do any dynamically linked programs > work? > > This is particularly relevant since the crash occurs in early part of the > dynamic linker/loader. ok, i went back and check all 3 binaries, all of them dynamically linked for some reason, still i486 and arm worked (well "--version" worked). only ppc version hanged or seg faulted. even though i have passed LDFLAGS="-static" to configure, it still insist on compiling dynamically. i managed to fix it with explicit command instead of make: cd src/xz/ make clean ; LDFLAGS="-static" CC=musl-gcc make LDFLAGS="-static" musl-gcc -static -std=gnu99 -pthread -Wall -Wformat=2 -Wfloat-equal \ -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast \ -Wwrite-strings -Waggregate-return -Wstrict-prototypes \ -Wmissing-prototypes -Wmissing-declarations -Wmissing-noreturn \ -Wredundant-decls -Os -s -o xz xz-args.o xz-coder.o xz-file_io.o \ xz-hardware.o xz-list.o xz-main.o xz-message.o xz-options.o \ xz-signals.o xz-suffix.o xz-util.o xz-tuklib_open_stdxxx.o \ xz-tuklib_progname.o xz-tuklib_exit.o xz-tuklib_cpucores.o \ xz-tuklib_mbstr_width.o xz-tuklib_mbstr_fw.o ../../src/liblzma/.libs/liblzma.a -pthread now all three targets worked (statically). thanks. > > On Wed, Jan 24, 2018, 7:38 PM Po-yi Wang <player@....bc.ca> wrote: > >> >> >> On Wed, 24 Jan 2018, Rich Felker wrote: >> >>> On Wed, Jan 24, 2018 at 04:18:59PM -0800, Po-yi Wang wrote: >>>> hi >>>> >>>> any one managed to compile and run xz with musl on ppc target ? >>>> i've managed to compile and run "xz --version" on i486 and arm >>>> targets, but not on ppc target. i've tried gcc-3.4.5 and gcc-4.1.2. >>>> gcc-3.4.5 version simply hangs, while gcc-4.1.2 version seg faults -- >>>> with seg fault, i can at least use gdb to get some info out. i do >>>> not know how to use gdb to trace a hanged program. anyway, this is >>>> the output for gcc-4.1.2 compiled version. (xz-5.0.8): >>> >>> Where did you get gcc 3.4.5 or 4.1.2 toolchains for musl ppc? Is any >>> other software working when compiled with them? If you're not using a >>> real cross or native musl toolchain but the musl-gcc wrapper, it >>> probably lacks a lot of stuff it needs to work on ppc. In particular a >>> ppc toolchain that will be used for dynamic-linking needs to be >>> configured to always use "secure-plt", and whether static or dynamic, >>> it needs to be using 64-bit long double. You should have hit an error >>> configuring musl here if the compiler doesn't match: >>> >>> checking whether compiler's long double definition matches float.h... >>> >>> Please provide more details. >>> >>>> gdb src/xz/xz >>>> >>>> GNU gdb (GDB) 7.12.1 >>>> Copyright (C) 2017 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 "powerpc-unknown-linux-gnu". >>>> Type "show configuration" for configuration details. >>>> For bug reporting instructions, please see: >>>> <http://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 src/xz/xz...done. >>>> (gdb) run --version >>>> Starting program: /tmp/build/xz-5.0.8/src/xz/xz --version >>>> >>>> Program received signal SIGSEGV, Segmentation fault. >>>> 0x4806fab8 in _dlstart_c (sp=0xbffff4a0, dynv=0x480b2ae4) at >>>> ldso/dlstart.c:146 >>>> 146 GETFUNCSYM(&dls2, __dls2, base+dyn[DT_PLTGOT]); >>>> (gdb) bt >>>> #0 0x4806fab8 in _dlstart_c (sp=0xbffff4a0, dynv=0x480b2ae4) >>>> at ldso/dlstart.c:146 >>>> #1 0x480778ec in _dlstart () from /lib/ld-musl-powerpc-sf.so.1 >>>> (gdb) quit >>>> A debugging session is active. >>>> >>>> Inferior 1 [process 22188] will be killed. >>>> >>>> Quit anyway? (y or n) y >>> >>> This is an odd place to crash, and if it's crashing here it's almost >>> surely crashing for all programs, not just xz, since it hasn't gotten >>> to the point of looking at the program being run. It could be an issue >>> with very-outdated binutils doing something funny at link time linking >>> libc.so. >> actually other program compiled so far all works: (at least --version >> works) >> res/ppc/bash-4.4: ELF 32-bit MSB executable, PowerPC or cisco >> 4500, version 1 (SYSV), statically linked, stripped >> res/ppc/dbclient: ELF 32-bit MSB executable, PowerPC or cisco >> 4500, version 1 (SYSV), statically linked, stripped >> res/ppc/dropbear: ELF 32-bit MSB executable, PowerPC or cisco >> 4500, version 1 (SYSV), statically linked, stripped >> res/ppc/dropbearconvert: ELF 32-bit MSB executable, PowerPC or cisco >> 4500, version 1 (SYSV), statically linked, stripped >> res/ppc/dropbearkey: ELF 32-bit MSB executable, PowerPC or cisco >> 4500, version 1 (SYSV), statically linked, stripped >> res/ppc/ftp-0.17: ELF 32-bit MSB executable, PowerPC or cisco >> 4500, version 1 (SYSV), statically linked, stripped >> res/ppc/make-3.80: ELF 32-bit MSB executable, PowerPC or cisco >> 4500, version 1 (SYSV), statically linked, stripped >> res/ppc/make-4.1: ELF 32-bit MSB executable, PowerPC or cisco >> 4500, version 1 (SYSV), statically linked, stripped >> res/ppc/msgfmt: ELF 32-bit MSB executable, PowerPC or cisco >> 4500, version 1 (SYSV), statically linked, stripped >> res/ppc/msgmerge: ELF 32-bit MSB executable, PowerPC or cisco >> 4500, version 1 (SYSV), statically linked, stripped >> res/ppc/ntpserver: ELF 32-bit MSB executable, PowerPC or cisco >> 4500, version 1 (SYSV), statically linked, stripped >> res/ppc/patch-2.7.5: ELF 32-bit MSB executable, PowerPC or cisco >> 4500, version 1 (SYSV), statically linked, stripped >> res/ppc/scp: ELF 32-bit MSB executable, PowerPC or cisco >> 4500, version 1 (SYSV), statically linked, stripped >> res/ppc/tar-1.22: ELF 32-bit MSB executable, PowerPC or cisco >> 4500, version 1 (SYSV), statically linked, stripped >> res/ppc/xxd-5.7: ELF 32-bit MSB executable, PowerPC or cisco >> 4500, version 1 (SYSV), statically linked, stripped >> res/ppc/xxxd: ELF 32-bit MSB executable, PowerPC or cisco >> 4500, version 1 (SYSV), statically linked, stripped >> >> >>> >>> Rich >>> >> >
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.