Commit c6092243 by Rainer Orth Committed by Rainer Orth

configure.ac (gcc_cv_ld_static_option): Define.

	gcc:
	* configure.ac (gcc_cv_ld_static_option): Define.
	(gcc_cv_ld_dynamic_option): Define.
	(gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
	instead.
	(HAVE_LD_STATIC_DYNAMIC): Update message.
	(LD_STATIC_OPTION): Define.
	(LD_DYNAMIC_OPTION): Define.
	* configure: Regenerate.
	* config.in: Regenerate.
	* gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
	HAVE_LD_STATIC_DYNAMIC]: Use them.

	gcc/cp:
	* g++spec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
	LD_STATIC_OPTION, LD_DYNAMIC_OPTION.

	gcc/fortran:
	* gfortranspec.c (add_arg_libgfortran) [HAVE_LD_STATIC_DYNAMIC] Use
	LD_STATIC_OPTION, LD_DYNAMIC_OPTION.

	gcc/go:
	* gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
	LD_STATIC_OPTION, LD_DYNAMIC_OPTION.

From-SVN: r169435
parent d7862be3
2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac (gcc_cv_ld_static_option): Define.
(gcc_cv_ld_dynamic_option): Define.
(gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
instead.
(HAVE_LD_STATIC_DYNAMIC): Update message.
(LD_STATIC_OPTION): Define.
(LD_DYNAMIC_OPTION): Define.
* configure: Regenerate.
* config.in: Regenerate.
* gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
HAVE_LD_STATIC_DYNAMIC]: Use them.
2011-01-31 Nick Clifton <nickc@redhat.com> 2011-01-31 Nick Clifton <nickc@redhat.com>
* config/rx/rx.c (rx_get_stack_layout): Only save call clobbered * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
......
...@@ -1142,10 +1142,6 @@ ...@@ -1142,10 +1142,6 @@
#undef HAVE_LDFCN_H #undef HAVE_LDFCN_H
#endif #endif
/* Define if your linker supports plugin. */
#ifndef USED_FOR_TARGET
#undef HAVE_LTO_PLUGIN
#endif
/* Define if your linker supports --as-needed and --no-as-needed options. */ /* Define if your linker supports --as-needed and --no-as-needed options. */
#ifndef USED_FOR_TARGET #ifndef USED_FOR_TARGET
...@@ -1213,7 +1209,7 @@ ...@@ -1213,7 +1209,7 @@
#endif #endif
/* Define if your linker supports -Bstatic/-Bdynamic option. */ /* Define if your linker supports -Bstatic/-Bdynamic or equivalent options. */
#ifndef USED_FOR_TARGET #ifndef USED_FOR_TARGET
#undef HAVE_LD_STATIC_DYNAMIC #undef HAVE_LD_STATIC_DYNAMIC
#endif #endif
...@@ -1249,6 +1245,12 @@ ...@@ -1249,6 +1245,12 @@
#endif #endif
/* Define if your linker supports plugin. */
#ifndef USED_FOR_TARGET
#undef HAVE_LTO_PLUGIN
#endif
/* Define to 1 if you have the <malloc.h> header file. */ /* Define to 1 if you have the <malloc.h> header file. */
#ifndef USED_FOR_TARGET #ifndef USED_FOR_TARGET
#undef HAVE_MALLOC_H #undef HAVE_MALLOC_H
...@@ -1544,6 +1546,18 @@ ...@@ -1544,6 +1546,18 @@
#endif #endif
/* Define to the linker option to enable use of shared objects. */
#ifndef USED_FOR_TARGET
#undef LD_DYNAMIC_OPTION
#endif
/* Define to the linker option to disable use of shared objects. */
#ifndef USED_FOR_TARGET
#undef LD_STATIC_OPTION
#endif
/* Define to the linker flags to use for -pthread. */ /* Define to the linker flags to use for -pthread. */
#ifndef USED_FOR_TARGET #ifndef USED_FOR_TARGET
#undef LIB_THREAD_LDFLAGS_SPEC #undef LIB_THREAD_LDFLAGS_SPEC
......
...@@ -23051,6 +23051,8 @@ fi ...@@ -23051,6 +23051,8 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking linker -Bstatic/-Bdynamic option" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker -Bstatic/-Bdynamic option" >&5
$as_echo_n "checking linker -Bstatic/-Bdynamic option... " >&6; } $as_echo_n "checking linker -Bstatic/-Bdynamic option... " >&6; }
gcc_cv_ld_static_dynamic=no gcc_cv_ld_static_dynamic=no
gcc_cv_ld_static_option='-Bstatic'
gcc_cv_ld_dynamic_option='-Bdynamic'
if test $in_tree_ld = yes ; then if test $in_tree_ld = yes ; then
if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 10 -o "$gcc_cv_gld_major_version" -gt 2; then if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 10 -o "$gcc_cv_gld_major_version" -gt 2; then
gcc_cv_ld_static_dynamic=yes gcc_cv_ld_static_dynamic=yes
...@@ -23062,6 +23064,12 @@ elif test x$gcc_cv_ld != x; then ...@@ -23062,6 +23064,12 @@ elif test x$gcc_cv_ld != x; then
gcc_cv_ld_static_dynamic=yes gcc_cv_ld_static_dynamic=yes
else else
case "$target" in case "$target" in
# Tru64 UNIX support -noso/-so_archive instead of -Bstatic/-Bdynamic.
alpha*-dec-osf*)
gcc_cv_ld_static_dynamic=yes
gcc_cv_ld_static_option="-noso"
gcc_cv_ld_dynamic_option="-so_archive"
;;
# IRIX 6 ld supports -Bstatic/-Bdynamic. # IRIX 6 ld supports -Bstatic/-Bdynamic.
mips-sgi-irix6*) mips-sgi-irix6*)
gcc_cv_ld_static_dynamic=yes gcc_cv_ld_static_dynamic=yes
...@@ -23077,6 +23085,16 @@ if test x"$gcc_cv_ld_static_dynamic" = xyes; then ...@@ -23077,6 +23085,16 @@ if test x"$gcc_cv_ld_static_dynamic" = xyes; then
$as_echo "#define HAVE_LD_STATIC_DYNAMIC 1" >>confdefs.h $as_echo "#define HAVE_LD_STATIC_DYNAMIC 1" >>confdefs.h
cat >>confdefs.h <<_ACEOF
#define LD_STATIC_OPTION "$gcc_cv_ld_static_option"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define LD_DYNAMIC_OPTION "$gcc_cv_ld_dynamic_option"
_ACEOF
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_ld_static_dynamic" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_ld_static_dynamic" >&5
$as_echo "$gcc_cv_ld_static_dynamic" >&6; } $as_echo "$gcc_cv_ld_static_dynamic" >&6; }
......
...@@ -3112,6 +3112,8 @@ fi ...@@ -3112,6 +3112,8 @@ fi
AC_MSG_CHECKING(linker -Bstatic/-Bdynamic option) AC_MSG_CHECKING(linker -Bstatic/-Bdynamic option)
gcc_cv_ld_static_dynamic=no gcc_cv_ld_static_dynamic=no
gcc_cv_ld_static_option='-Bstatic'
gcc_cv_ld_dynamic_option='-Bdynamic'
if test $in_tree_ld = yes ; then if test $in_tree_ld = yes ; then
if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 10 -o "$gcc_cv_gld_major_version" -gt 2; then if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 10 -o "$gcc_cv_gld_major_version" -gt 2; then
gcc_cv_ld_static_dynamic=yes gcc_cv_ld_static_dynamic=yes
...@@ -3123,6 +3125,12 @@ elif test x$gcc_cv_ld != x; then ...@@ -3123,6 +3125,12 @@ elif test x$gcc_cv_ld != x; then
gcc_cv_ld_static_dynamic=yes gcc_cv_ld_static_dynamic=yes
else else
case "$target" in case "$target" in
# Tru64 UNIX support -noso/-so_archive instead of -Bstatic/-Bdynamic.
alpha*-dec-osf*)
gcc_cv_ld_static_dynamic=yes
gcc_cv_ld_static_option="-noso"
gcc_cv_ld_dynamic_option="-so_archive"
;;
# IRIX 6 ld supports -Bstatic/-Bdynamic. # IRIX 6 ld supports -Bstatic/-Bdynamic.
mips-sgi-irix6*) mips-sgi-irix6*)
gcc_cv_ld_static_dynamic=yes gcc_cv_ld_static_dynamic=yes
...@@ -3136,7 +3144,11 @@ elif test x$gcc_cv_ld != x; then ...@@ -3136,7 +3144,11 @@ elif test x$gcc_cv_ld != x; then
fi fi
if test x"$gcc_cv_ld_static_dynamic" = xyes; then if test x"$gcc_cv_ld_static_dynamic" = xyes; then
AC_DEFINE(HAVE_LD_STATIC_DYNAMIC, 1, AC_DEFINE(HAVE_LD_STATIC_DYNAMIC, 1,
[Define if your linker supports -Bstatic/-Bdynamic option.]) [Define if your linker supports -Bstatic/-Bdynamic or equivalent options.])
AC_DEFINE_UNQUOTED(LD_STATIC_OPTION, "$gcc_cv_ld_static_option",
[Define to the linker option to disable use of shared objects.])
AC_DEFINE_UNQUOTED(LD_DYNAMIC_OPTION, "$gcc_cv_ld_dynamic_option",
[Define to the linker option to enable use of shared objects.])
fi fi
AC_MSG_RESULT($gcc_cv_ld_static_dynamic) AC_MSG_RESULT($gcc_cv_ld_static_dynamic)
......
2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* g++spec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
2011-01-29 Dodji Seketeli <dodji@redhat.com> 2011-01-29 Dodji Seketeli <dodji@redhat.com>
PR c++/47311 PR c++/47311
......
/* Specific flags and argument handling of the C++ front end. /* Specific flags and argument handling of the C++ front end.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
2007, 2008, 2009, 2010 Free Software Foundation, Inc. 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
This file is part of GCC. This file is part of GCC.
...@@ -316,7 +316,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options, ...@@ -316,7 +316,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
#ifdef HAVE_LD_STATIC_DYNAMIC #ifdef HAVE_LD_STATIC_DYNAMIC
if (library > 1 && !static_link) if (library > 1 && !static_link)
{ {
generate_option (OPT_Wl_, "-Bstatic", 1, CL_DRIVER, generate_option (OPT_Wl_, LD_STATIC_OPTION, 1, CL_DRIVER,
&new_decoded_options[j]); &new_decoded_options[j]);
j++; j++;
} }
...@@ -337,7 +337,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options, ...@@ -337,7 +337,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
#ifdef HAVE_LD_STATIC_DYNAMIC #ifdef HAVE_LD_STATIC_DYNAMIC
if (library > 1 && !static_link) if (library > 1 && !static_link)
{ {
generate_option (OPT_Wl_, "-Bdynamic", 1, CL_DRIVER, generate_option (OPT_Wl_, LD_DYNAMIC_OPTION, 1, CL_DRIVER,
&new_decoded_options[j]); &new_decoded_options[j]);
j++; j++;
} }
......
2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* gfortranspec.c (add_arg_libgfortran) [HAVE_LD_STATIC_DYNAMIC] Use
LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
2011-01-31 Tobias Burnus <burnus@net-b.de> 2011-01-31 Tobias Burnus <burnus@net-b.de>
PR fortran/47042 PR fortran/47042
......
...@@ -192,12 +192,12 @@ add_arg_libgfortran (bool force_static ATTRIBUTE_UNUSED) ...@@ -192,12 +192,12 @@ add_arg_libgfortran (bool force_static ATTRIBUTE_UNUSED)
{ {
#ifdef HAVE_LD_STATIC_DYNAMIC #ifdef HAVE_LD_STATIC_DYNAMIC
if (force_static) if (force_static)
append_option (OPT_Wl_, "-Bstatic", 1); append_option (OPT_Wl_, LD_STATIC_OPTION, 1);
#endif #endif
append_option (OPT_l, FORTRAN_LIBRARY, 1); append_option (OPT_l, FORTRAN_LIBRARY, 1);
#ifdef HAVE_LD_STATIC_DYNAMIC #ifdef HAVE_LD_STATIC_DYNAMIC
if (force_static) if (force_static)
append_option (OPT_Wl_, "-Bdynamic", 1); append_option (OPT_Wl_, LD_DYNAMIC_OPTION, 1);
#endif #endif
} }
......
...@@ -1375,7 +1375,8 @@ init_spec (void) ...@@ -1375,7 +1375,8 @@ init_spec (void)
"-lgcc_eh" "-lgcc_eh"
#ifdef USE_LIBUNWIND_EXCEPTIONS #ifdef USE_LIBUNWIND_EXCEPTIONS
# ifdef HAVE_LD_STATIC_DYNAMIC # ifdef HAVE_LD_STATIC_DYNAMIC
" %{!static:-Bstatic} -lunwind %{!static:-Bdynamic}" " %{!static:" LD_STATIC_OPTION "} -lunwind"
" %{!static:" LD_DYNAMIC_OPTION "}"
# else # else
" -lunwind" " -lunwind"
# endif # endif
......
2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
2011-01-21 Ian Lance Taylor <iant@google.com> 2011-01-21 Ian Lance Taylor <iant@google.com>
* go-lang.c (go_langhook_init): Omit float_type_size when calling * go-lang.c (go_langhook_init): Omit float_type_size when calling
......
/* gospec.c -- Specific flags and argument handling of the gcc Go front end. /* gospec.c -- Specific flags and argument handling of the gcc Go front end.
Copyright (C) 2009, 2010 Free Software Foundation, Inc. Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
This file is part of GCC. This file is part of GCC.
...@@ -301,7 +301,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options, ...@@ -301,7 +301,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
#ifdef HAVE_LD_STATIC_DYNAMIC #ifdef HAVE_LD_STATIC_DYNAMIC
if (library > 1 && !static_link) if (library > 1 && !static_link)
{ {
generate_option (OPT_Wl_, "-Bstatic", 1, CL_DRIVER, generate_option (OPT_Wl_, LD_STATIC_OPTION, 1, CL_DRIVER,
&new_decoded_options[j]); &new_decoded_options[j]);
j++; j++;
} }
...@@ -315,7 +315,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options, ...@@ -315,7 +315,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
#ifdef HAVE_LD_STATIC_DYNAMIC #ifdef HAVE_LD_STATIC_DYNAMIC
if (library > 1 && !static_link) if (library > 1 && !static_link)
{ {
generate_option (OPT_Wl_, "-Bdynamic", 1, CL_DRIVER, generate_option (OPT_Wl_, LD_DYNAMIC_OPTION, 1, CL_DRIVER,
&new_decoded_options[j]); &new_decoded_options[j]);
j++; j++;
} }
......
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