http://sourceware.org/bugzilla/show_bug.cgi?id=15516

             Bug #: 15516
           Summary: GNU LD is confused when linker plugin turns COMDAT
                    symbol into static w/o renaming.
           Product: binutils
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
        AssignedTo: unassig...@sourceware.org
        ReportedBy: hubi...@gcc.gnu.org
    Classification: Unclassified


Current libreoffice fails to build with the current GCC because of bogus error:


S=/home/marxin/libreoffice && O=$S/solver/unxlngx6.pro &&
W=$S/workdir/unxlngx6.pro &&  mkdir -p $W/LinkTarget/Executable/ && g++  -flto
-fno-fat-lto-objects -fuse-linker-plugin -O2   -Wl,-z,origin
'-Wl,-rpath,$ORIGIN/../lib:$ORIGIN' -Wl,-rpath-link,$O/lib -Wl,-z,defs 
-Wl,-rpath-link,/lib:/usr/lib -Wl,-z,combreloc -L$O/lib  -Wl,--hash-style=gnu 
-Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo
-Wl,-Bsymbolic-functions  -Wl,-O1 -Wl,-S 
$W/CxxObject/i18npool/source/localedata/LocaleNode.o
$W/CxxObject/i18npool/source/localedata/filewriter.o
$W/CxxObject/i18npool/source/localedata/saxparser.o     -Wl,--start-group 
-Wl,--end-group -Wl,--no-as-needed   -luno_cppu -luno_cppuhelpergcc3 -luno_sal
-o $W/LinkTarget/Executable/saxparser
/home/marxin/libreoffice/workdir/unxlngx6.pro/CxxObject/i18npool/source/localedata/saxparser.o
(symbol from plugin): undefined reference to `typeinfo for
com::sun::star::uno::Exception'
/home/marxin/libreoffice/workdir/unxlngx6.pro/CxxObject/i18npool/source/localedata/saxparser.o
(symbol from plugin): undefined reference to `typeinfo name for
com::sun::star::uno::RuntimeException'
/home/marxin/libreoffice/workdir/unxlngx6.pro/CxxObject/i18npool/source/localedata/saxparser.o
(symbol from plugin): undefined reference to `typeinfo for
com::sun::star::uno::RuntimeException'
/home/marxin/libreoffice/workdir/unxlngx6.pro/CxxObject/i18npool/source/localedata/saxparser.o
(symbol from plugin): undefined reference to `typeinfo name for
com::sun::star::uno::Exception'

The typeinfo is a COMDAT symbol that is turned into static and somehow GNU LD
still mixes it up with the original symbol definition.

Sadly we have no self contained testcase....

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to