From d8244a4aba2c284db8fc896e3b4c6591c24f11d8 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 5 May 2005 10:57:06 +0000 Subject: [PATCH] Don't assume a valueT is 4 bytes. --- gas/ChangeLog | 5 +++++ gas/config/tc-vax.c | 23 +++++++++++------------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 749ba16..c036506 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2005-05-05 Matt Thomas + + * config/tc-vax.c (md_assemble): Don't assume a valueT is 4 + bytes. + 2005-05-05 Nick Clifton * Update the address and phone number of the FSF organization in diff --git a/gas/config/tc-vax.c b/gas/config/tc-vax.c index 461f58c..7934aea 100644 --- a/gas/config/tc-vax.c +++ b/gas/config/tc-vax.c @@ -1190,18 +1190,17 @@ md_assemble (instruction_string) p[0] = (operandP->vop_mode << 4) | 0xF; if ((is_absolute) && (expP->X_op != O_big)) { - /* - * If nbytes > 4, then we are scrod. We - * don't know if the high order bytes - * are to be 0xFF or 0x00. BSD4.2 & RMS - * say use 0x00. OK --- but this - * assembler needs ANOTHER rewrite to - * cope properly with this bug. */ - md_number_to_chars (p + 1, this_add_number, min (4, nbytes)); - if (nbytes > 4) - { - memset (p + 5, '\0', nbytes - 4); - } + /* If nbytes > 4, then we are scrod. We + don't know if the high order bytes + are to be 0xFF or 0x00. BSD4.2 & RMS + say use 0x00. OK --- but this + assembler needs ANOTHER rewrite to + cope properly with this bug. */ + md_number_to_chars (p + 1, this_add_number, + min (sizeof (valueT), + (size_t) nbytes)); + if ((size_t) nbytes > sizeof (valueT)) + memset (p + 5, '\0', nbytes - sizeof (valueT)); } else { -- 2.7.4