https://sourceware.org/bugzilla/show_bug.cgi?id=27967
Bug ID: 27967 Summary: Build failure on solaris-11 ld: fatal: option --version-script requires option -z gnu-version-script-compat to be specified Product: binutils Version: 2.34 Status: UNCONFIRMED Severity: normal Priority: P2 Component: binutils Assignee: unassigned at sourceware dot org Reporter: slyfox at inbox dot ru Target Milestone: --- Host: sparcv9-sun-solaris2.11 Created attachment 13486 --> https://sourceware.org/bugzilla/attachment.cgi?id=13486&action=edit build.log It's a forward of https://bugs.gentoo.org/791007 bug found by Michael Kosarev where on solaris-11 binutils building fails as: """ /export/home/ruse39/gentoo/tmp/bin/bash ./libtool --tag=CC --mode=link gcc -m64 -std=gnu99 -Wall -W -Wall -Wno-narrowing -Wwrite-strings -Wmissing-format-attribute -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -pedantic -Wno-long-long -O2 -pipe -version-info 0:0:0 -Wl,--version-script='/export/home/ruse39/gentoo/tmp/var/tmp/portage/sys-devel/binutils-2.34-r1/work/binutils-2.34/libctf/libctf.ver' -L/export/home/ruse39/gentoo/tmp/usr/lib -R/export/home/ruse39/gentoo/tmp/usr/lib -R/export/home/ruse39/gentoo/tmp/tmp -o libctf.la -rpath /export/home/ruse39/gentoo/tmp/usr/lib/binutils/sparcv9-sun-solaris2.11/2.34 ctf-archive.lo ctf-dump.lo ctf-create.lo ctf-decl.lo ctf-error.lo ctf-hash.lo ctf-labels.lo ctf-link.lo ctf-lookup.lo ctf-open.lo ctf-string.lo ctf-subr.lo ctf-types.lo ctf-util.lo ctf-open-bfd.lo -Wl,/export/home/ruse39/gentoo/tmp/var/tmp/portage/sys-devel/binutils-2.34-r1/work/build/libctf/../bfd/.libs/libbfd.so -L/export/home/ruse39/gentoo/tmp/var/tmp/portage/sys-devel/binutils-2.34-r1/work/build/libctf/../libiberty/pic -liberty -lz libtool: link: gcc -m64 -shared -Wl,-z -Wl,text -Wl,-h -Wl,libctf.so.0 -o .libs/libctf.so.0.0.0 .libs/ctf-archive.o .libs/ctf-dump.o .libs/ctf-create.o .libs/ctf-decl.o .libs/ctf-error.o .libs/ctf-hash.o .libs/ctf-labels.o .libs/ctf-link.o .libs/ctf-lookup.o .libs/ctf-open.o .libs/ctf-string.o .libs/ctf-subr.o .libs/ctf-types.o .libs/ctf-util.o .libs/ctf-open-bfd.o -R/export/home/ruse39/gentoo/tmp/usr/lib -R/export/home/ruse39/gentoo/tmp/tmp -L/export/home/ruse39/gentoo/tmp/usr/lib -L/export/home/ruse39/gentoo/tmp/var/tmp/portage/sys-devel/binutils-2.34-r1/work/build/libctf/../libiberty/pic -liberty -lz -m64 -Wl,--version-script=/export/home/ruse39/gentoo/tmp/var/tmp/portage/sys-devel/binutils-2.34-r1/work/binutils-2.34/libctf/libctf.ver -Wl,/export/home/ruse39/gentoo/tmp/var/tmp/portage/sys-devel/binutils-2.34-r1/work/build/libctf/../bfd/.libs/libbfd.so ld: fatal: option --version-script requires option -z gnu-version-script-compat to be specified """ Looks like solaris' ld needs extra `–z gnu-version-script-compat` option set to make `–version-script` work: https://docs.oracle.com/cd/E88353_01/html/E37839/ld-1.html says we need an extra option """ –z gnu-version-script=mapfile –z gnu-version-script-compat –version-script mapfile Provides partial support for the GNU version script style of mapfile. Version scripts are based on the original Solaris version 1 symbol definition syntax, with some extensions. ld supports the most common such extension, the use of wildcard characters in the specified symbol names. Other GNU-specific extensions may not be supported. ld will issue an appropriate error if an unsupported extension is encountered. For convenience in building software developed with GNU version scripts, the native GNU –version-script option is accepted as an alias for –z gnu-version-script. Due to the partial nature of the support for GNU version scripts, the use of –version-script must be explicitly enabled by specifying –z gnu-version-script-compat. """ libctf/configure.ac has too simplistic detection of --version-script and probably will need to be extended: """ # Use a version script, if possible, or an -export-symbols-regex otherwise. VERSION_FLAGS='-export-symbols-regex ctf_.*' if $LD --help 2>&1 | grep -- --version-script >/dev/null; then VERSION_FLAGS="-Wl,--version-script='$srcdir/libctf.ver'" fi AC_SUBST(VERSION_FLAGS) """ Attached full build.log. binutils was configured as: $ ./configure --enable-plugins --disable-nls --with-system-zlib --build=sparcv9-sun-solaris2.11 --prefix=/export/home/ruse39/gentoo/tmp/usr --host=sparcv9-sun-solaris2.11 --target=sparcv9-sun-solaris2.11 --datadir=/export/home/ruse39/gentoo/tmp/usr/share/binutils-data/sparcv9-sun-solaris2.11/2.34 --datarootdir=/export/home/ruse39/gentoo/tmp/usr/share/binutils-data/sparcv9-sun-solaris2.11/2.34 --infodir=/export/home/ruse39/gentoo/tmp/usr/share/binutils-data/sparcv9-sun-solaris2.11/2.34/info --mandir=/export/home/ruse39/gentoo/tmp/usr/share/binutils-data/sparcv9-sun-solaris2.11/2.34/man --bindir=/export/home/ruse39/gentoo/tmp/usr/sparcv9-sun-solaris2.11/binutils-bin/2.34 --libdir=/export/home/ruse39/gentoo/tmp/usr/lib/binutils/sparcv9-sun-solaris2.11/2.34 --libexecdir=/export/home/ruse39/gentoo/tmp/usr/lib/binutils/sparcv9-sun-solaris2.11/2.34 --includedir=/export/home/ruse39/gentoo/tmp/usr/lib/binutils/sparcv9-sun-solaris2.11/2.34/include --enable-obsolete --enable-shared --enable-threads --enable-relro --enable-install-libiberty --disable-werror --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion=Gentoo 2.34 p4 --disable-static --disable-gdb --disable-libdecnumber --disable-readline --disable-sim --without-stage1-ldflags --with-extra-soversion-suffix=gentoo-sys-devel-binutils-st -- You are receiving this mail because: You are on the CC list for the bug.