diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fd4e6526db4..fd9c3e78298 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-09-21 Paul Brook + + * varasm.c (default_assemble_integer): Return false for values wider + than the target word size. Works around GAS bug. + 2004-09-21 Zack Weinberg * reg-notes.def (REG_DEP_TRUE): New entry, place first so it diff --git a/gcc/varasm.c b/gcc/varasm.c index 5bb96c648cf..8a607f5b983 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -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); }