Module Name:    src
Committed By:   kamil
Date:           Sat Nov  4 16:03:12 UTC 2017

Modified Files:
        src/external/gpl3/gcc/lib/liblto_plugin: Makefile

Log Message:
Link liblto_plugin with -liberty (gcc)

GCC passes liblto_plugin.so in the linker invocation (part of "gcc -v file.c"):

ld -plugin /usr/libexec/liblto_plugin.so -plugin-opt=/usr/libexec/lto-wrapper \
-plugin-opt=-fresolution=/var/tmp//ccxda9Ar.res \
-plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc \
-plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s \
-plugin-opt=-pass-through=-lgcc --eh-frame-hdr -dc -dp -e _start \
-dynamic-linker /usr/libexec/ld.elf_so /usr/lib/crt0.o /usr/lib/crti.o \
/usr/lib/crtbegin.o /var/tmp//cc7A7mOK.o --as-needed -lgcc_s --no-as-needed \
-lgcc -lc --as-needed -lgcc_s --no-as-needed -lgcc /usr/lib/crtend.o \
/usr/lib/crtn.o

When attempting to use GNU GOLD, liblto_plugin.so cannot be used because it \
has missing symbol xstrerror:

ld: error: /usr/libexec/liblto_plugin.so: could not load plugin library: \
/usr/libexec/liblto_plugin.so: Undefined PLT symbol "xstrerror" (symnum = 38)

>From Makefiles and sources inspection, liblto_plugin.so shall be linked with \
libiberty (-liberty), a utility GNU library for internal usage with helping \
functions.

PR 52674 by myself


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/external/gpl3/gcc/lib/liblto_plugin/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/gcc/lib/liblto_plugin/Makefile
diff -u src/external/gpl3/gcc/lib/liblto_plugin/Makefile:1.4 src/external/gpl3/gcc/lib/liblto_plugin/Makefile:1.5
--- src/external/gpl3/gcc/lib/liblto_plugin/Makefile:1.4	Wed Apr 20 17:18:52 2016
+++ src/external/gpl3/gcc/lib/liblto_plugin/Makefile	Sat Nov  4 16:03:12 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.4 2016/04/20 17:18:52 christos Exp $
+#	$NetBSD: Makefile,v 1.5 2017/11/04 16:03:12 kamil Exp $
 
 .include <bsd.init.mk>
 .include <bsd.shlib.mk>
@@ -31,6 +31,10 @@ LIBDIR=		/usr/libexec
 SHLIB_MAJOR=	0
 SHLIB_MINOR=	0
 
+LIBIBERTYDIR!=	cd ${.CURDIR}/../../lib/libiberty && ${PRINTOBJDIR}
+LDADD+=		-L${LIBIBERTYDIR} -liberty
+DPADD+=		${LIBIBERTYDIR}/libiberty.a
+
 # Yuck, we have to run configure to generate this one...
 CLEANFILES+=	config.h
 HOST_CFLAGS+= -I${.OBJDIR}

Reply via email to