klibc z HEAD
Paweł Sikora
pluto w agmk.net
Czw, 6 Paź 2005, 23:52:19 CEST
Dnia czwartek, 6 października 2005 22:19, Jakub Bogusz napisał:
> Statyczne linkowanie działa poprawnie, przy (domyślnym) dynamicznym jest
> SEGV.
>
> $ cat c.c
> int main() {}
> $ klcc -o c c.c
> $ strace ./c
> execve("./c", ["./c"], [/* 44 vars */]) = -1 EFAULT (Bad address)
> --- SIGSEGV (Segmentation fault) @ 0 (0) ---
> +++ killed by SIGSEGV (core dumped) +++
$ nano c.c
$ klcc -o c c.c -s
$ ./c
$ strace ./c
execve("./c", ["./c"], [/* 37 vars */]) = 0
_exit(1) = ?
soa#1, system ac:main+ac:ready.
$ objdump -x c
c: file format elf32-i386
c
architecture: i386, flags 0x00000102:
EXEC_P, D_PAGED
start address 0x08048120
Program Header:
PHDR off 0x00000034 vaddr 0x08048034 paddr 0x08048034 align 2**2
filesz 0x000000c0 memsz 0x000000c0 flags r-x
INTERP off 0x000000f4 vaddr 0x080480f4 paddr 0x080480f4 align 2**0
filesz 0x0000002a memsz 0x0000002a flags r--
LOAD off 0x00000000 vaddr 0x08048000 paddr 0x08048000 align 2**12
filesz 0x00000121 memsz 0x00000121 flags r-x
LOAD off 0x00000124 vaddr 0x08049124 paddr 0x08049124 align 2**12
filesz 0x00000000 memsz 0x00000000 flags rw-
STACK off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2
filesz 0x00000000 memsz 0x00000000 flags rwx
PAX_FLAGS off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2
filesz 0x00000000 memsz 0x00000000 flags --- 2800
Sections:
Idx Name Size VMA LMA File off Algn
0 .interp 0000002a 080480f4 080480f4 000000f4 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
1 .text 00000001 08048120 08048120 00000120 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .data 00000000 08049124 08049124 00000124 2**2
CONTENTS, ALLOC, LOAD, DATA
3 .bss 00000000 08049124 08049124 00000124 2**2
ALLOC
SYMBOL TABLE:
no symbols
$ rpm -q gcc binutils
gcc-3.3.6-3
binutils-2.15.94.0.2.2-2
> Przez to wykłada się np. configure z device-mappera.
e...?
--
The only thing necessary for the triumph of evil
is for good men to do nothing.
- Edmund Burke
Więcej informacji o liście dyskusyjnej pld-devel-pl