From: Caroline Tice Date: Tue, 13 Aug 2019 16:11:20 +0000 (-0700) Subject: Fix PR other/91396 static linke error with -fvtable-verify X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=65a3896a182c3518f3ba7b5cecaf7d1ca7badf0c;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5739f22c4d2..573c7794130 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-08-13 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. + 2019-08-13 Olivier Hainque * rtl.h (tablejump_casesi_pattern): Move declaration to proper spot. diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h index 055a4f0afec..95a3c29f7ce 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} " \