Commit 00ccc16d by Jeffrey A Law Committed by Jeff Law

configure.in: Check if the assembler supports ".balign" and ".p2align" and define...

        * configure.in: Check if the assembler supports ".balign" and
        ".p2align" and define HAVE_GAS_BALIGN_AND_P2ALIGN appropriately.
        * acconfig.h (HAVE_GAS_BALIGN_AND_P2ALIGN): New tag.
        * i386/gas.h (ASM_OUTPUT_ALIGN): If the assembler has support for
        ".balign" then use it.

From-SVN: r21023
parent 0841099a
Wed Jul 8 21:43:14 1998 Jeffrey A Law (law@cygnus.com)
* configure.in: Check if the assembler supports ".balign" and
".p2align" and define HAVE_GAS_BALIGN_AND_P2ALIGN appropriately.
* acconfig.h (HAVE_GAS_BALIGN_AND_P2ALIGN): New tag.
* i386/gas.h (ASM_OUTPUT_ALIGN): If the assembler has support for
".balign" then use it.
* print-rtl.c (print_rtx): Revert previous patch.
* jump.c (duplicate_loop_exit_test): Do not duplicate the loop exit
......
......@@ -14,6 +14,9 @@
of bytes to skip when using the GAS .p2align command. */
#undef HAVE_GAS_MAX_SKIP_P2ALIGN
/* Define if your assembler supports .balign and .p2align. */
#undef HAVE_GAS_BALIGN_AND_P2ALIGN
/* Define if you have a working <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
......
......@@ -80,7 +80,7 @@ Boston, MA 02111-1307, USA. */
doubt or guess work, and since this file is used for both a.out and other
file formats, we use one of them. */
#if 0 /* ??? However, not every port uses binutils 2.6 yet. */
#ifdef HAVE_GAS_BALIGN_AND_P2ALIGN
#undef ASM_OUTPUT_ALIGN
#define ASM_OUTPUT_ALIGN(FILE,LOG) \
if ((LOG)!=0) fprintf ((FILE), "\t.balign %d\n", 1<<(LOG))
......
......@@ -5237,6 +5237,15 @@ elif [ -f $srcdir/../gas/configure.in ]; then
done
gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([0-9]*\)"`
gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[0-9]*\.\([0-9]*\)"`
# Gas version 2.6 and later support for .balign and .p2align.
# bytes to skip when using .p2align.
if [ "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 6 -o "$gcc_cv_gas_major_version" -gt 2 ]; then
gcc_cv_as_alignment_features=".balign and .p2align"
cat >> confdefs.h <<\EOF
#define HAVE_GAS_BALIGN_AND_P2ALIGN 1
EOF
fi
# Gas version 2.8 and later support specifying the maximum
# bytes to skip when using .p2align.
if [ "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 8 -o "$gcc_cv_gas_major_version" -gt 2 ]; then
......@@ -5251,6 +5260,17 @@ elif [ x$host = x$target ]; then
gcc_cv_as=as$host_exeext
fi
if [ x$gcc_cv_as != x ]; then
# Check if we have .balign and .p2align
echo ".balign 4" > conftest.s
echo ".p2align 2" >> conftest.s
if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
gcc_cv_as_alignment_features=".balign and .p2align"
cat >> confdefs.h <<\EOF
#define HAVE_GAS_BALIGN_AND_P2ALIGN 1
EOF
fi
rm -f conftest.s conftest.o
# Check if specifying the maximum bytes to skip when
# using .p2align is supported.
echo ".p2align 4,,7" > conftest.s
......
......@@ -3332,6 +3332,12 @@ elif [[ -f $srcdir/../gas/configure.in ]]; then
done
gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([[0-9]]*\)"`
gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[[0-9]]*\.\([[0-9]]*\)"`
# Gas version 2.6 and later support for .balign and .p2align.
# bytes to skip when using .p2align.
if [[ "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 6 -o "$gcc_cv_gas_major_version" -gt 2 ]]; then
gcc_cv_as_alignment_features=".balign and .p2align"
AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
fi
# Gas version 2.8 and later support specifying the maximum
# bytes to skip when using .p2align.
if [[ "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 8 -o "$gcc_cv_gas_major_version" -gt 2 ]]; then
......@@ -3343,6 +3349,14 @@ elif [[ x$host = x$target ]]; then
gcc_cv_as=as$host_exeext
fi
if [[ x$gcc_cv_as != x ]]; then
# Check if we have .balign and .p2align
echo ".balign 4" > conftest.s
echo ".p2align 2" >> conftest.s
if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
gcc_cv_as_alignment_features=".balign and .p2align"
AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
fi
rm -f conftest.s conftest.o
# Check if specifying the maximum bytes to skip when
# using .p2align is supported.
echo ".p2align 4,,7" > conftest.s
......
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