diff options
author | Caroline Tice <cmtice@chromium.org> | 2013-07-09 10:18:49 -0700 |
---|---|---|
committer | Caroline Tice <cmtice@chromium.org> | 2013-07-09 10:18:49 -0700 |
commit | 301bce67d4f2a7a14e559a443d8dcd5e07e3f31b (patch) | |
tree | 734851d0181326cb90159638caf6c3f3fa5a5964 | |
parent | 9c1705845241cdea5cf61574218edef282901fbd (diff) | |
download | gcc-301bce67d4f2a7a14e559a443d8dcd5e07e3f31b.tar.gz |
Update SPECS to properly handle cases where multiple -fvtable-verify= flags
appear in the command line, with different argument values.
-rw-r--r-- | gcc/config/gnu-user.h | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h index 1395b795f5c..2c48c18655a 100644 --- a/gcc/config/gnu-user.h +++ b/gcc/config/gnu-user.h @@ -39,19 +39,21 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see the GNU userspace magical crtbegin.o file (see crtstuff.c) which provides part of the support for getting C++ file-scope static object constructed before entering `main'. */ - + #if defined HAVE_LD_PIE #define GNU_USER_TARGET_STARTFILE_SPEC \ "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \ crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s} \ - %{fvtable-verify=std:vtv_start.o%s} \ - %{fvtable-verify=preinit:vtv_start_preinit.o%s}" + %{fvtable-verify=none:%s; \ + fvtable-verify=preinit:vtv_start_preinit.o%s; \ + fvtable-verify=std:vtv_start.o%s}" #else #define GNU_USER_TARGET_STARTFILE_SPEC \ "%{!shared: %{pg|p|profile:gcrt1.o%s;:crt1.o%s}} \ crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s} \ - %{fvtable-verify=std:vtv_start.o%s} \ - %{fvtable-verify=preinit:vtv_start_preinit.o%s}" + %{fvtable-verify=none:%s; \ + fvtable-verify=preinit:vtv_start_preinit.o%s; \ + fvtable-verify=std:vtv_start.o%s}" #endif #undef STARTFILE_SPEC #define STARTFILE_SPEC GNU_USER_TARGET_STARTFILE_SPEC @@ -63,8 +65,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=std:vtv_end.o%s} \ - %{fvtable-verify=preinit:vtv_end_preinit.o%s} \ + "%{fvtable-verify=none:%s; \ + fvtable-verify=preinit:vtv_end_preinit.o%s; \ + fvtable-verify=std:vtv_end.o%s} \ %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s" #undef ENDFILE_SPEC #define ENDFILE_SPEC GNU_USER_TARGET_ENDFILE_SPEC |