varasm.c (default_assemble_integer): Return false for values wider than the target...
authorPaul Brook <paul@codesourcery.com>
Tue, 21 Sep 2004 23:40:21 +0000 (23:40 +0000)
committerPaul Brook <pbrook@gcc.gnu.org>
Tue, 21 Sep 2004 23:40:21 +0000 (23:40 +0000)
* varasm.c (default_assemble_integer): Return false for values wider
than the target word size.  Works around GAS bug.

From-SVN: r87827

gcc/ChangeLog
gcc/varasm.c

index fd4e6526db458f74f93c7e200709535a2d273182..fd9c3e7829815fde7e08c296ba99c56ab26d3e0f 100644 (file)
@@ -1,3 +1,8 @@
+2004-09-21  Paul Brook  <paul@codesourcery.com>
+
+       * varasm.c (default_assemble_integer): Return false for values wider
+       than the target word size.  Works around GAS bug.
+
 2004-09-21  Zack Weinberg  <zack@codesourcery.com>
 
        * reg-notes.def (REG_DEP_TRUE): New entry, place first so it
index 5bb96c648cfb53616e746284e359a7b0fc8a8004..8a607f5b9831d0f9361a7c79900343ef6c67b5b5 100644 (file)
@@ -2008,6 +2008,9 @@ default_assemble_integer (rtx x ATTRIBUTE_UNUSED,
                          int aligned_p ATTRIBUTE_UNUSED)
 {
   const char *op = integer_asm_op (size, aligned_p);
+  /* Avoid GAS bugs for values > word size.  */
+  if (size > UNITS_PER_WORD)
+    return false;
   return op && (assemble_integer_with_op (op, x), true);
 }