bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/26530] New: Inconsistency in between bfd and gold about -Wl,--as


From: mliska at suse dot cz
Subject: [Bug ld/26530] New: Inconsistency in between bfd and gold about -Wl,--as-needed
Date: Tue, 25 Aug 2020 07:26:48 +0000

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

            Bug ID: 26530
           Summary: Inconsistency in between bfd and gold about
                    -Wl,--as-needed
           Product: binutils
           Version: 2.34
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: ld
          Assignee: unassigned at sourceware dot org
          Reporter: mliska at suse dot cz
  Target Milestone: ---

Let's consider the following example:

$ cat foo.c
const char *lrealpath(const char *a)
{
  return a;
}

$ cat main.c
const char *lrealpath(const char *a);

int main(int argc, char **argv)
{
  lrealpath (argv[0]);
}

$ gcc foo.c -fPIC -flto -c
$ ar r libtest.a foo.o
$ gcc -o libfoo.so foo.o -shared

$ gcc main.o -Wl,--as-needed libfoo.so libtest.a --save-temps -fuse-ld=bfd -L.
&& cat libtest.res
2
main.o 2
200 6e870bd31e7efa23 PREVAILING_DEF main
206 6e870bd31e7efa23 RESOLVED_IR lrealpath
libtest.a@0x92 1
199 76b392265247fa61 PREVAILING_DEF_IRONLY_EXP lrealpath

while gold does:

$ gcc main.o -Wl,--as-needed libfoo.so libtest.a --save-temps -fuse-ld=gold -L.
&& cat libtest.res
1
main.o 2
200 6e870bd31e7efa23 PREVAILING_DEF main
206 6e870bd31e7efa23 RESOLVED_DYN lrealpath

So BFD takes symbols from LTO IR while GOLD takes them from the shared library.

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