This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

g++-3.0.x on linux-sparc, define GNU_SOURCE


Defining _GNU_SOURCE for c++ is necessary for sparc-linux as well.

2001-09-08  "David S. Miller" <davem@redhat.com>

	* config/sparc/linux.h: Define _GNU_SOURCE for c++ code.

sucessfully bootstrapped the Debian version of the compiler with and
without this patch.

To: bcollins@debian.org
Subject: gcc/sparc
From: "David S. Miller" <davem@redhat.com>


Ben, do you off hand have any sparc specific changes in your
current gcc package?  I ask because...

I just found a fatal error in all 3.x versions of the compiler
that prevents libstdc++-v3 from working.  The fix is below,
and I can see how you perhaps can bootstrap but not how you
can possible pass any of the c++ testsuite with this bug :-)

--- gcc/config/sparc/linux.h.~1~	Mon Apr 16 11:25:52 2001
+++ gcc/config/sparc/linux.h	Wed Sep  5 00:56:47 2001
@@ -32,6 +32,10 @@
 #define MULTIBYTE_CHARS 1
 #endif
 
+/* The GNU C++ standard library requires that these macros be defined.  */
+#undef CPLUSPLUS_CPP_SPEC
+#define CPLUSPLUS_CPP_SPEC "-D_GNU_SOURCE %(cpp)"
+
 #ifndef USE_GNULIBC_1
 #undef DEFAULT_VTABLE_THUNKS
 #define DEFAULT_VTABLE_THUNKS 1



--- gcc-3.0-3.0.2ds0/test-summary	Sun Aug 26 18:21:07 2001
+++ gcc-3.0-3.0.2ds1/test-summary	Sat Sep  8 14:24:44 2001
@@ -1,4 +1,4 @@
-LAST_UPDATED: Sat Aug 25 09:34:50 UTC 2001
+LAST_UPDATED: Sat Sep  8 12:19:24 UTC 2001
 
 Native configuration is sparc-unknown-linux-gnu
 
@@ -6,139 +6,18 @@
 
 
 Running target unix
-FAIL: g++.abi/arraynew.C (test for excess errors)
-FAIL: g++.benjamin/15071.C (test for excess errors)
-FAIL: g++.brendan/copy9.C (test for excess errors)
-FAIL: g++.brendan/crash15.C (test for excess errors)
-FAIL: g++.brendan/crash20.C (test for excess errors)
-FAIL: g++.brendan/crash30.C (test for excess errors)
-FAIL: g++.brendan/crash38.C (test for excess errors)
-FAIL: g++.brendan/crash39.C (test for excess errors)
-FAIL: g++.brendan/crash49.C (test for excess errors)
-FAIL: g++.brendan/crash52.C (test for excess errors)
-FAIL: g++.brendan/crash62.C (test for excess errors)
-FAIL: g++.brendan/cvt1.C (test for excess errors)
-FAIL: g++.brendan/err-msg3.C (test for excess errors)
-FAIL: g++.brendan/nest21.C (test for excess errors)
-FAIL: g++.brendan/ptolemy2.C (test for excess errors)
 FAIL: g++.eh/badalloc1.C  Execution test
-FAIL: g++.eh/new1.C (test for excess errors)
-FAIL: g++.eh/new2.C (test for excess errors)
 FAIL: g++.ext/instantiate1.C not instantiated (test for errors, line 20)
