summaryrefslogtreecommitdiff
path: root/gcc/configure
diff options
context:
space:
mode:
authorjanis <janis@138bc75d-0d04-0410-961f-82ee72b054a4>2007-02-20 23:11:43 +0000
committerjanis <janis@138bc75d-0d04-0410-961f-82ee72b054a4>2007-02-20 23:11:43 +0000
commit3230b74084d6b9e0e922608e321c74bc92511447 (patch)
treeefb29cd2b4a4e9481050182b5b8b3e7c9903b4ac /gcc/configure
parentf16feee25a739555a76f0cd97aca0b2f8f267aa3 (diff)
downloadgcc-3230b74084d6b9e0e922608e321c74bc92511447.tar.gz
* doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcmpb and -mdfp.
* configure.ac (HAVE_GAS_CMPB): Check for assembler support of the cmpb instruction. (HAVE_GAS_DFP): Check for assembler support of decimal floating point instructions. * configure: Regenerate. * config.in: Regenerate. * config/rs6000/rs6000.opt (mcmpb, mdfp): New. * config/rs6000/rs6000.c (rs6000_override_options): Add CMPB and DFP masks to power6 and power6x and to POWERPC_MASKS. * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define _ARCH_PWR6. * config/rs6000/rs6000.h: Check assembler support for CMPB and DFP. * config/rs6000/sysv4.opt (mprototype): Use variable, not mask. * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Access PROTOTYPE as variable, not mask. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122179 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/configure')
-rwxr-xr-xgcc/configure290
1 files changed, 184 insertions, 106 deletions
diff --git a/gcc/configure b/gcc/configure
index 77dfa405ddf..a2abfccbbc1 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -10559,9 +10559,19 @@ fi;
- lib_includedir=UNSET
- lib_libdir=UNSET
+ use_additional=yes
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
# Check whether --with-libiconv-prefix or --without-libiconv-prefix was given.
@@ -10569,8 +10579,7 @@ if test "${with_libiconv_prefix+set}" = set; then
withval="$with_libiconv_prefix"
if test "X$withval" = "Xno"; then
- lib_includedir="NONE"
- lib_libdir="NONE"
+ use_additional=no
else
if test "X$withval" = "X"; then
@@ -10579,36 +10588,19 @@ if test "${with_libiconv_prefix+set}" = set; then
acl_save_exec_prefix="$exec_prefix"
exec_prefix="$acl_final_exec_prefix"
- eval lib_includedir=\"$includedir\"
- eval lib_libdir=\"$libdir\"
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
exec_prefix="$acl_save_exec_prefix"
prefix="$acl_save_prefix"
else
- lib_includedir="$withval/include"
- lib_libdir="$withval/lib"
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/lib"
fi
fi
fi;
-
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
-
- test $lib_includedir = UNSET && eval lib_includedir=\"$includedir\"
- test $lib_libdir = UNSET && eval lib_libdir=\"$libdir\"
-
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
-
-
-
-
LIBICONV=
LTLIBICONV=
INCICONV=
@@ -10645,19 +10637,19 @@ fi;
found_la=
found_so=
found_a=
- if test "$lib_libdir" != NONE; then
- if test -n "$shlibext" && test -f "$lib_libdir/lib$name.$shlibext"; then
- found_dir="$lib_libdir"
- found_so="$lib_libdir/lib$name.$shlibext"
- if test -f "$lib_libdir/lib$name.la"; then
- found_la="$lib_libdir/lib$name.la"
+ if test $use_additional = yes; then
+ if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
+ found_dir="$additional_libdir"
+ found_so="$additional_libdir/lib$name.$shlibext"
+ if test -f "$additional_libdir/lib$name.la"; then
+ found_la="$additional_libdir/lib$name.la"
fi
else
- if test -f "$lib_libdir/lib$name.$libext"; then
- found_dir="$lib_libdir"
- found_a="$lib_libdir/lib$name.$libext"
- if test -f "$lib_libdir/lib$name.la"; then
- found_la="$lib_libdir/lib$name.la"
+ if test -f "$additional_libdir/lib$name.$libext"; then
+ found_dir="$additional_libdir"
+ found_a="$additional_libdir/lib$name.$libext"
+ if test -f "$additional_libdir/lib$name.la"; then
+ found_la="$additional_libdir/lib$name.la"
fi
fi
fi
@@ -10766,11 +10758,6 @@ fi;
fi
additional_includedir=
case "$found_dir" in
- "$lib_libdir")
- if test "$lib_includedir" != NONE; then
- additional_includedir="$lib_includedir"
- fi
- ;;
*/lib | */lib/)
basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
additional_includedir="$basedir/include"
@@ -10955,7 +10942,6 @@ fi;
-
am_save_CPPFLAGS="$CPPFLAGS"
for element in $INCICONV; do
@@ -15602,6 +15588,98 @@ LCF0:
addis 11,30,_GLOBAL_OFFSET_TABLE_-.LCF0@ha';;
esac
+ case $target in
+ *-*-aix*) conftest_s=' .machine "pwr6"
+ .csect .text[PR]
+ cmpb 3,4,5';;
+ *) conftest_s=' .machine power6
+ .text
+ cmpb 3,4,5';;
+ esac
+
+ echo "$as_me:$LINENO: checking assembler for compare bytes support" >&5
+echo $ECHO_N "checking assembler for compare bytes support... $ECHO_C" >&6
+if test "${gcc_cv_as_powerpc_cmpb+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ gcc_cv_as_powerpc_cmpb=no
+ if test $in_tree_gas = yes; then
+ if test $gcc_cv_gas_vers -ge `expr \( \( 9 \* 1000 \) + 99 \) \* 1000 + 0`
+ then gcc_cv_as_powerpc_cmpb=yes
+fi
+ elif test x$gcc_cv_as != x; then
+ echo "$conftest_s" > conftest.s
+ if { ac_try='$gcc_cv_as -a32 -o conftest.o conftest.s >&5'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }
+ then
+ gcc_cv_as_powerpc_cmpb=yes
+ else
+ echo "configure: failed program was" >&5
+ cat conftest.s >&5
+ fi
+ rm -f conftest.o conftest.s
+ fi
+fi
+echo "$as_me:$LINENO: result: $gcc_cv_as_powerpc_cmpb" >&5
+echo "${ECHO_T}$gcc_cv_as_powerpc_cmpb" >&6
+if test $gcc_cv_as_powerpc_cmpb = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_AS_CMPB 1
+_ACEOF
+
+fi
+
+ case $target in
+ *-*-aix*) conftest_s=' .machine "pwr6"
+ .csect .text[PR]
+ dadd 1,3';;
+ *) conftest_s=' .machine power6
+ .text
+ dadd 1,3';;
+ esac
+
+ echo "$as_me:$LINENO: checking assembler for decimal float support" >&5
+echo $ECHO_N "checking assembler for decimal float support... $ECHO_C" >&6
+if test "${gcc_cv_as_powerpc_dfp+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ gcc_cv_as_powerpc_dfp=no
+ if test $in_tree_gas = yes; then
+ if test $gcc_cv_gas_vers -ge `expr \( \( 9 \* 1000 \) + 99 \) \* 1000 + 0`
+ then gcc_cv_as_powerpc_dfp=yes
+fi
+ elif test x$gcc_cv_as != x; then
+ echo "$conftest_s" > conftest.s
+ if { ac_try='$gcc_cv_as -a32 -o conftest.o conftest.s >&5'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }
+ then
+ gcc_cv_as_powerpc_dfp=yes
+ else
+ echo "configure: failed program was" >&5
+ cat conftest.s >&5
+ fi
+ rm -f conftest.o conftest.s
+ fi
+fi
+echo "$as_me:$LINENO: result: $gcc_cv_as_powerpc_dfp" >&5
+echo "${ECHO_T}$gcc_cv_as_powerpc_dfp" >&6
+if test $gcc_cv_as_powerpc_dfp = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_AS_DFP 1
+_ACEOF
+
+fi
+
echo "$as_me:$LINENO: checking assembler for rel16 relocs" >&5
echo $ECHO_N "checking assembler for rel16 relocs... $ECHO_C" >&6
if test "${gcc_cv_as_powerpc_rel16+set}" = set; then
@@ -16014,70 +16092,70 @@ echo "${ECHO_T}$gcc_cv_ld_pie" >&6
echo "$as_me:$LINENO: checking linker EH-compatible garbage collection of sections" >&5
echo $ECHO_N "checking linker EH-compatible garbage collection of sections... $ECHO_C" >&6
gcc_cv_ld_eh_gc_sections=no
-#if test $in_tree_ld = yes ; then
-# if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 17 -o "$gcc_cv_gld_major_version" -gt 2 \
-# && test $in_tree_ld_is_elf = yes; then
-# gcc_cv_ld_eh_gc_sections=yes
-# fi
-#elif test x$gcc_cv_as != x -a x$gcc_cv_ld != x -a x$gcc_cv_objdump != x ; then
-# cat > conftest.s <<EOF
-# .section .text
-#.globl _start
-# .type _start, @function
-#_start:
-# .long foo
-# .size _start, .-_start
-# .section .text.foo,"ax",@progbits
-# .type foo, @function
-#foo:
-# .long 0
-# .size foo, .-foo
-# .section .gcc_except_table.foo,"a",@progbits
-#.L0:
-# .long 0
-# .section .eh_frame,"a",@progbits
-# .long .L0
-#EOF
-# if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
-# if $gcc_cv_ld -o conftest conftest.o --entry=_start --gc-sections 2>&1 \
-# | grep "gc-sections option ignored" > /dev/null; then
-# gcc_cv_ld_eh_gc_sections=no
-# elif $gcc_cv_objdump -h conftest | grep gcc_except_table > /dev/null; then
-# gcc_cv_ld_eh_gc_sections=yes
-# # If no COMDAT groups, the compiler will emit .gnu.linkonce.t. sections.
-# if test x$gcc_cv_as_comdat_group != xyes; then
-# gcc_cv_ld_eh_gc_sections=no
-# cat > conftest.s <<EOF
-# .section .text
-#.globl _start
-# .type _start, @function
-#_start:
-# .long foo
-# .size _start, .-_start
-# .section .gnu.linkonce.t.foo,"ax",@progbits
-# .type foo, @function
-#foo:
-# .long 0
-# .size foo, .-foo
-# .section .gcc_except_table.foo,"a",@progbits
-#.L0:
-# .long 0
-# .section .eh_frame,"a",@progbits
-# .long .L0
-#EOF
-# if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
-# if $gcc_cv_ld -o conftest conftest.o --entry=_start --gc-sections 2>&1 \
-# | grep "gc-sections option ignored" > /dev/null; then
-# gcc_cv_ld_eh_gc_sections=no
-# elif $gcc_cv_objdump -h conftest | grep gcc_except_table > /dev/null; then
-# gcc_cv_ld_eh_gc_sections=yes
-# fi
-# fi
-# fi
-# fi
-# fi
-# rm -f conftest.s conftest.o conftest
-#fi
+if test $in_tree_ld = yes ; then
+ if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 17 -o "$gcc_cv_gld_major_version" -gt 2 \
+ && test $in_tree_ld_is_elf = yes; then
+ gcc_cv_ld_eh_gc_sections=yes
+ fi
+elif test x$gcc_cv_as != x -a x$gcc_cv_ld != x -a x$gcc_cv_objdump != x ; then
+ cat > conftest.s <<EOF
+ .section .text
+.globl _start
+ .type _start, @function
+_start:
+ .long foo
+ .size _start, .-_start
+ .section .text.foo,"ax",@progbits
+ .type foo, @function
+foo:
+ .long 0
+ .size foo, .-foo
+ .section .gcc_except_table.foo,"a",@progbits
+.L0:
+ .long 0
+ .section .eh_frame,"a",@progbits
+ .long .L0
+EOF
+ if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
+ if $gcc_cv_ld -o conftest conftest.o --entry=_start --gc-sections 2>&1 \
+ | grep "gc-sections option ignored" > /dev/null; then
+ gcc_cv_ld_eh_gc_sections=no
+ elif $gcc_cv_objdump -h conftest | grep gcc_except_table > /dev/null; then
+ gcc_cv_ld_eh_gc_sections=yes
+ # If no COMDAT groups, the compiler will emit .gnu.linkonce.t. sections.
+ if test x$gcc_cv_as_comdat_group != xyes; then
+ gcc_cv_ld_eh_gc_sections=no
+ cat > conftest.s <<EOF
+ .section .text
+.globl _start
+ .type _start, @function
+_start:
+ .long foo
+ .size _start, .-_start
+ .section .gnu.linkonce.t.foo,"ax",@progbits
+ .type foo, @function
+foo:
+ .long 0
+ .size foo, .-foo
+ .section .gcc_except_table.foo,"a",@progbits
+.L0:
+ .long 0
+ .section .eh_frame,"a",@progbits
+ .long .L0
+EOF
+ if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
+ if $gcc_cv_ld -o conftest conftest.o --entry=_start --gc-sections 2>&1 \
+ | grep "gc-sections option ignored" > /dev/null; then
+ gcc_cv_ld_eh_gc_sections=no
+ elif $gcc_cv_objdump -h conftest | grep gcc_except_table > /dev/null; then
+ gcc_cv_ld_eh_gc_sections=yes
+ fi
+ fi
+ fi
+ fi
+ fi
+ rm -f conftest.s conftest.o conftest
+fi
case "$target" in
hppa*-*-linux*)
# ??? This apparently exposes a binutils bug with PC-relative relocations.