bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/18836] ld handles .gnu.lto_ prefixed sections oddly, /DISCARD/ s


From: rguenth at gcc dot gnu.org
Subject: [Bug ld/18836] ld handles .gnu.lto_ prefixed sections oddly, /DISCARD/ semantics unclear
Date: Mon, 17 Aug 2015 12:50:55 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=18836

--- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> ---
when compiling t.c with -flto -g -ffat-lto-objects you'll get (this is with a
workaround for this bug applied, naming those sections .gnu.debuglto_):

Section Headers:
  [Nr] Name              Type             Address           Offset
       Size              EntSize          Flags  Link  Info  Align
  [ 0]                   NULL             0000000000000000  00000000
       0000000000000000  0000000000000000           0     0     0
  [ 1] .text             PROGBITS         0000000000000000  00000040
       000000000000000c  0000000000000000  AX       0     0     1
  [ 2] .rela.text        RELA             0000000000000000  00000b30
       0000000000000018  0000000000000018   I      28     1     8
  [ 3] .data             PROGBITS         0000000000000000  0000004c
       0000000000000000  0000000000000000  WA       0     0     1
  [ 4] .bss              NOBITS           0000000000000000  0000004c
       0000000000000000  0000000000000000  WA       0     0     1
  [ 5] .gnu.debuglto_.de PROGBITS         0000000000000000  0000004c
       0000000000000035  0000000000000000           0     0     1
  [ 6] .rela.gnu.debuglt RELA             0000000000000000  00000b48
       0000000000000060  0000000000000018   I      28     5     8
  [ 7] .gnu.debuglto_.de PROGBITS         0000000000000000  00000081
       0000000000000037  0000000000000000           0     0     1
  [ 8] .gnu.debuglto_.de PROGBITS         0000000000000000  000000b8
       0000000000000081  0000000000000001  MS       0     0     1
  [ 9] .gnu.lto_.inline. PROGBITS         0000000000000000  00000139
       0000000000000020  0000000000000000   E       0     0     1
  [10] .gnu.lto_main.186 PROGBITS         0000000000000000  00000159
       0000000000000113  0000000000000000   E       0     0     1
  [11] .gnu.lto_.symbol_ PROGBITS         0000000000000000  0000026c
       0000000000000026  0000000000000000   E       0     0     1
  [12] .gnu.lto_.refs.18 PROGBITS         0000000000000000  00000292
       0000000000000013  0000000000000000   E       0     0     1
  [13] .gnu.lto_.decls.1 PROGBITS         0000000000000000  000002a5
       00000000000001c4  0000000000000000   E       0     0     1
  [14] .gnu.lto_.symtab. PROGBITS         0000000000000000  00000469
       0000000000000025  0000000000000000   E       0     0     1
  [15] .gnu.lto_.opts    PROGBITS         0000000000000000  0000048e
       0000000000000094  0000000000000000   E       0     0     1
  [16] .debug_info       PROGBITS         0000000000000000  00000522
       0000000000000065  0000000000000000           0     0     1
  [17] .rela.debug_info  RELA             0000000000000000  00000ba8
       00000000000000c0  0000000000000018   I      28    16     8
  [18] .debug_abbrev     PROGBITS         0000000000000000  00000587
       0000000000000048  0000000000000000           0     0     1
  [19] .debug_aranges    PROGBITS         0000000000000000  000005cf
       0000000000000030  0000000000000000           0     0     1
  [20] .rela.debug_arang RELA             0000000000000000  00000c68
       0000000000000030  0000000000000018   I      28    19     8
  [21] .debug_line       PROGBITS         0000000000000000  000005ff
       0000000000000036  0000000000000000           0     0     1
  [22] .rela.debug_line  RELA             0000000000000000  00000c98
       0000000000000018  0000000000000018   I      28    21     8
  [23] .comment          PROGBITS         0000000000000000  00000635
       000000000000002a  0000000000000001  MS       0     0     1
  [24] .note.GNU-stack   PROGBITS         0000000000000000  0000065f
       0000000000000000  0000000000000000           0     0     1
  [25] .eh_frame         PROGBITS         0000000000000000  00000660
       0000000000000038  0000000000000000   A       0     0     8
  [26] .rela.eh_frame    RELA             0000000000000000  00000cb0
       0000000000000018  0000000000000018   I      28    25     8
  [27] .shstrtab         STRTAB           0000000000000000  00000698
       00000000000001ff  0000000000000000           0     0     1
  [28] .symtab           SYMTAB           0000000000000000  00000898
       0000000000000270  0000000000000018          29    23     8
  [29] .strtab           STRTAB           0000000000000000  00000b08
       0000000000000026  0000000000000000           0     0     1


the extra sections contain "early" debug-info which gets refered to by
LTRANS unit .debug_info.  So it needs to be linked into the final
executable / shared object and there get its mangled section name
"unmangled".

-- 
You are receiving this mail because:
You are on the CC list for the bug.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]