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
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
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))
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
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
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
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