[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bfd failure (Was: address@hidden: Re: EH notes and split instruction
From: |
Jakub Jelinek |
Subject: |
Re: bfd failure (Was: address@hidden: Re: EH notes and split instructions]) |
Date: |
Wed, 27 Feb 2002 14:28:39 -0500 |
User-agent: |
Mutt/1.2.5.1i |
On Wed, Feb 27, 2002 at 09:22:16AM -0800, Anthony Green wrote:
> On Wed, 2002-02-27 at 08:48, Jakub Jelinek wrote:
> > This looks like .debug_str was for some reason marked as
> > loadable (SHF_ALLOC?) while it shouldn't.
> > Can you see if .debug_str in all input objects is:
> > [21] .debug_str PROGBITS 00000000 00f4b3 00866c 01 MS 0
> > 0 1
> >
> > (important is MS in flags, but not A, W or X).
>
> It looks like all .debug_str sections of the C and C++ .o files are
> "MS", while the java .o files have "WAXMS".
>
> All of the .rodata.jutf8.* sections are WAXMS as well.
.rodata.jutf8.* sections should be AM.
> This points to a compiler bug, right?
Yes.
> I can guess at what A and X mean. What do W, M and S stand for?
A is SHF_ALLOC (allocated)
W is SHF_WRITE (writeable)
X is SHF_EXECINSTR (executable)
M is SHF_MERGE (mergeable)
S is SHF_STRINGS (consists of zero terminated strings (only meaningful with M))
Note that readelf prints it at the bottom of -S:
W (write), A (alloc), X (execute), M (merge), S (strings)
I (info), L (link order), G (group), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)
I've just checked my yesterday's gcc build and the flags seem ok
there, e.g. AWTEventMulticaster.o:
There are 59 section headers, starting at offset 0x1f970:
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 00000000 000034 002080 00 AX 0 0 4
[ 2] .rel.text REL 00000000 022cd0 000e80 08 57 1 4
[ 3] .data PROGBITS 00000000 0020b4 000004 00 WA 0 0 4
[ 4] .bss NOBITS 00000000 0020b8 000000 00 WA 0 0 4
[ 5] .debug_abbrev PROGBITS 00000000 0020b8 0004dd 00 0 0 1
[ 6] .debug_info PROGBITS 00000000 002595 006854 00 0 0 1
[ 7] .rel.debug_info REL 00000000 023b50 003850 08 57 6 4
[ 8] .debug_line PROGBITS 00000000 008de9 000a77 00 0 0 1
[ 9] .rel.debug_line REL 00000000 0273a0 000008 08 57 8 4
[10] .rodata.jutf8.6 PROGBITS 00000000 009860 00000c 06 AM 0 0 2
[11] .data.rel PROGBITS 00000000 009880 000700 00 WA 0 0 32
[12] .rel.data.rel REL 00000000 0273a8 000888 08 57 b 4
[13] .rodata.jutf8.12 PROGBITS 00000000 009f80 000018 0c AM 0 0 2
[14] .rodata.jutf8.58 PROGBITS 00000000 009f98 000074 3a AM 0 0 2
[15] .rodata.jutf8.16 PROGBITS 00000000 00a00c 000060 10 AM 0 0 2
[16] .rodata.jutf8.82 PROGBITS 00000000 00a06c 000052 52 AM 0 0 2
[17] .rodata.jutf8.20 PROGBITS 00000000 00a0be 0000c8 14 AM 0 0 2
[18] .rodata.jutf8.8 PROGBITS 00000000 00a186 000008 08 AM 0 0 2
[19] .rodata.jutf8.100 PROGBITS 00000000 00a18e 0000c8 64 AM 0 0 2
[20] .rodata.jutf8.112 PROGBITS 00000000 00a256 000070 70 AM 0 0 2
[21] .rodata.jutf8.110 PROGBITS 00000000 00a2c6 00014a 6e AM 0 0 2
[22] .rodata.jutf8.98 PROGBITS 00000000 00a410 0000c4 62 AM 0 0 2
[23] .rodata.jutf8.128 PROGBITS 00000000 00a4d4 000080 80 AM 0 0 2
[24] .rodata.jutf8.116 PROGBITS 00000000 00a554 0000e8 74 AM 0 0 2
[25] .rodata.jutf8.94 PROGBITS 00000000 00a63c 0000bc 5e AM 0 0 2
[26] .rodata.jutf8.92 PROGBITS 00000000 00a6f8 00005c 5c AM 0 0 2
[27] .rodata.jutf8.36 PROGBITS 00000000 00a754 000090 24 AM 0 0 2
[28] .rodata.jutf8.28 PROGBITS 00000000 00a7e4 000038 1c AM 0 0 2
[29] .rodata.jutf8.40 PROGBITS 00000000 00a81c 0000a0 28 AM 0 0 2
[30] .rodata.jutf8.22 PROGBITS 00000000 00a8bc 00009a 16 AM 0 0 2
[31] .rodata.jutf8.14 PROGBITS 00000000 00a956 00001c 0e AM 0 0 2
[32] .rodata.jutf8.18 PROGBITS 00000000 00a972 0000b4 12 AM 0 0 2
[33] .rodata.jutf8.26 PROGBITS 00000000 00aa26 00001a 1a AM 0 0 2
[34] .rodata.jutf8.42 PROGBITS 00000000 00aa40 00002a 2a AM 0 0 2
[35] .rodata.jutf8.34 PROGBITS 00000000 00aa6a 000088 22 AM 0 0 2
[36] .rodata.jutf8.10 PROGBITS 00000000 00aaf2 00000a 0a AM 0 0 2
[37] .rodata.jutf8.80 PROGBITS 00000000 00aafc 000050 50 AM 0 0 2
[38] .rodata.jutf8.54 PROGBITS 00000000 00ab4c 000036 36 AM 0 0 2
[39] .data.rel.local PROGBITS 00000000 00ab84 000008 00 WA 0 0 4
[40] .rel.data.rel.loc REL 00000000 027c30 000008 08 57 27 4
[41] .jcr PROGBITS 00000000 00ab8c 000004 00 WA 0 0 4
[42] .rel.jcr REL 00000000 027c38 000008 08 57 29 4
[43] .debug_frame PROGBITS 00000000 00ab90 001a28 00 0 0 4
[44] .rel.debug_frame REL 00000000 027c40 000440 08 57 2b 4
[45] .eh_frame PROGBITS 00000000 00c5b8 003490 00 WA 0 0 4
[46] .rel.eh_frame REL 00000000 028080 000228 08 57 2d 4
[47] .debug_pubnames PROGBITS 00000000 00fa48 001777 00 0 0 1
[48] .rel.debug_pubnam REL 00000000 0282a8 000008 08 57 2f 4
[49] .debug_aranges PROGBITS 00000000 0111bf 000020 00 0 0 1
[50] .rel.debug_arange REL 00000000 0282b0 000010 08 57 31 4
[51] .debug_ranges PROGBITS 00000000 0111df 000030 00 0 0 1
[52] .debug_str PROGBITS 00000000 01120f 00e445 01 MS 0 0 1
[53] .gnu.linkonce.d.D PROGBITS 00000000 01f654 000004 00 WA 0 0 4
[54] .rel.gnu.linkonce REL 00000000 0282c0 000008 08 57 35 4
[55] .comment PROGBITS 00000000 01f658 000028 00 0 0 1
[56] .shstrtab STRTAB 00000000 01f680 0002ef 00 0 0 1
[57] .symtab SYMTAB 00000000 0202a8 000e70 10 58 7f 4
[58] .strtab STRTAB 00000000 021118 001bb7 00 0 0 1
Jakub