From 73ba8947260dc0e23275ab27d3c3737faa72ce88 Mon Sep 17 00:00:00 2001 From: aaw Date: Fri, 2 Mar 2012 20:52:24 +0000 Subject: Add an x86_64-grtev3-linux-gnu target. gcc/ChangeLog.google-integration * config.gcc: Add *-grtev3-* target support. * config/i386/linux.h: Comment fixup. * config/i386/linux64.h: Comment fixup. * config/linux-grtev3.h: New file. contrib/ChangeLog.google-integration * testsuite-management/x86_64-grtev3-linux-gnu.xfail: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/google/integration@184824 138bc75d-0d04-0410-961f-82ee72b054a4 --- contrib/ChangeLog.google-integration | 4 ++ .../x86_64-grtev3-linux-gnu.xfail | 73 ++++++++++++++++++++++ gcc/ChangeLog.google-integration | 7 +++ gcc/config.gcc | 12 ++++ gcc/config/i386/linux.h | 2 +- gcc/config/i386/linux64.h | 2 +- gcc/config/linux-grtev3.h | 43 +++++++++++++ 7 files changed, 141 insertions(+), 2 deletions(-) create mode 100644 contrib/testsuite-management/x86_64-grtev3-linux-gnu.xfail create mode 100644 gcc/config/linux-grtev3.h diff --git a/contrib/ChangeLog.google-integration b/contrib/ChangeLog.google-integration index b222b7776b3..baa8a05bb87 100644 --- a/contrib/ChangeLog.google-integration +++ b/contrib/ChangeLog.google-integration @@ -1,3 +1,7 @@ +2012-03-02 Ollie Wild + + * testsuite-management/x86_64-grtev3-linux-gnu.xfail: New file. + 2012-02-29 Sharad Singhai * testsuite-management/x86_64-unknown-linux-gnu.xfail: Add diff --git a/contrib/testsuite-management/x86_64-grtev3-linux-gnu.xfail b/contrib/testsuite-management/x86_64-grtev3-linux-gnu.xfail new file mode 100644 index 00000000000..388da932801 --- /dev/null +++ b/contrib/testsuite-management/x86_64-grtev3-linux-gnu.xfail @@ -0,0 +1,73 @@ +#*** libstdc++ for unix/-m32: +#*** libstdc++ for unix/-m64: +# Both of these fail because of the stl debug patch which changes line numbers. +FAIL: 23_containers/vector/requirements/dr438/assign_neg.cc (test for errors, line 1225) +FAIL: 23_containers/vector/requirements/dr438/assign_neg.cc (test for excess errors) +FAIL: 23_containers/vector/requirements/dr438/constructor_1_neg.cc (test for errors, line 1155) +FAIL: 23_containers/vector/requirements/dr438/constructor_1_neg.cc (test for excess errors) +FAIL: 23_containers/vector/requirements/dr438/constructor_2_neg.cc (test for errors, line 1155) +FAIL: 23_containers/vector/requirements/dr438/constructor_2_neg.cc (test for excess errors) +FAIL: 23_containers/vector/requirements/dr438/insert_neg.cc (test for errors, line 1266) +FAIL: 23_containers/vector/requirements/dr438/insert_neg.cc (test for excess errors) + +# These tests fail in trunk in all configurations. +FAIL: gcc.dg/cproj-fails-with-broken-glibc.c execution test +XPASS: gcc.dg/inline_3.c (test for excess errors) +XPASS: gcc.dg/inline_4.c (test for excess errors) +XPASS: gcc.dg/unroll_2.c (test for excess errors) +XPASS: gcc.dg/unroll_3.c (test for excess errors) +XPASS: gcc.dg/unroll_4.c (test for excess errors) +FAIL: libmudflap.c++/pass55-frag.cxx ( -O) execution test +FAIL: gcc.c-torture/execute/vshuf-v2di.c execution, -Os +FAIL: gcc.c-torture/execute/vshuf-v8hi.c execution, -Os +FAIL: gcc.c-torture/execute/vshuf-v16qi.c execution, -Os + +# These fail because we use non-standard 32-bit configuration. +FAIL: gcc.target/i386/pr27827.c scan-assembler fmul[ \t]*%st +FAIL: gcc.dg/pr52086.c (internal compiler error) +FAIL: gcc.dg/pr52086.c (test for excess errors) + +# Failures in libitm. +FAIL: libitm.c/stackundo.c (test for excess errors) +UNRESOLVED: libitm.c/stackundo.c compilation failed to produce executable +FAIL: libitm.c++/dropref.C (test for excess errors) +UNRESOLVED: libitm.c++/dropref.C compilation failed to produce executable +UNRESOLVED: libitm.c++/eh-1.C compilation failed to produce executable +FAIL: libitm.c++/eh-1.C (test for excess errors) +FAIL: libitm.c++/throwdown.C (test for excess errors) +FAIL: libitm.c/cancel.c (test for excess errors) +UNRESOLVED: libitm.c/cancel.c compilation failed to produce executable +FAIL: libitm.c/clone-1.c (test for excess errors) +UNRESOLVED: libitm.c/clone-1.c compilation failed to produce executable +FAIL: libitm.c/dropref-2.c (test for excess errors) +UNRESOLVED: libitm.c/dropref-2.c compilation failed to produce executable +UNRESOLVED: libitm.c/dropref.c compilation failed to produce executable +FAIL: libitm.c/dropref.c (test for excess errors) +FAIL: libitm.c/memcpy-1.c (test for excess errors) +UNRESOLVED: libitm.c/memcpy-1.c compilation failed to produce executable +FAIL: libitm.c/memset-1.c (test for excess errors) +UNRESOLVED: libitm.c/memset-1.c compilation failed to produce executable +UNRESOLVED: libitm.c/notx.c compilation failed to produce executable +FAIL: libitm.c/notx.c (test for excess errors) +FAIL: libitm.c/reentrant.c (test for excess errors) +UNRESOLVED: libitm.c/reentrant.c compilation failed to produce executable +FAIL: libitm.c/simple-1.c (test for excess errors) +UNRESOLVED: libitm.c/simple-1.c compilation failed to produce executable +UNRESOLVED: libitm.c/simple-2.c compilation failed to produce executable +FAIL: libitm.c/simple-2.c (test for excess errors) +UNRESOLVED: libitm.c/txrelease.c compilation failed to produce executable +FAIL: libitm.c/txrelease.c (test for excess errors) + +# These tests only fail when boehm-gc.c is enabled. +FAIL: boehm-gc.c/thread_leak_test.c -O2 (test for excess errors) + +# These are flaky when tested in loaded machines (they exceed the timeout) +flaky | FAIL: libmudflap.cth/pass40-frag.c (-O2) output pattern test +flaky | FAIL: libmudflap.cth/pass40-frag.c (-static -DSTATIC) execution test +flaky | FAIL: libmudflap.cth/pass40-frag.c (-O3) execution test +flaky | FAIL: libmudflap.cth/pass40-frag.c (-static -DSTATIC) output pattern test +flaky | FAIL: libmudflap.cth/pass40-frag.c (-O3) output pattern test +flaky | FAIL: libmudflap.cth/pass40-frag.c execution test +flaky | FAIL: libmudflap.cth/pass40-frag.c output pattern test +flaky | FAIL: libmudflap.cth/pass40-frag.c (-O2) execution test +flaky | FAIL: boehm-gc.c/gctest.c -O2 execution test diff --git a/gcc/ChangeLog.google-integration b/gcc/ChangeLog.google-integration index 050a56715d7..46e44bd361a 100644 --- a/gcc/ChangeLog.google-integration +++ b/gcc/ChangeLog.google-integration @@ -1,3 +1,10 @@ +2012-03-02 Ollie Wild + + * config.gcc: Add *-grtev3-* target support. + * config/i386/linux.h: Comment fixup. + * config/i386/linux64.h: Comment fixup. + * config/linux-grtev3.h: New file. + 2012-02-29 Sharad Singhai Mainline merge rev 184667. diff --git a/gcc/config.gcc b/gcc/config.gcc index 62f1dab3a5f..0bc2dbb69c7 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1267,6 +1267,12 @@ i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i else tm_file="${tm_file} i386/gnu-user.h i386/linux.h" fi + # Pull in spec changes for GRTEv3 configurations. + case ${target} in + *-grtev3-*) + tm_file="${tm_file} linux-grtev3.h" + ;; + esac ;; i[34567]86-*-knetbsd*-gnu) tm_file="${tm_file} i386/gnu-user.h knetbsd-gnu.h i386/knetbsd-gnu.h" @@ -1293,6 +1299,12 @@ x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu) tm_file="${tm_file} linux.h i386/linux64.h" # Assume modern glibc default_gnu_indirect_function=yes + # Pull in spec changes for GRTEv3 configurations. + case ${target} in + *-grtev3-*) + tm_file="${tm_file} linux-grtev3.h" + ;; + esac ;; x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h" diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h index 53c560d00ac..ade524c846b 100644 --- a/gcc/config/i386/linux.h +++ b/gcc/config/i386/linux.h @@ -26,7 +26,7 @@ along with GCC; see the file COPYING3. If not see #endif #define GLIBC_DYNAMIC_LINKER RUNTIME_ROOT_PREFIX "/lib/ld-linux.so.2" -/* These may be provided by config/linux-grtev2.h. */ +/* These may be provided by config/linux-grtev*.h. */ #ifndef LINUX_GRTE_EXTRA_SPECS #define LINUX_GRTE_EXTRA_SPECS #endif diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h index edc1a6f0781..508fa377dfb 100644 --- a/gcc/config/i386/linux64.h +++ b/gcc/config/i386/linux64.h @@ -35,7 +35,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #define GLIBC_DYNAMIC_LINKER64 RUNTIME_ROOT_PREFIX "/lib64/ld-linux-x86-64.so.2" #define GLIBC_DYNAMIC_LINKERX32 RUNTIME_ROOT_PREFIX "/libx32/ld-linux-x32.so.2" -/* These may be provided by config/linux-grtev2.h. */ +/* These may be provided by config/linux-grtev*.h. */ #ifndef LINUX_GRTE_EXTRA_SPECS #define LINUX_GRTE_EXTRA_SPECS #endif diff --git a/gcc/config/linux-grtev3.h b/gcc/config/linux-grtev3.h new file mode 100644 index 00000000000..a63fdc3daa7 --- /dev/null +++ b/gcc/config/linux-grtev3.h @@ -0,0 +1,43 @@ +/* Definitions for Linux-based GRTE (Google RunTime Environment) version 3. + Copyright (C) 2009,2010,2011,2012 Free Software Foundation, Inc. + Contributed by Chris Demetriou and Ollie Wild. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3, or (at your option) +any later version. + +GCC is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +Under Section 7 of GPL version 3, you are granted additional +permissions described in the GCC Runtime Library Exception, version +3.1, as published by the Free Software Foundation. + +You should have received a copy of the GNU General Public License and +a copy of the GCC Runtime Library Exception along with this program; +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +. */ + +/* Overrides LIB_SPEC from gnu-user.h. */ +#undef LIB_SPEC +#define LIB_SPEC \ + "%{pthread:-lpthread} \ + %{shared:-lc} \ + %{!shared:%{mieee-fp:-lieee} %{profile:%(libc_p)}%{!profile:%(libc)}}" + +/* When GRTE links statically, it needs its NSS and resolver libraries + linked in as well. Note that when linking statically, these are + enclosed in a group by LINK_GCC_C_SEQUENCE_SPEC. */ +#undef LINUX_GRTE_EXTRA_SPECS +#define LINUX_GRTE_EXTRA_SPECS \ + { "libc", "%{static:%(libc_static);:-lc}" }, \ + { "libc_p", "%{static:%(libc_p_static);:-lc_p}" }, \ + { "libc_static", \ + "-lc -lnss_borg -lnss_cache -lnss_dns -lnss_files -lresolv" }, \ + { "libc_p_static", \ + "-lc_p -lnss_borg_p -lnss_cache_p -lnss_dns_p -lnss_files_p -lresolv_p" }, -- cgit v1.2.3