-FAIL: g++.jason/2371.C (test for excess errors)
-FAIL: g++.jason/template24.C (test for excess errors)
-FAIL: g++.jason/template31.C (test for excess errors)
-FAIL: g++.jason/typeid1.C (test for excess errors)
-FAIL: g++.law/arg1.C (test for excess errors)
-FAIL: g++.law/arg8.C (test for excess errors)
-FAIL: g++.law/arm12.C (test for excess errors)
-FAIL: g++.law/arm9.C (test for excess errors)
-FAIL: g++.law/bad-error7.C (test for excess errors)
-FAIL: g++.law/code-gen5.C (test for excess errors)
-FAIL: g++.law/ctors10.C (test for excess errors)
-FAIL: g++.law/ctors12.C (test for excess errors)
-FAIL: g++.law/ctors13.C (test for excess errors)
-FAIL: g++.law/ctors17.C (test for excess errors)
-FAIL: g++.law/ctors6.C (test for excess errors)
-FAIL: g++.law/cvt16.C (test for excess errors)
-FAIL: g++.law/cvt2.C (test for excess errors)
-FAIL: g++.law/cvt7.C (test for excess errors)
-FAIL: g++.law/except5.C (test for excess errors)
-FAIL: g++.law/missed-error2.C (test for excess errors)
-FAIL: g++.law/nest3.C (test for excess errors)
-FAIL: g++.law/operators32.C (test for excess errors)
-FAIL: g++.law/operators4.C (test for excess errors)
-FAIL: g++.law/vbase1.C (test for excess errors)
-FAIL: g++.law/virtual3.C (test for excess errors)
-FAIL: g++.law/visibility1.C (test for excess errors)
-FAIL: g++.law/visibility10.C (test for excess errors)
-FAIL: g++.law/visibility13.C (test for excess errors)
-FAIL: g++.law/visibility17.C (test for excess errors)
-FAIL: g++.law/visibility2.C (test for excess errors)
-FAIL: g++.law/visibility22.C (test for excess errors)
-FAIL: g++.law/visibility25.C (test for excess errors)
-FAIL: g++.law/visibility7.C (test for excess errors)
-FAIL: g++.martin/bitset1.C (test for excess errors)
-FAIL: g++.martin/new1.C (test for excess errors)
-FAIL: g++.mike/dyncast7.C (test for excess errors)
-FAIL: g++.mike/eh13.C (test for excess errors)
-FAIL: g++.mike/eh2.C (test for excess errors)
-FAIL: g++.mike/eh47.C (test for excess errors)
-FAIL: g++.mike/memoize1.C (test for excess errors)
-FAIL: g++.mike/net34.C (test for excess errors)
-FAIL: g++.mike/net46.C (test for excess errors)
-FAIL: g++.mike/p658.C (test for excess errors)
-FAIL: g++.mike/rtti1.C (test for excess errors)
-FAIL: g++.ns/koenig9.C (test for excess errors)
-FAIL: g++.ns/new1.C (test for excess errors)
-FAIL: g++.ns/using4.C (test for excess errors)
-FAIL: g++.ns/using6.C (test for excess errors)
-FAIL: g++.oliva/thunk1.C (test for excess errors)
-FAIL: g++.other/defarg6.C (test for excess errors)
-FAIL: g++.other/headers1.C (test for excess errors)
 XPASS: g++.other/init5.C  Execution test
-FAIL: g++.other/init9.C (test for excess errors)
-FAIL: g++.other/inline14.C (test for excess errors)
-FAIL: g++.other/inline7.C (test for excess errors)
-FAIL: g++.other/inline8.C (test for excess errors)
-FAIL: g++.other/null2.C (test for excess errors)
-FAIL: g++.other/optimize2.C (test for excess errors)
-FAIL: g++.other/sibcall1.C (test for excess errors)
-FAIL: g++.other/vector1.C (test for excess errors)
-FAIL: g++.pt/crash68.C (test for excess errors)
-FAIL: g++.pt/instantiate10.C (test for excess errors)
-FAIL: g++.pt/ttp19.C (test for excess errors)
-FAIL: g++.pt/ttp40.C (test for excess errors)
-FAIL: g++.robertl/eb109.C (test for excess errors)
-FAIL: g++.robertl/eb113.C (test for excess errors)
-FAIL: g++.robertl/eb115.C (test for excess errors)
-FAIL: g++.robertl/eb118.C (test for excess errors)
-FAIL: g++.robertl/eb124.C (test for excess errors)
-FAIL: g++.robertl/eb127.C (test for excess errors)
-FAIL: g++.robertl/eb129.C (test for excess errors)
-FAIL: g++.robertl/eb129a.C (test for excess errors)
-FAIL: g++.robertl/eb130.C (test for excess errors)
-FAIL: g++.robertl/eb132.C (test for excess errors)
-FAIL: g++.robertl/eb15.C (test for excess errors)
-FAIL: g++.robertl/eb21.C (test for excess errors)
-FAIL: g++.robertl/eb24.C (test for excess errors)
-FAIL: g++.robertl/eb27.C (test for excess errors)
-FAIL: g++.robertl/eb28.C (test for excess errors)
-FAIL: g++.robertl/eb29.C (test for excess errors)
-FAIL: g++.robertl/eb3.C (test for excess errors)
-FAIL: g++.robertl/eb30.C (test for excess errors)
-FAIL: g++.robertl/eb31.C (test for excess errors)
-FAIL: g++.robertl/eb33.C (test for excess errors)
-FAIL: g++.robertl/eb36.C (test for excess errors)
-FAIL: g++.robertl/eb39.C (test for excess errors)
-FAIL: g++.robertl/eb4.C (test for excess errors)
-FAIL: g++.robertl/eb41.C (test for excess errors)
-FAIL: g++.robertl/eb42.C (test for excess errors)
-FAIL: g++.robertl/eb43.C (test for excess errors)
-FAIL: g++.robertl/eb44.C (test for excess errors)
-FAIL: g++.robertl/eb46.C (test for excess errors)
-FAIL: g++.robertl/eb54.C (test for excess errors)
-FAIL: g++.robertl/eb55.C (test for excess errors)
-FAIL: g++.robertl/eb59.C (test for excess errors)
-FAIL: g++.robertl/eb60.C (test for excess errors)
-FAIL: g++.robertl/eb62.C (test for excess errors)
-FAIL: g++.robertl/eb65.C (test for excess errors)
-FAIL: g++.robertl/eb66.C (test for excess errors)
-FAIL: g++.robertl/eb7.C (test for excess errors)
-FAIL: g++.robertl/eb73.C (test for excess errors)
-FAIL: g++.robertl/eb77.C (test for excess errors)
-FAIL: g++.robertl/eb79.C (test for excess errors)
-FAIL: g++.robertl/eb91.C (test for excess errors)
-FAIL: g++.warn/iomanip.C (test for excess errors)
 
 		=== g++ Summary ===
 
