[uClibc] uClibc-0.9.20 and ldd coredump
Peter S. Mazinger
ps.m at gmx.net
Wed Jul 2 15:10:08 UTC 2003
Hello!
The changelog of 0.9.20 says, that the problem with ldd coredumping
if ran against non-executables is solved.
Attached are the outputs of strace ldd /lib/libc.so.0 (native environment)
for:
ulimit -c 0 (ldd.0)
ulimit -c 128 (ldd.1)
I have to mention that I am using a grsecurity enabled kernel (mainly the
PaX options - http://pageexec.virtualave.net - are relevant for this
case).
Although I've got earlier the answer that PaX/grsecurity has problems with
uClibc (true for uClibc < 0.9.18, reported by me), I am using grsecurity
since uClibc-0.9.19 natively on x86 and there are no problems (only the
ones present also on a glibc system ;-).
Peter
--
Peter S. Mazinger <ps.m at gmx.net> ID: 0xA5F059F2 NIC: IXUYHSKQLI
Key fingerprint = 92A4 31E1 56BC 3D5A 2D08 BB6E C389 975E A5F0 59F2
-------------- next part --------------
execve("/usr/bin/ldd", ["ldd", "/lib/libc.so.0"], [/* 18 vars */]) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x246ee000
readlink("/lib/ld-uClibc.so.0", "ld-uClibc-0.9.20.so", 1024) = 19
open("/lib/libc.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\345"..., 4096) = 4096
old_mmap(NULL, 278528, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x246ef000
old_mmap(0x246ef000, 256583, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x246ef000
old_mmap(0x2472e000, 7564, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x3e000) = 0x2472e000
old_mmap(0x24730000, 11692, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x24730000
close(3) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE, {B38400 opost isig icanon echo ...}) = 0
brk(0x804d924) = 0x804d924
brk(0x804e000) = 0x804e000
brk(0x804f000) = 0x804f000
brk(0x8050000) = 0x8050000
open("/lib/libc.so.0", O_RDONLY) = 3
ioctl(3, SNDCTL_TMR_TIMEBASE, 0x58b4f878) = -1 ENOTTY (Inappropriate ioctl for device)
fstat(3, {st_mode=S_IFREG|0755, st_size=263084, ...}) = 0
old_mmap(NULL, 263084, PROT_READ|PROT_WRITE, MAP_PRIVATE, 3, 0) = 0x24733000
brk(0x8051000) = 0x8051000
brk(0x8052000) = 0x8052000
stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0755, st_size=16068, ...}) = 0
fork() = 5188
--- SIGCHLD (Child exited) ---
wait4(5188, [WIFSIGNALED(s) && WTERMSIG(s) == SIGSEGV && WCOREDUMP(s)], 0, NULL) = 5188
_exit(0) = ?
-------------- next part --------------
execve("/usr/bin/ldd", ["ldd", "/lib/libc.so.0"], [/* 18 vars */]) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x2a630000
readlink("/lib/ld-uClibc.so.0", "ld-uClibc-0.9.20.so", 1024) = 19
open("/lib/libc.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\345"..., 4096) = 4096
old_mmap(NULL, 278528, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a631000
old_mmap(0x2a631000, 256583, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2a631000
old_mmap(0x2a670000, 7564, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x3e000) = 0x2a670000
old_mmap(0x2a672000, 11692, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2a672000
close(3) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE, {B38400 opost isig icanon echo ...}) = 0
brk(0x804d924) = 0x804d924
brk(0x804e000) = 0x804e000
brk(0x804f000) = 0x804f000
brk(0x8050000) = 0x8050000
open("/lib/libc.so.0", O_RDONLY) = 3
ioctl(3, SNDCTL_TMR_TIMEBASE, 0x5cdf11b8) = -1 ENOTTY (Inappropriate ioctl for device)
fstat(3, {st_mode=S_IFREG|0755, st_size=263084, ...}) = 0
old_mmap(NULL, 263084, PROT_READ|PROT_WRITE, MAP_PRIVATE, 3, 0) = 0x2a675000
brk(0x8051000) = 0x8051000
brk(0x8052000) = 0x8052000
stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0755, st_size=16068, ...}) = 0
fork() = 5178
--- SIGCHLD (Child exited) ---
wait4(5178, [WIFSIGNALED(s) && WTERMSIG(s) == SIGSEGV], 0, NULL) = 5178
_exit(0) = ?
More information about the uClibc
mailing list