OSDN Git Service

* configure.ac (HAVE_GAS_LITERAL16): Add autoconf check for
authormrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 1 Jan 2007 20:58:38 +0000 (20:58 +0000)
committermrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 1 Jan 2007 20:58:38 +0000 (20:58 +0000)
.literal16.
* config/darwin.c (machopic_select_rtx_section): Use
HAVE_GAS_LITERAL16.
(darwin_mergeable_constant_section): Likewise.
* configure: Regenerate.
* config.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120315 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config.in
gcc/config/darwin.c
gcc/configure
gcc/configure.ac

index e4bf33d..fa68d1c 100644 (file)
@@ -1,5 +1,16 @@
+2007-01-01  Mike Stump  <mrs@apple.com>
+
+       * configure.ac (HAVE_GAS_LITERAL16): Add autoconf check for
+       .literal16.
+       * config/darwin.c (machopic_select_rtx_section): Use
+       HAVE_GAS_LITERAL16.
+       (darwin_mergeable_constant_section): Likewise.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+
 2007-01-01  Jan Hubicka  <jh@suse.cz>
            Andrew Pinski  <pinskia@gmail.com>
 
        * cgraphunit.c (cgraph_optimize): Call cgraph_add_new_functions
        before starting IPA passes.
+
index a8e18bc..e1a530a 100644 (file)
 /* Define if your assembler and linker support .hidden. */
 #undef HAVE_GAS_HIDDEN
 
+/* Define if your assembler supports .literal16. */
+#ifndef USED_FOR_TARGET
+#undef HAVE_GAS_LITERAL16
+#endif
+
+
 /* Define if your assembler supports specifying the maximum number of bytes to
    skip when using the GAS .p2align command. */
 #ifndef USED_FOR_TARGET
index 385b892..1c7747c 100644 (file)
@@ -1131,6 +1131,10 @@ darwin_mergeable_string_section (tree exp,
   return readonly_data_section;
 }
 
+#ifndef HAVE_GAS_LITERAL16
+#define HAVE_GAS_LITERAL16 0
+#endif
+
 static section *
 darwin_mergeable_constant_section (tree exp,
                                   unsigned HOST_WIDE_INT align)
@@ -1156,7 +1160,8 @@ darwin_mergeable_constant_section (tree exp,
               && TREE_INT_CST_LOW (size) == 8
               && TREE_INT_CST_HIGH (size) == 0)
         return darwin_sections[literal8_section];
-      else if (TARGET_64BIT
+      else if (HAVE_GAS_LITERAL16
+              && TARGET_64BIT
                && TREE_CODE (size) == INTEGER_CST
                && TREE_INT_CST_LOW (size) == 16
                && TREE_INT_CST_HIGH (size) == 0)
@@ -1321,7 +1326,8 @@ machopic_select_rtx_section (enum machine_mode mode, rtx x,
           && (GET_CODE (x) == CONST_INT
               || GET_CODE (x) == CONST_DOUBLE))
     return darwin_sections[literal4_section];
-  else if (TARGET_64BIT
+  else if (HAVE_GAS_LITERAL16
+          && TARGET_64BIT
           && GET_MODE_SIZE (mode) == 16
           && (GET_CODE (x) == CONST_INT
               || GET_CODE (x) == CONST_DOUBLE
index 09fc0aa..3aaf361 100755 (executable)
@@ -13737,6 +13737,43 @@ _ACEOF
 
 fi
 
+echo "$as_me:$LINENO: checking assembler for .literal16" >&5
+echo $ECHO_N "checking assembler for .literal16... $ECHO_C" >&6
+if test "${gcc_cv_as_literal16+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  gcc_cv_as_literal16=no
+    if test $in_tree_gas = yes; then
+    if test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 8 \) \* 1000 + 0`
+  then gcc_cv_as_literal16=yes
+fi
+  elif test x$gcc_cv_as != x; then
+    echo '.literal16' > conftest.s
+    if { ac_try='$gcc_cv_as  -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_literal16=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_literal16" >&5
+echo "${ECHO_T}$gcc_cv_as_literal16" >&6
+if test $gcc_cv_as_literal16 = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_GAS_LITERAL16 1
+_ACEOF
+
+fi
+
 echo "$as_me:$LINENO: checking assembler for working .subsection -1" >&5
 echo $ECHO_N "checking assembler for working .subsection -1... $ECHO_C" >&6
 if test "${gcc_cv_as_subsection_m1+set}" = set; then
index 706735e..a0832bf 100644 (file)
@@ -2051,6 +2051,12 @@ gcc_GAS_CHECK_FEATURE([.p2align with maximum skip], gcc_cv_as_max_skip_p2align,
   [Define if your assembler supports specifying the maximum number
    of bytes to skip when using the GAS .p2align command.])])
 
+gcc_GAS_CHECK_FEATURE([.literal16], gcc_cv_as_literal16,
+ [2,8,0],,
+ [.literal16],,
+[AC_DEFINE(HAVE_GAS_LITERAL16, 1,
+  [Define if your assembler supports .literal16.])])
+
 gcc_GAS_CHECK_FEATURE([working .subsection -1], gcc_cv_as_subsection_m1,
  [elf,2,9,0],,
  [conftest_label1: .word 0