https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91186

            Bug ID: 91186
           Summary: gcc-9.1.0 fails to to fins a .symver symbol
           Product: gcc
           Version: 9.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: lto
          Assignee: unassigned at gcc dot gnu.org
          Reporter: slyfox at inbox dot ru
                CC: marxin at gcc dot gnu.org
  Target Milestone: ---

The bug is originally discovered as a fuse-2.9.9 build failure on CFLAGS="-O2
-flto" LDFLAGS="-O2 -flto -Wl,--no-undefined": https://bugs.gentoo.org/663518

I failed to extract minimal example off fuse. Attaching self-contained source
tarball with a simple build script.

Script tries to build with lto in 3 modes:

  $ ./bug2.bash 
  Building -O1
  Building -flto -O1 --param lto-partitions=1
  Building -flto -O1 --param lto-partitions=2
 
/usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/../../../../x86_64-pc-linux-gnu/bin/ld:
/tmp/libbug.so.IbcCw4.ltrans0.ltrans.o: in function `mt_chan_receive':
  <artificial>:(.text+0x9f0d): undefined reference to `__fuse_read_cmd@'
  collect2: error: ld returned 1 exit status

Note: only --param lto-partitions=2 triggers build failure.

It's an x86_64-pc-linux-gnu gcc-9.1.1 / binutils-2.32.

Reply via email to