-# of expected passes		6322
-# of unexpected failures	123
+# of expected passes		6495
+# of unexpected failures	2
 # of unexpected successes	1
-# of expected failures		151
+# of expected failures		102
 # of untested testcases		20
-/home/doko/gcc-3.0-3.0.2ds0/build/gcc/testsuite/../g++ version 3.0.2 20010825 (Debian prerelease)

+/home/doko/gcc-3.0-3.0.2ds1/build/gcc/testsuite/../g++ version 3.0.2 20010908 (Debian prerelease)

 
 		=== g77 tests ===
 
@@ -166,11 +45,11 @@
 
 		=== gcc Summary ===
 
-# of expected passes		15181
+# of expected passes		15213
 # of unexpected failures	10
 # of expected failures		75
 # of unsupported tests		46
-/home/doko/gcc-3.0-3.0.2ds0/build/gcc/xgcc version 3.0.2 20010825 (Debian prerelease)

+/home/doko/gcc-3.0-3.0.2ds1/build/gcc/xgcc version 3.0.2 20010908 (Debian prerelease)

 
 		=== objc tests ===
 
@@ -181,7 +60,7 @@
 
 # of expected passes		153
 # of expected failures		1
-/home/doko/gcc-3.0-3.0.2ds0/build/gcc/xgcc version 3.0.2 20010825 (Debian prerelease)

+/home/doko/gcc-3.0-3.0.2ds1/build/gcc/xgcc version 3.0.2 20010908 (Debian prerelease)

 
 		=== libjava tests ===
 
@@ -221,129 +100,22 @@
 
 
 Running target unix
