From: Po-yi Wang <player@vcn.bc.ca>
To: musl@lists.openwall.com
Subject: Re: any one managed to compile and run xz-5.0.8 or xz-5.2.3 ?
Date: Wed, 24 Jan 2018 18:27:45 -0800 (PST) [thread overview]
Message-ID: <Pine.LNX.4.64.1801241820330.32455@vcn.bc.ca> (raw)
In-Reply-To: <CAKGWAO-Axky=r1DHs-Z-UT5zdgQSVRhCxzxi0T5D-a2wZddDvg@mail.gmail.com>
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@vcn.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
>>>
>>
>
next prev parent reply other threads:[~2018-01-25 2:27 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-25 0:18 Po-yi Wang
2018-01-25 0:29 ` Rich Felker
2018-01-25 1:21 ` Po-yi Wang
2018-01-25 1:37 ` Po-yi Wang
2018-01-25 2:04 ` Will Dietz
2018-01-25 2:27 ` Po-yi Wang [this message]
2018-01-25 1:13 ` A. Wilcox
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.4.64.1801241820330.32455@vcn.bc.ca \
--to=player@vcn.bc.ca \
--cc=musl@lists.openwall.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/musl/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).