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] |
Hi there, One of my prebuilt library (produced by non-gnu tool chain) groups debug sections into two ways, some debug sections exist as individual sections while some are grouped together to form section groups. For example: 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 000378 00 AX 0 0 4 [ 2] .arm_vfe_header PROGBITS 00000000 0003ac 000004 00 0 0 4 [ 3] .bss NOBITS 00000000 0003b0 000044 00 WA 0 0 1 [ 4] .comment PROGBITS 00000000 0003b0 000d68 00 0 0 1 [ 5] .data PROGBITS 00000000 001118 000024 00 WA 0 0 4 [ 6] .debug_frame PROGBITS 00000000 00113c 0001e4 00 0 0 1 [ 7] .debug_info PROGBITS 00000000 001320 0000b0 00 0 0 1 [ 8] .debug_info PROGBITS 00000000 0013d0 000178 00 0 0 1 [ 9] .debug_info PROGBITS 00000000 001548 000634 00 0 0 1 [10] .debug_line PROGBITS 00000000 001b7c 000094 00 0 0 1 [11] .debug_line PROGBITS 00000000 001c10 000394 00 0 0 1 [12] .debug_loc PROGBITS 00000000 001fa4 0004d0 00 0 0 1 [13] .debug_macinfo PROGBITS 00000000 002474 000350 00 0 0 1 [14] .debug_pubnames PROGBITS 00000000 0027c4 000034 00 0 0 1 [15] .debug_pubnames PROGBITS 00000000 0027f8 0000a2 00 0 0 1 [16] __ARM_grp.tmFlags GROUP 00000000 00289c 000010 04 169 99 4 [17] .debug_info PROGBITS 00000000 0028ac 0000b4 00 G 0 0 1 [18] .debug_line PROGBITS 00000000 002960 00009c 00 G 0 0 1 [19] .debug_macinfo PROGBITS 00000000 0029fc 001ff8 00 G 0 0 1 Section 7 is an individual section while section 16/17/18/19 are grouped debug sections. Current LD always keeps the individual debug section like section 7 and discards grouped debug sections like 16/17/18/19. The problem is caused when there is a relocation from individual section 7 to grouped section 17. Since section 17 is discarded, such kind of relocation can't be properly resolved in final elf file. This causes GDB crash when try to parse debug sections in such elf file. The attached patch tries to fix the issue by keeping all debug sections. Giving we can compress the debug section, I think the increased size isn't a big deal. Tested with Binutils regression test and no regression. Is it OK? Any comments are welcomed. BR, Terry
Attachment:
ld-keeps-all-debug-section-v2.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |