bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/24267] ld discards a symbol with -flto and -static


From: hjl.tools at gmail dot com
Subject: [Bug ld/24267] ld discards a symbol with -flto and -static
Date: Tue, 12 Mar 2019 01:10:17 +0000

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

--- Comment #22 from H.J. Lu <hjl.tools at gmail dot com> ---
Works for me with binutils 2.32:

address@hidden pr24267]$ cat x.ii 
namespace std {
template <class> struct char_traits;
template <typename a, typename = char_traits<a>> class basic_ostream;
typedef basic_ostream<char> b;
class ios_base {
public:
  class Init {
  public:
    Init();
  };
};
template <typename> class ctype {
  virtual char do_widen(char c) const { return c; }
};
class d {
  ctype<char> e;
};
template <typename, typename> class basic_ostream : d {};
template <class f>
basic_ostream<char, f> &operator<<(basic_ostream<char, f> &, const char *);
b cout;
ios_base::Init g;
} // namespace std
int main() { std::cout << "ok"; }

address@hidden pr24267]$ x86_64-w64-mingw32-g++ -B./ -v -Wl,-v -flto -O2
-static x.ii
Using built-in specs.
COLLECT_GCC=x86_64-w64-mingw32-g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-w64-mingw32/8.3.0/lto-wrapper
Target: x86_64-w64-mingw32
Configured with: ../configure --prefix=/usr --bindir=/usr/bin
--includedir=/usr/include --mandir=/usr/share/man --infodir=/usr/share/info
--datadir=/usr/share --build=x86_64-redhat-linux-gnu
--host=x86_64-redhat-linux-gnu --with-gnu-as --with-gnu-ld --verbose
--without-newlib --disable-multilib --disable-plugin --with-system-zlib
--disable-nls --without-included-gettext --disable-win32-registry
--enable-languages=c,c++,objc,obj-c++,fortran
--with-bugurl=http://bugzilla.redhat.com/bugzilla --with-cloog
--enable-threads=posix --enable-libgomp --target=x86_64-w64-mingw32
--with-sysroot=/usr/x86_64-w64-mingw32/sys-root
--with-gxx-include-dir=/usr/x86_64-w64-mingw32/sys-root/mingw/include/c++
Thread model: posix
gcc version 8.3.0 20190222 (Fedora MinGW 8.3.0-1.fc29) (GCC) 
COLLECT_GCC_OPTIONS='-B' './' '-v' '-flto' '-O2' '-static' '-mtune=generic'
'-march=x86-64'
 /usr/libexec/gcc/x86_64-w64-mingw32/8.3.0/cc1plus -fpreprocessed x.ii -quiet
-dumpbase x.ii -mtune=generic -march=x86-64 -auxbase x -O2 -version -flto -o
/tmp/ccgxROxd.s
GNU C++14 (GCC) version 8.3.0 20190222 (Fedora MinGW 8.3.0-1.fc29)
(x86_64-w64-mingw32)
        compiled by GNU C version 8.2.1 20181215 (Red Hat 8.2.1-6), GMP version
6.1.2, MPFR version 3.1.6-p2, MPC version 1.1.0, isl version isl-0.16.1-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C++14 (GCC) version 8.3.0 20190222 (Fedora MinGW 8.3.0-1.fc29)
(x86_64-w64-mingw32)
        compiled by GNU C version 8.2.1 20181215 (Red Hat 8.2.1-6), GMP version
6.1.2, MPFR version 3.1.6-p2, MPC version 1.1.0, isl version isl-0.16.1-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 782ecece326e64c4c9691227b10ab17e
COLLECT_GCC_OPTIONS='-B' './' '-v' '-flto' '-O2' '-static' '-mtune=generic'
'-march=x86-64'
 /usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/as -v
-o /tmp/ccYNIbg4.o /tmp/ccgxROxd.s
GNU assembler version 2.30 (x86_64-w64-mingw32) using BFD version (GNU
Binutils) 2.30
COMPILER_PATH=./:/usr/libexec/gcc/x86_64-w64-mingw32/8.3.0/:/usr/libexec/gcc/x86_64-w64-mingw32/8.3.0/:/usr/libexec/gcc/x86_64-w64-mingw32/:/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/:/usr/lib/gcc/x86_64-w64-mingw32/:/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/
LIBRARY_PATH=./:/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/:/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/lib/../lib/:/usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib/:/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/lib/:/usr/x86_64-w64-mingw32/sys-root/mingw/lib/
COLLECT_GCC_OPTIONS='-B' './' '-v' '-flto' '-O2' '-static' '-mtune=generic'
'-march=x86-64'
 /usr/libexec/gcc/x86_64-w64-mingw32/8.3.0/collect2 -plugin
/usr/libexec/gcc/x86_64-w64-mingw32/8.3.0/liblto_plugin.so
-plugin-opt=/usr/libexec/gcc/x86_64-w64-mingw32/8.3.0/lto-wrapper
-plugin-opt=-fresolution=/tmp/ccg7K7YU.res -plugin-opt=-pass-through=-lmingw32
-plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh
-plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex
-plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lpthread
-plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32
-plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32
-plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc
-plugin-opt=-pass-through=-lgcc_eh -plugin-opt=-pass-through=-lmoldname
-plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -flto
--sysroot=/usr/x86_64-w64-mingw32/sys-root -m i386pep -Bstatic
/usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib/crt2.o
/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/crtbegin.o -L.
-L/usr/lib/gcc/x86_64-w64-mingw32/8.3.0
-L/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/lib/../lib
-L/usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib
-L/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/lib
-L/usr/x86_64-w64-mingw32/sys-root/mingw/lib -v /tmp/ccYNIbg4.o -lstdc++
-lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lpthread -ladvapi32
-lshell32 -luser32 -lkernel32 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex
-lmsvcrt /usr/lib/gcc/x86_64-w64-mingw32/8.3.0/crtend.o
collect2 version 8.3.0 20190222 (Fedora MinGW 8.3.0-1.fc29)
./ld -plugin /usr/libexec/gcc/x86_64-w64-mingw32/8.3.0/liblto_plugin.so
-plugin-opt=/usr/libexec/gcc/x86_64-w64-mingw32/8.3.0/lto-wrapper
-plugin-opt=-fresolution=/tmp/ccg7K7YU.res -plugin-opt=-pass-through=-lmingw32
-plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh
-plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex
-plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lpthread
-plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32
-plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32
-plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc
-plugin-opt=-pass-through=-lgcc_eh -plugin-opt=-pass-through=-lmoldname
-plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt
--sysroot=/usr/x86_64-w64-mingw32/sys-root -m i386pep -Bstatic
/usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib/crt2.o
/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/crtbegin.o -L.
-L/usr/lib/gcc/x86_64-w64-mingw32/8.3.0
-L/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/lib/../lib
-L/usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib
-L/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/lib
-L/usr/x86_64-w64-mingw32/sys-root/mingw/lib -v /tmp/ccYNIbg4.o -lstdc++
-lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lpthread -ladvapi32
-lshell32 -luser32 -lkernel32 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex
-lmsvcrt /usr/lib/gcc/x86_64-w64-mingw32/8.3.0/crtend.o
GNU ld (GNU Binutils) 2.32.51.20190308
/usr/libexec/gcc/x86_64-w64-mingw32/8.3.0/lto-wrapper
-fresolution=/tmp/ccg7K7YU.res -flinker-output=exec /tmp/ccYNIbg4.o 
x86_64-w64-mingw32-g++ @/tmp/ccAPPPih
Using built-in specs.
COLLECT_GCC=x86_64-w64-mingw32-g++
Target: x86_64-w64-mingw32
Configured with: ../configure --prefix=/usr --bindir=/usr/bin
--includedir=/usr/include --mandir=/usr/share/man --infodir=/usr/share/info
--datadir=/usr/share --build=x86_64-redhat-linux-gnu
--host=x86_64-redhat-linux-gnu --with-gnu-as --with-gnu-ld --verbose
--without-newlib --disable-multilib --disable-plugin --with-system-zlib
--disable-nls --without-included-gettext --disable-win32-registry
--enable-languages=c,c++,objc,obj-c++,fortran
--with-bugurl=http://bugzilla.redhat.com/bugzilla --with-cloog
--enable-threads=posix --enable-libgomp --target=x86_64-w64-mingw32
--with-sysroot=/usr/x86_64-w64-mingw32/sys-root
--with-gxx-include-dir=/usr/x86_64-w64-mingw32/sys-root/mingw/include/c++
Thread model: posix
gcc version 8.3.0 20190222 (Fedora MinGW 8.3.0-1.fc29) (GCC) 
COLLECT_GCC_OPTIONS='-c' '-fno-openmp' '-fno-openacc' '-fpic' '-mtune=generic'
'-march=x86-64' '-O2' '-B' './' '-v' '-O2' '-static' '-mtune=generic'
'-march=x86-64' '-fltrans-output-list=/tmp/ccT5HKcq.ltrans.out' '-fwpa'
'-fresolution=/tmp/ccg7K7YU.res' '-flinker-output=exec'
 /usr/libexec/gcc/x86_64-w64-mingw32/8.3.0/lto1 -quiet -dumpbase ccYNIbg4.o
-mtune=generic -march=x86-64 -mtune=generic -march=x86-64 -auxbase ccYNIbg4 -O2
-O2 -version -fno-openmp -fno-openacc -fpic
-fltrans-output-list=/tmp/ccT5HKcq.ltrans.out -fwpa
-fresolution=/tmp/ccg7K7YU.res -flinker-output=exec @/tmp/ccC2SV8p
GNU GIMPLE (GCC) version 8.3.0 20190222 (Fedora MinGW 8.3.0-1.fc29)
(x86_64-w64-mingw32)
        compiled by GNU C version 8.2.1 20181215 (Red Hat 8.2.1-6), GMP version
6.1.2, MPFR version 3.1.6-p2, MPC version 1.1.0, isl version isl-0.16.1-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU GIMPLE (GCC) version 8.3.0 20190222 (Fedora MinGW 8.3.0-1.fc29)
(x86_64-w64-mingw32)
        compiled by GNU C version 8.2.1 20181215 (Red Hat 8.2.1-6), GMP version
6.1.2, MPFR version 3.1.6-p2, MPC version 1.1.0, isl version isl-0.16.1-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
COMPILER_PATH=./:./:/usr/libexec/gcc/x86_64-w64-mingw32/8.3.0/:/usr/libexec/gcc/x86_64-w64-mingw32/8.3.0/:/usr/libexec/gcc/x86_64-w64-mingw32/:/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/:/usr/lib/gcc/x86_64-w64-mingw32/:/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/:/usr/libexec/gcc/x86_64-w64-mingw32/8.3.0/:/usr/libexec/gcc/x86_64-w64-mingw32/8.3.0/:/usr/libexec/gcc/x86_64-w64-mingw32/:/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/:/usr/lib/gcc/x86_64-w64-mingw32/:/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/
LIBRARY_PATH=./:/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/:/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/lib/../lib/:/usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib/:/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/lib/:/usr/x86_64-w64-mingw32/sys-root/mingw/lib/
COLLECT_GCC_OPTIONS='-c' '-fno-openmp' '-fno-openacc' '-fpic' '-mtune=generic'
'-march=x86-64' '-O2' '-B' './' '-v' '-O2' '-static' '-mtune=generic'
'-march=x86-64' '-fltrans-output-list=/tmp/ccT5HKcq.ltrans.out' '-fwpa'
'-fresolution=/tmp/ccg7K7YU.res' '-flinker-output=exec'
x86_64-w64-mingw32-g++ @/tmp/ccuzoexZ
Using built-in specs.
COLLECT_GCC=x86_64-w64-mingw32-g++
Target: x86_64-w64-mingw32
Configured with: ../configure --prefix=/usr --bindir=/usr/bin
--includedir=/usr/include --mandir=/usr/share/man --infodir=/usr/share/info
--datadir=/usr/share --build=x86_64-redhat-linux-gnu
--host=x86_64-redhat-linux-gnu --with-gnu-as --with-gnu-ld --verbose
--without-newlib --disable-multilib --disable-plugin --with-system-zlib
--disable-nls --without-included-gettext --disable-win32-registry
--enable-languages=c,c++,objc,obj-c++,fortran
--with-bugurl=http://bugzilla.redhat.com/bugzilla --with-cloog
--enable-threads=posix --enable-libgomp --target=x86_64-w64-mingw32
--with-sysroot=/usr/x86_64-w64-mingw32/sys-root
--with-gxx-include-dir=/usr/x86_64-w64-mingw32/sys-root/mingw/include/c++
Thread model: posix
gcc version 8.3.0 20190222 (Fedora MinGW 8.3.0-1.fc29) (GCC) 
COLLECT_GCC_OPTIONS='-c' '-fno-openmp' '-fno-openacc' '-fpic' '-mtune=generic'
'-march=x86-64' '-O2' '-B' './' '-v' '-O2' '-static' '-mtune=generic'
'-march=x86-64' '-fltrans-output-list=/tmp/ccT5HKcq.ltrans.out' '-fltrans' '-o'
'/tmp/ccT5HKcq.ltrans0.ltrans.o'
 /usr/libexec/gcc/x86_64-w64-mingw32/8.3.0/lto1 -quiet -dumpbase
ccT5HKcq.ltrans0.o -mtune=generic -march=x86-64 -mtune=generic -march=x86-64
-auxbase-strip /tmp/ccT5HKcq.ltrans0.ltrans.o -O2 -O2 -version -fno-openmp
-fno-openacc -fpic -fltrans-output-list=/tmp/ccT5HKcq.ltrans.out -fltrans
@/tmp/cc0ZRpTq -o /tmp/cclMLM0h.s
GNU GIMPLE (GCC) version 8.3.0 20190222 (Fedora MinGW 8.3.0-1.fc29)
(x86_64-w64-mingw32)
        compiled by GNU C version 8.2.1 20181215 (Red Hat 8.2.1-6), GMP version
6.1.2, MPFR version 3.1.6-p2, MPC version 1.1.0, isl version isl-0.16.1-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU GIMPLE (GCC) version 8.3.0 20190222 (Fedora MinGW 8.3.0-1.fc29)
(x86_64-w64-mingw32)
        compiled by GNU C version 8.2.1 20181215 (Red Hat 8.2.1-6), GMP version
6.1.2, MPFR version 3.1.6-p2, MPC version 1.1.0, isl version isl-0.16.1-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
COLLECT_GCC_OPTIONS='-c' '-fno-openmp' '-fno-openacc' '-fpic' '-mtune=generic'
'-march=x86-64' '-O2' '-B' './' '-v' '-O2' '-static' '-mtune=generic'
'-march=x86-64' '-fltrans-output-list=/tmp/ccT5HKcq.ltrans.out' '-fltrans' '-o'
'/tmp/ccT5HKcq.ltrans0.ltrans.o'
 /usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/as -v
-o /tmp/ccT5HKcq.ltrans0.ltrans.o /tmp/cclMLM0h.s
GNU assembler version 2.30 (x86_64-w64-mingw32) using BFD version (GNU
Binutils) 2.30
COMPILER_PATH=./:./:/usr/libexec/gcc/x86_64-w64-mingw32/8.3.0/:/usr/libexec/gcc/x86_64-w64-mingw32/8.3.0/:/usr/libexec/gcc/x86_64-w64-mingw32/:/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/:/usr/lib/gcc/x86_64-w64-mingw32/:/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/:/usr/libexec/gcc/x86_64-w64-mingw32/8.3.0/:/usr/libexec/gcc/x86_64-w64-mingw32/8.3.0/:/usr/libexec/gcc/x86_64-w64-mingw32/:/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/:/usr/lib/gcc/x86_64-w64-mingw32/:/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/
LIBRARY_PATH=./:/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/:/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/lib/../lib/:/usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib/:/usr/lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/lib/:/usr/x86_64-w64-mingw32/sys-root/mingw/lib/
COLLECT_GCC_OPTIONS='-c' '-fno-openmp' '-fno-openacc' '-fpic' '-mtune=generic'
'-march=x86-64' '-O2' '-B' './' '-v' '-O2' '-static' '-mtune=generic'
'-march=x86-64' '-fltrans-output-list=/tmp/ccT5HKcq.ltrans.out' '-fltrans' '-o'
'/tmp/ccT5HKcq.ltrans0.ltrans.o'
COLLECT_GCC_OPTIONS='-B' './' '-v' '-flto' '-O2' '-static' '-mtune=generic'
'-march=x86-64'
address@hidden pr24267]$

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