Commit c969e34e by Rainer Orth Committed by Rainer Orth

Link with correct values-*.o files on Solaris (PR target/40411)

	gcc/testsuite:
	PR libfortran/67412
	* gfortran.dg/execute_command_line_2.f90: Remove dg-xfail-run-if
	on *-*-solaris2.10.

	libstdc++-v3:
	PR libstdc++/64054
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
	Remove dg-xfail-run-if.

	gcc:
	PR target/40411
	* config/sol2.h (STARTFILE_ARCH_SPEC): Don't use with -shared or
	-symbolic.
	Use values-Xc.o for -pedantic.
	Link with values-xpg4.o for C90, values-xpg6.o otherwise.

From-SVN: r256568
parent a7448bdf
2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR target/40411
* config/sol2.h (STARTFILE_ARCH_SPEC): Don't use with -shared or
-symbolic.
Use values-Xc.o for -pedantic.
Link with values-xpg4.o for C90, values-xpg6.o otherwise.
2018-01-12 Martin Liska <mliska@suse.cz> 2018-01-12 Martin Liska <mliska@suse.cz>
PR ipa/83054 PR ipa/83054
......
...@@ -169,9 +169,34 @@ along with GCC; see the file COPYING3. If not see ...@@ -169,9 +169,34 @@ along with GCC; see the file COPYING3. If not see
#undef SUPPORTS_INIT_PRIORITY #undef SUPPORTS_INIT_PRIORITY
#define SUPPORTS_INIT_PRIORITY HAVE_INITFINI_ARRAY_SUPPORT #define SUPPORTS_INIT_PRIORITY HAVE_INITFINI_ARRAY_SUPPORT
/* Solaris libc and libm implement multiple behaviours for various
interfaces that have changed over the years in different versions of the
C standard. The behaviour is controlled by linking corresponding
values-*.o objects. Each of these objects contain alternate definitions
of one or more variables that the libraries use to select which
conflicting behaviour they should exhibit. There are two sets of these
objects, values-X*.o and values-xpg*.o.
The values-X[ac].o objects set the variable _lib_version. The Studio C
compilers use values-Xc.o with either -Xc or (since Studio 12.6)
-pedantic to select strictly conformant ISO C behaviour, otherwise
values-Xa.o.
The values-xpg[46].o objects define either or both __xpg[46] variables,
selecting XPG4 mode (__xpg4) and conforming C99/SUSv3 behavior (__xpg6).
Since GCC 5, gcc defaults to -std=gnu11 or higher, so we link
values-xpg6.o to get C99 semantics. Besides, most of the runtime
libraries always require C99 semantics.
Since only one instance of _lib_version and __xpg[46] takes effekt (the
first in ld.so.1's search path), we only link the values-*.o files into
executable programs. */
#undef STARTFILE_ARCH_SPEC #undef STARTFILE_ARCH_SPEC
#define STARTFILE_ARCH_SPEC "%{ansi:values-Xc.o%s} \ #define STARTFILE_ARCH_SPEC \
%{!ansi:values-Xa.o%s}" "%{!shared:%{!symbolic: \
%{pedantic:values-Xc.o%s; :values-Xa.o%s} \
%{std=c90|std=gnu90:values-xpg4.o%s; :values-xpg6.o%s}}}"
#if defined(HAVE_LD_PIE) && defined(HAVE_SOLARIS_CRTS) #if defined(HAVE_LD_PIE) && defined(HAVE_SOLARIS_CRTS)
#define STARTFILE_CRTBEGIN_SPEC "%{static:crtbegin.o%s; \ #define STARTFILE_CRTBEGIN_SPEC "%{static:crtbegin.o%s; \
......
2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR libfortran/67412
* gfortran.dg/execute_command_line_2.f90: Remove dg-xfail-run-if
on *-*-solaris2.10.
2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* lib/target-supports.exp (check_effective_target_branch_cost): * lib/target-supports.exp (check_effective_target_branch_cost):
Accept all x86 targets. Accept all x86 targets.
......
! { dg-do run } ! { dg-do run }
! { dg-xfail-run-if "PR libfortran/67412" { *-*-solaris2.10 } }
! !
! Check that EXECUTE_COMMAND_LINE handles invalid command lines appropriately ! Check that EXECUTE_COMMAND_LINE handles invalid command lines appropriately
! !
......
2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR libstdc++/64054
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
Remove dg-xfail-run-if.
2018-01-10 François Dumont <fdumont@gcc.gnu.org> 2018-01-10 François Dumont <fdumont@gcc.gnu.org>
* include/bits/forward_list.h * include/bits/forward_list.h
......
// { dg-do run { target c++11 } } // { dg-do run { target c++11 } }
// { dg-require-string-conversions "" } // { dg-require-string-conversions "" }
// { dg-xfail-run-if "PR libstdc++/64054" { *-*-solaris* } }
// { dg-xfail-run-if "broken long double IO" { newlib_broken_long_double_io } } // { dg-xfail-run-if "broken long double IO" { newlib_broken_long_double_io } }
// 2014-03-27 Rüdiger Sonderfeld // 2014-03-27 Rüdiger Sonderfeld
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment