Hi,
Lance Fredrickson wrote,
Using uclibc-ng 1.0.18, binaries linked against
dynamic libc.so seems to
work just fine. Binaries created completely statically are non-responsive,
and freeze up on the console. A few binaries I've tried are openvpn, tinc,
transmission-daemon. I have to send SIGKILL to terminate the process. A
simple hello world did compile and run fine though, so possibly having to do
with additional functionality placed into libc.a.
Here's a strace of one binary if that offers any insight.
root@R7000:~/src/tinc-1.1pre14/src# strace ./tinc --version
execve("./tinc", ["./tinc", "--version"], [/* 24 vars */])
= 0
brk(NULL) = 0x1ef000
brk(0x1efcb4) = 0x1efcb4
set_tls(0x1ef490, 0x1c4220, 0x1e9418, 0x1e8bd8, 0x4) = 0
set_tid_address(0x1ef068) = 9961
set_robust_list(0x1ef070, 12) = -1 ENOSYS (Function not
implemented)
rt_sigaction(SIGRTMIN, {0x165014, [], SA_RESTORER|SA_SIGINFO, 0x14f058},
NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x164ea0, [], SA_RESTORER|SA_RESTART|SA_SIGINFO,
0x14f058}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
open("/dev/urandom", O_RDONLY) = 3
read(3, "\\\177t)", 4) = 4
close(3) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
rt_sigprocmask(SIG_SETMASK, ~[ILL TRAP BUS FPE SEGV RTMIN RT_1], [], 8) = 0
rt_sigaction(SIGILL, {0x98734, ~[ILL TRAP BUS FPE SEGV RTMIN RT_1],
SA_RESTORER, 0x14f04c}, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, ~[ILL TRAP BUS FPE KILL SEGV STOP RTMIN
RT_1], 8) = 0
--- SIGILL {si_signo=SIGILL, si_code=ILL_ILLOPC, si_addr=0x98800} ---
futex(0x1e5df0, FUTEX_WAIT_PRIVATE, 2, NULL
Hmm, illegal instruction.
Could you show gcc -v and sent me the binary, please.
Which architecture exactly?
best regards
Waldemar