aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-pdp11.c
diff options
context:
space:
mode:
authorStephen Casner <casner@acm.org>2020-05-28 10:11:59 -0700
committerStephen Casner <casner@acm.org>2020-05-28 10:11:59 -0700
commit66e3eb08a52ba20d3fb468cef04952aafdf534d4 (patch)
treee0960b4cc192eca87b8baa8c2b211dc8cf9404a2 /gas/config/tc-pdp11.c
parent4ad2c6a03ecb7faaf2658d3f8fb94f06441f2ba8 (diff)
downloadbinutils-66e3eb08a52ba20d3fb468cef04952aafdf534d4.zip
binutils-66e3eb08a52ba20d3fb468cef04952aafdf534d4.tar.gz
binutils-66e3eb08a52ba20d3fb468cef04952aafdf534d4.tar.bz2
Fix all unexpected failures in gas testsuite for pdp11-aout.
These failures were caused by the PDP11's mix of little-endian octets in shorts but shorts in big endian order for long or quad so regexps did not match. Also tests used addresses as values in .long which required BRD_RELOC_32 that was not implemented. * gas/config/tc-pdp11.c (md_number_to_chars): Implement .quad * gas/testsuite/gas/all/gas.exp: Select alternate test scripts for pdp11, skip octa test completely. * gas/testsuite/gas/all/eqv-dot-pdp11.s: Identical to eqv-dot.s * gas/testsuite/gas/all/eqv-dot-pdp11.d: Match different octet order. * gas/testsuite/gas/all/cond-pdp11.l: Match different octet order. * bfd/pdp11.c: Implement BRD_RELOC_32 to relocate the low 16 bits of addreses in .long (used in testsuites) and .stab values.
Diffstat (limited to 'gas/config/tc-pdp11.c')
-rw-r--r--gas/config/tc-pdp11.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gas/config/tc-pdp11.c b/gas/config/tc-pdp11.c
index 57daa0f..7de42ae 100644
--- a/gas/config/tc-pdp11.c
+++ b/gas/config/tc-pdp11.c
@@ -222,6 +222,16 @@ md_number_to_chars (char con[], valueT value, int nbytes)
con[2] = value & 0xff;
con[3] = (value >> 8) & 0xff;
break;
+ case 8:
+ con[0] = (value >> 48) & 0xff;
+ con[1] = (value >> 56) & 0xff;
+ con[2] = (value >> 32) & 0xff;
+ con[3] = (value >> 40) & 0xff;
+ con[4] = (value >> 16) & 0xff;
+ con[5] = (value >> 24) & 0xff;
+ con[6] = value & 0xff;
+ con[7] = (value >> 8) & 0xff;
+ break;
default:
BAD_CASE (nbytes);
}