This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
There are 2 bugs in dwarf2.c. BFD section's lvm is not very useful
for ELF since ELF section doesn't have it and it is made up by bfd:
[hjl@gnu-3 addr2line]$ readelf -S vmlinux
There are 41 section headers, starting at offset 0x20f06bc:
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .text PROGBITS c0100000 001000 226f60 00 AX 0 0 16
...
[hjl@gnu-3 addr2line]$ objdump -h vmlinux
vmlinux: file format elf32-i386
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00226f60 c0100000 00100000 00001000 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
dwarf2.c should use vma for ELF.
The section bug is when comp_unit_contains_address return TRUE,
it doesn't necessary mean a compilation unit really contains the
given address. It may happen when "asm" is used to define functions
like arch/i386/kernel/semaphore.c in the Linux 2.6.14 kernel. My
patch checks the line info table to make sure that a compilation
unit really contains the given address.
H.J.
Attachment:
bfd-dwarf-addr-2.patch
Description: Text document
Attachment:
bfd-dwarf-unit-1.patch
Description: Text document
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |