bug-binutils
[Top][All Lists]
Advanced

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

[Bug gold/23155] New: internal error in set_info_section


From: alec.theriault at gmail dot com
Subject: [Bug gold/23155] New: internal error in set_info_section
Date: Thu, 10 May 2018 03:03:56 +0000

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

            Bug ID: 23155
           Summary: internal error in set_info_section
           Product: binutils
           Version: 2.30
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: gold
          Assignee: ccoutant at gmail dot com
          Reporter: alec.theriault at gmail dot com
                CC: ian at airs dot com
  Target Milestone: ---

This is potentially a duplicate of 15861. Apologies for the vague title - I'm
unsure how to characterize the behaviour I'm encountering.

Steps to reproduce:

  $ cat bar.rs
  #[no_mangle]
  pub extern fn bar(x: isize) -> isize { x + 1 }

  $ cat foo.c
  extern int bar(int);
  extern int baz(int);
  int foo(int x) { return bar(x) + baz(x); }

  $ rustc --crate-type=staticlib bar.rs -o bar.a
  $ gcc -c foo.c -o foo.o
  $ gold.ld -r foo.o bar.a -o out.o
  ld.gold: internal error in set_info_section, at ../../gold/output.h:3386

Note that this works with `ld` and `ld.bfd`. I would expect to get an `out.o`
such that

  $ nm out.o | grep '\(foo\|bar\|baz\)$'
  0000000000000000 T bar
                   U baz
  0000000000000000 T foo

I've reproduced this with binutils 2.24, 2.26, and 2.30. I'm using version 1.25
of `rustc`, but I doubt that makes a difference. I can upload `bar.a` and
`foo.o` if that helps at all.

Thanks!

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