mirror of
https://github.com/clearlinux/graphene.git
synced 2026-09-05 21:31:36 +00:00
204 lines
6.6 KiB
Diff
204 lines
6.6 KiB
Diff
diff --git a/configure b/configure
|
|
index fc023d0..b71c1f9 100755
|
|
--- a/configure
|
|
+++ b/configure
|
|
@@ -630,7 +630,8 @@ SED
|
|
MAKEINFO
|
|
MSGFMT
|
|
MAKE
|
|
-LD
|
|
+LD_GOLD
|
|
+LD_BFD
|
|
AS
|
|
OBJCOPY
|
|
OBJDUMP
|
|
@@ -4593,17 +4594,22 @@ if test $ac_verc_fail = yes; then
|
|
AS=: critic_missing="$critic_missing as"
|
|
fi
|
|
|
|
-for ac_prog in $LD
|
|
+LD_BFD=
|
|
+LD_GOLD=
|
|
+ld_is_gold="`$LD --version | sed -n 's/^GNU \(gold\).*$/\1/p'`"
|
|
+if test -z "$ld_is_gold"; then
|
|
+ LD_BFD=$LD
|
|
+ for ac_prog in $LD_BFD
|
|
do
|
|
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
|
set dummy $ac_prog; ac_word=$2
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
|
$as_echo_n "checking for $ac_word... " >&6; }
|
|
-if ${ac_cv_prog_LD+:} false; then :
|
|
+if ${ac_cv_prog_LD_BFD+:} false; then :
|
|
$as_echo_n "(cached) " >&6
|
|
else
|
|
- if test -n "$LD"; then
|
|
- ac_cv_prog_LD="$LD" # Let the user override the test.
|
|
+ if test -n "$LD_BFD"; then
|
|
+ ac_cv_prog_LD_BFD="$LD_BFD" # Let the user override the test.
|
|
else
|
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
|
for as_dir in $PATH
|
|
@@ -4612,7 +4618,7 @@ do
|
|
test -z "$as_dir" && as_dir=.
|
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
|
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
|
- ac_cv_prog_LD="$ac_prog"
|
|
+ ac_cv_prog_LD_BFD="$ac_prog"
|
|
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
|
break 2
|
|
fi
|
|
@@ -4622,26 +4628,26 @@ IFS=$as_save_IFS
|
|
|
|
fi
|
|
fi
|
|
-LD=$ac_cv_prog_LD
|
|
-if test -n "$LD"; then
|
|
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
|
|
-$as_echo "$LD" >&6; }
|
|
+LD_BFD=$ac_cv_prog_LD_BFD
|
|
+if test -n "$LD_BFD"; then
|
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD_BFD" >&5
|
|
+$as_echo "$LD_BFD" >&6; }
|
|
else
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
|
$as_echo "no" >&6; }
|
|
fi
|
|
|
|
|
|
- test -n "$LD" && break
|
|
+ test -n "$LD_BFD" && break
|
|
done
|
|
|
|
-if test -z "$LD"; then
|
|
+if test -z "$LD_BFD"; then
|
|
ac_verc_fail=yes
|
|
else
|
|
# Found it, now check the version.
|
|
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $LD" >&5
|
|
-$as_echo_n "checking version of $LD... " >&6; }
|
|
- ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'`
|
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $LD_BFD" >&5
|
|
+$as_echo_n "checking version of $LD_BFD... " >&6; }
|
|
+ ac_prog_version=`$LD_BFD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'`
|
|
case $ac_prog_version in
|
|
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
|
2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*)
|
|
@@ -4653,9 +4659,80 @@ $as_echo_n "checking version of $LD... " >&6; }
|
|
$as_echo "$ac_prog_version" >&6; }
|
|
fi
|
|
if test $ac_verc_fail = yes; then
|
|
- LD=: critic_missing="$critic_missing ld"
|
|
+ LD_BFD=:
|
|
fi
|
|
|
|
+else
|
|
+# Accept gold 1.11 or higher.
|
|
+ LD_GOLD=$LD
|
|
+ for ac_prog in $LD_GOLD
|
|
+do
|
|
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
|
|
+set dummy $ac_prog; ac_word=$2
|
|
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
|
+$as_echo_n "checking for $ac_word... " >&6; }
|
|
+if ${ac_cv_prog_LD_GOLD+:} false; then :
|
|
+ $as_echo_n "(cached) " >&6
|
|
+else
|
|
+ if test -n "$LD_GOLD"; then
|
|
+ ac_cv_prog_LD_GOLD="$LD_GOLD" # Let the user override the test.
|
|
+else
|
|
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
|
+for as_dir in $PATH
|
|
+do
|
|
+ IFS=$as_save_IFS
|
|
+ test -z "$as_dir" && as_dir=.
|
|
+ for ac_exec_ext in '' $ac_executable_extensions; do
|
|
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
|
+ ac_cv_prog_LD_GOLD="$ac_prog"
|
|
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
|
+ break 2
|
|
+ fi
|
|
+done
|
|
+ done
|
|
+IFS=$as_save_IFS
|
|
+
|
|
+fi
|
|
+fi
|
|
+LD_GOLD=$ac_cv_prog_LD_GOLD
|
|
+if test -n "$LD_GOLD"; then
|
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD_GOLD" >&5
|
|
+$as_echo "$LD_GOLD" >&6; }
|
|
+else
|
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
|
+$as_echo "no" >&6; }
|
|
+fi
|
|
+
|
|
+
|
|
+ test -n "$LD_GOLD" && break
|
|
+done
|
|
+
|
|
+if test -z "$LD_GOLD"; then
|
|
+ ac_verc_fail=yes
|
|
+else
|
|
+ # Found it, now check the version.
|
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $LD_GOLD" >&5
|
|
+$as_echo_n "checking version of $LD_GOLD... " >&6; }
|
|
+ ac_prog_version=`$LD_GOLD --version 2>&1 | sed -n 's/^.*GNU gold.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'`
|
|
+ case $ac_prog_version in
|
|
+ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
|
+ 1.1[1-9]*|1.[2-9][0-9]*|1.1[0-9][0-9]*|[2-9].*|[1-9][0-9]*)
|
|
+ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
|
|
+ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
|
|
+
|
|
+ esac
|
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_prog_version" >&5
|
|
+$as_echo "$ac_prog_version" >&6; }
|
|
+fi
|
|
+if test $ac_verc_fail = yes; then
|
|
+ LD_GOLD=:
|
|
+fi
|
|
+
|
|
+fi
|
|
+# Neither ld nor gold are new enough.
|
|
+if test -z "$LD_BFD" && test -z "$LD_GOLD"; then
|
|
+ critic_missing="$critic_missing ld"
|
|
+fi
|
|
|
|
# These programs are version sensitive.
|
|
|
|
@@ -6391,6 +6468,16 @@ $as_echo "$libc_cv_use_default_link" >&6; }
|
|
use_default_link=$libc_cv_use_default_link
|
|
fi
|
|
|
|
+# The gold linker has no builtin default linker script,
|
|
+# and the fallback of editing the builtin linker
|
|
+# script is not available. Therefore if use_default_link
|
|
+# is `no' then we can't use gold. This check is independent
|
|
+# of gold's version and is used to sanity check that the
|
|
+# linker continues to produce a useful shared link.
|
|
+if test "$ld_is_gold" && test "$use_default_link" = "no"; then
|
|
+ as_fn_error $? "$LD did not generate a useful shared link. Try using GNU ld.bfd?" "$LINENO" 5
|
|
+fi
|
|
+
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking linker output format" >&5
|
|
$as_echo_n "checking linker output format... " >&6; }
|
|
if ${libc_cv_output_format+:} false; then :
|
|
@@ -6409,6 +6496,17 @@ fi
|
|
$as_echo "$libc_cv_output_format" >&6; }
|
|
|
|
|
|
+# The gold linker has no builtin default linker script,
|
|
+# and the fallback of parsing the builtin linker
|
|
+# script to determine the target is not available.
|
|
+# Therefore if libc_cv_output_format is `unknown' then
|
|
+# we can't use gold. This check is independent of gold's
|
|
+# version and is used to sanity check that the linker
|
|
+# continues to support --print-output-format.
|
|
+if test "$ld_is_gold" && test "$libc_cv_output_format" = "unknown"; then
|
|
+ as_fn_error $? "$LD did not support --print-output-format. Try using GNU ld.bfd?" "$LINENO" 5
|
|
+fi
|
|
+
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fno-toplevel-reorder -fno-section-anchors" >&5
|
|
$as_echo_n "checking for -fno-toplevel-reorder -fno-section-anchors... " >&6; }
|
|
if ${libc_cv_fno_toplevel_reorder+:} false; then :
|