From 65a3896a182c3518f3ba7b5cecaf7d1ca7badf0c Mon Sep 17 00:00:00 2001 From: Caroline Tice Date: Tue, 13 Aug 2019 09:11:20 -0700 Subject: Fix PR other/91396 static linke error with -fvtable-verify Fix a bug where linking with -fvtable-verify and -static causes the linker to complain about multiple definitions of things in the vtv_end*.o files (once from the .o file and once from libvtv.a). 2019-08-12 Caroline Tice PR other/91396 * config/gnu-user.h (GNU_USER_TARGET_ENDFILE_SPEC): Only add the vtv_end.o or vtv_end_preinit.o files if !static. From-SVN: r274386 --- gcc/config/gnu-user.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gcc/config') diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h index 055a4f0..95a3c29 100644 --- a/gcc/config/gnu-user.h +++ b/gcc/config/gnu-user.h @@ -73,9 +73,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see GNU userspace "finalizer" file, `crtn.o'. */ #define GNU_USER_TARGET_ENDFILE_SPEC \ - "%{fvtable-verify=none:%s; \ + "%{!static:%{fvtable-verify=none:%s; \ fvtable-verify=preinit:vtv_end_preinit.o%s; \ - fvtable-verify=std:vtv_end.o%s} \ + fvtable-verify=std:vtv_end.o%s}} \ %{static:crtend.o%s; \ shared|static-pie|" PIE_SPEC ":crtendS.o%s; \ :crtend.o%s} " \ -- cgit v1.1