-FAIL: 17_intro/header_cstdio.cc (test for excess errors)
-FAIL: 17_intro/header_cstdlib.cc (test for excess errors)
-FAIL: 17_intro/header_cwchar.cc (test for excess errors)
-FAIL: 17_intro/header_fstream.cc (test for excess errors)
-FAIL: 17_intro/header_iomanip.cc (test for excess errors)
-FAIL: 17_intro/header_ios.cc (test for excess errors)
-FAIL: 17_intro/header_iosfwd.cc (test for excess errors)
-FAIL: 17_intro/header_iostream.cc (test for excess errors)
-FAIL: 17_intro/header_istream.cc (test for excess errors)
-FAIL: 17_intro/header_ostream.cc (test for excess errors)
-FAIL: 17_intro/header_sstream.cc (test for excess errors)
-FAIL: 17_intro/header_streambuf.cc (test for excess errors)
-FAIL: 17_intro/headers.cc (test for excess errors)
-FAIL: 17_intro/headers_c++.cc (test for excess errors)
-FAIL: 17_intro/headers_c.cc (test for excess errors)
-FAIL: 19_diagnostics/stdexceptions.cc (test for excess errors)
-FAIL: 20_util/auto_ptr.cc (test for excess errors)
-FAIL: 20_util/binders.cc (test for excess errors)
-FAIL: 21_strings/append.cc (test for excess errors)
-FAIL: 21_strings/c_strings.cc (test for excess errors)
-FAIL: 21_strings/capacity.cc (test for excess errors)
-FAIL: 21_strings/char_traits_requirements.cc (test for excess errors)
-FAIL: 21_strings/char_traits_typedefs.cc (test for excess errors)
-FAIL: 21_strings/compare.cc (test for excess errors)
-FAIL: 21_strings/ctor_copy_dtor.cc (test for excess errors)
-FAIL: 21_strings/element_access.cc (test for excess errors)
-FAIL: 21_strings/find.cc (test for excess errors)
-FAIL: 21_strings/insert.cc (test for excess errors)
-FAIL: 21_strings/inserters_extractors.cc (test for excess errors)
-FAIL: 21_strings/invariants.cc (test for excess errors)
-FAIL: 21_strings/nonmember.cc (test for excess errors)
-FAIL: 21_strings/operations.cc (test for excess errors)
-FAIL: 21_strings/replace.cc (test for excess errors)
-FAIL: 21_strings/rfind.cc (test for excess errors)
-FAIL: 21_strings/substr.cc (test for excess errors)
-FAIL: 22_locale/codecvt_char_char.cc (test for excess errors)
-FAIL: 22_locale/codecvt_unicode_char.cc (test for excess errors)
-FAIL: 22_locale/codecvt_unicode_wchar_t.cc (test for excess errors)
-FAIL: 22_locale/codecvt_wchar_t_char.cc (test for excess errors)
-FAIL: 22_locale/ctor_copy_dtor.cc (test for excess errors)
-FAIL: 22_locale/ctype.cc (test for excess errors)
-FAIL: 22_locale/ctype_char_members.cc (test for excess errors)
-FAIL: 22_locale/ctype_wchar_t_members.cc (test for excess errors)
-FAIL: 22_locale/facet.cc (test for excess errors)
-FAIL: 22_locale/global_templates.cc (test for excess errors)
-FAIL: 22_locale/members.cc (test for excess errors)
-FAIL: 22_locale/numpunct.cc (test for excess errors)
-FAIL: 22_locale/numpunct_byname.cc (test for excess errors)
-FAIL: 22_locale/numpunct_char_members.cc (test for excess errors)
-FAIL: 22_locale/operators.cc (test for excess errors)
-FAIL: 22_locale/static_members.cc (test for excess errors)
-FAIL: 23_containers/bitset_ctor.cc (test for excess errors)
-FAIL: 23_containers/bitset_members.cc (test for excess errors)
-FAIL: 23_containers/bitset_shift.cc (test for excess errors)
-FAIL: 23_containers/map_insert.cc (test for excess errors)
-FAIL: 23_containers/multiset.cc (test for excess errors)
-FAIL: 23_containers/vector_capacity.cc (test for excess errors)
-FAIL: 23_containers/vector_ctor.cc (test for excess errors)
-FAIL: 23_containers/vector_element_access.cc (test for excess errors)
-FAIL: 23_containers/vector_modifiers.cc (test for excess errors)
-FAIL: 24_iterators/istreambuf_iterator.cc (test for excess errors)
-FAIL: 24_iterators/iterator.cc (test for excess errors)
-FAIL: 24_iterators/ostreambuf_iterator.cc (test for excess errors)
-FAIL: 25_algorithms/equal.cc (test for excess errors)
-FAIL: 25_algorithms/lower_bound.cc (test for excess errors)
-FAIL: 25_algorithms/min_max.cc (test for excess errors)
-FAIL: 26_numerics/binary_closure.cc (test for excess errors)
-FAIL: 26_numerics/buggy_complex.cc (test for excess errors)
-XPASS: 26_numerics/c99_classification_macros_c.cc (test for excess errors)
-FAIL: 26_numerics/complex_inserters_extractors.cc (test for excess errors)
-FAIL: 26_numerics/complex_value.cc (test for excess errors)
-FAIL: 26_numerics/fabs_inline.cc (test for excess errors)
-FAIL: 26_numerics/valarray.cc (test for excess errors)
-FAIL: 26_numerics/valarray_const_bracket.cc (test for excess errors)
-FAIL: 27_io/filebuf.cc (test for excess errors)
-FAIL: 27_io/filebuf_members.cc (test for excess errors)
-FAIL: 27_io/filebuf_virtuals.cc (test for excess errors)
-FAIL: 27_io/fpos.cc (test for excess errors)
-FAIL: 27_io/fstream_members.cc (test for excess errors)
-FAIL: 27_io/ifstream_members.cc (test for excess errors)
-FAIL: 27_io/ios_base_callbacks.cc (test for excess errors)
-FAIL: 27_io/ios_base_members_static.cc (test for excess errors)
-FAIL: 27_io/ios_base_storage.cc (test for excess errors)
-FAIL: 27_io/ios_ctor.cc (test for excess errors)
-FAIL: 27_io/ios_init.cc (test for excess errors)
-FAIL: 27_io/ios_manip_basefield.cc (test for excess errors)
-FAIL: 27_io/ios_manip_fmtflags.cc (test for excess errors)
-FAIL: 27_io/ios_members.cc (test for excess errors)
-FAIL: 27_io/istream.cc (test for excess errors)
-FAIL: 27_io/istream_extractor_arith.cc (test for excess errors)
-FAIL: 27_io/istream_extractor_char.cc (test for excess errors)
-FAIL: 27_io/istream_extractor_other.cc (test for excess errors)
-FAIL: 27_io/istream_manip.cc (test for excess errors)
-FAIL: 27_io/istream_seeks.cc (test for excess errors)
-FAIL: 27_io/istream_sentry.cc (test for excess errors)
-FAIL: 27_io/istream_unformatted.cc (test for excess errors)
-FAIL: 27_io/istringstream_members.cc (test for excess errors)
-FAIL: 27_io/narrow_stream_objects.cc (test for excess errors)
-FAIL: 27_io/ofstream_members.cc (test for excess errors)
-FAIL: 27_io/ostream.cc (test for excess errors)
-FAIL: 27_io/ostream_inserter_arith.cc (test for excess errors)
-FAIL: 27_io/ostream_inserter_char.cc (test for excess errors)
-FAIL: 27_io/ostream_inserter_other.cc (test for excess errors)
-FAIL: 27_io/ostream_manip.cc (test for excess errors)
-FAIL: 27_io/ostream_seeks.cc (test for excess errors)
-FAIL: 27_io/ostream_unformatted.cc (test for excess errors)
-FAIL: 27_io/ostringstream_members.cc (test for excess errors)
-FAIL: 27_io/streambuf.cc (test for excess errors)
-FAIL: 27_io/stringbuf.cc (test for excess errors)
-FAIL: 27_io/stringbuf_virtuals.cc (test for excess errors)
-FAIL: 27_io/stringstream.cc (test for excess errors)
-FAIL: 27_io/stringstream_members.cc (test for excess errors)
-FAIL: 27_io/wide_stream_objects.cc (test for excess errors)
-FAIL: ext/headers.cc (test for excess errors)
+FAIL: 21_strings/append.cc execution test
+FAIL: 21_strings/ctor_copy_dtor.cc execution test
+FAIL: 21_strings/element_access.cc execution test
+FAIL: 21_strings/insert.cc execution test
+FAIL: 21_strings/substr.cc execution test
+FAIL: 22_locale/codecvt_unicode_char.cc execution test
+FAIL: 22_locale/codecvt_unicode_wchar_t.cc execution test
+FAIL: 23_containers/vector_element_access.cc execution test
 
 		=== libstdc++-v3 Summary ===
 
-# of expected passes		22
-# of unexpected failures	113
-# of unexpected successes	1
-# of expected failures		7
+# of expected passes		239
+# of unexpected failures	8
+# of expected failures		8
 
-Compiler version: 3.0.2 20010825 (Debian prerelease) 
+Compiler version: 3.0.2 20010908 (Debian prerelease) 
 Platform: sparc-unknown-linux-gnu
 configure flags: --host=sparc-linux -v --enable-languages=c,c++,java,f77,proto,objc --prefix=/usr --infodir=/share/info --mandir=/share/man --enable-shared --with-gnu-as --with-gnu-ld --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --enable-threads=posix --enable-java-gc=boehm --with-cpp-install-dir=bin --enable-objc-gc
 BOOT_CFLAGS=-O2 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]