bug-binutils
[Top][All Lists]
Advanced

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

[Bug gold/18837] gold does not handle linker-scripts with inputs


From: rguenth at gcc dot gnu.org
Subject: [Bug gold/18837] gold does not handle linker-scripts with inputs
Date: Tue, 18 Aug 2015 08:09:43 +0000

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

--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> ---
(In reply to Cary Coutant from comment #2)
> Let's use PR 18836 for a broader discussion on the topic of LTO and early
> debug.
> 
> With the given script, Gnu ld will link t.o as if it had been named on the
> command line. Gold will not; we treat the filenames (with or without
> wildcards) as filters, and gold will not link a file unless it's given on
> the command line or in an INPUT command in a linker script.
> 
> In addition, gold does not support partial linker scripts. If you have a
> linker script with a SECTIONS clause, you'll need to provide a complete
> description of the output section, or the final output will almost certainly
> not be usable.

I see.  So I'm trying (same input):

SECTIONS {
  .debug_info 0 : { *(.gnu.lto_.debug_info*) }
  .debug_abbrev 0 : { *(.gnu.lto_.debug_abbrev*) }
  .debug_str 0 : { *(.gnu.lto_.debug_str*) }
  /DISCARD/ : { *(*) }
}

> ld.gold -o x -T script t.o -r
Segmentation fault
> ld.gold -o x -T script t.o
t.o: plugin needed to handle lto object
ld.gold: internal error in address, at ../../gold/output.h:72
(ok, only the -r link is relevant in the end)

GNU ld:

> ld -o x -T script t.o -r
ld: t.o: plugin needed to handle lto object
> readelf -S x
There are 8 section headers, starting at offset 0x1a0:

Section Headers:
  [Nr] Name              Type             Address           Offset
       Size              EntSize          Flags  Link  Info  Align
  [ 0]                   NULL             0000000000000000  00000000
       0000000000000000  0000000000000000           0     0     0
  [ 1] .debug_info       PROGBITS         0000000000000000  00000040
       000000000000000a  0000000000000000   E       0     0     1
  [ 2] .rela.debug_info  RELA             0000000000000000  00000188
       0000000000000018  0000000000000018   I       6     1     8
  [ 3] .debug_abbrev     PROGBITS         0000000000000000  0000004a
       0000000000000001  0000000000000000   E       0     0     1
  [ 4] .debug_str        PROGBITS         0000000000000000  0000004b
       000000000000001e  0000000000000001  MS       0     0     1
  [ 5] .shstrtab         STRTAB           0000000000000000  00000069
       0000000000000045  0000000000000000           0     0     1
  [ 6] .symtab           SYMTAB           0000000000000000  000000b0
       00000000000000a8  0000000000000018           7     4     8
  [ 7] .strtab           STRTAB           0000000000000000  00000158
       000000000000002a  0000000000000000           0     0     1


maybe you can help me writing a linker script that works with GOLD and
a partial link (and also suggest how to drop the 'E'xclude bit during
that link)?  golds "error" messages are not exactly helpful :/

Btw, this is gold from the 2.25 branch head.

-- 
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]