This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
A patch for calc_hex () in gas
- To: binutils at sourceware dot cygnus dot com
- Subject: A patch for calc_hex () in gas
- From: "H . J . Lu" <hjl at valinux dot com>
- Date: Fri, 29 Dec 2000 14:21:00 -0800
- Cc: rth at redhat dot com
I got a "make check" failure in gas with the new alignment change:
Running /work/gnu/src/binutils/gas/testsuite/gas/i386/i386.exp ...
PASS: i386 float
PASS: i386 general
regexp_diff match failure
regexp "^ 48 [ ]* fldlw \(%eax\)$"
line " 48 ???? 9090 fldlw (%eax)"
extra lines in dump.out starting with "^**** Error:no such instruction: `fldlw
(%eax)'$"
EOF from /work/gnu/src/binutils/gas/testsuite/gas/i386/inval.l
FAIL: i386 inval
under ia32. This patch seems to cure it. But I am not sure if it is the
right fix.
--
H.J. Lu (hjl@valinux.com)
---
2000-12-29 H.J. Lu <hjl@gnu.org>
* listing.c (calc_hex): Handle rs_align_code.
Index: listing.c
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/listing.c,v
retrieving revision 1.6
diff -u -p -r1.6 listing.c
--- listing.c 2000/11/08 00:33:58 1.6
+++ listing.c 2000/12/29 22:14:01
@@ -613,6 +613,7 @@ calc_hex (list)
data_buffer_size += 2;
octet_in_frag++;
}
+ if (frag_ptr->fr_type != rs_align_code)
{
unsigned int var_rep_max = octet_in_frag;
unsigned int var_rep_idx = octet_in_frag;