diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2004-03-05 17:07:12 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2004-03-05 17:07:12 +0000 |
commit | bae25f1962ed5d93828900ab046d4f0de6898db9 (patch) | |
tree | 11b769911df83e853c589961f0f994e50b20d4c9 /gas | |
parent | 9eb42ed178685583b492e2c71fff541aaedffb63 (diff) | |
download | gdb-bae25f1962ed5d93828900ab046d4f0de6898db9.zip gdb-bae25f1962ed5d93828900ab046d4f0de6898db9.tar.gz gdb-bae25f1962ed5d93828900ab046d4f0de6898db9.tar.bz2 |
2004-03-05 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-ia64.c (md_assemble): Properly handle NULL
align_frag.
(ia64_handle_align): Don't abort if failed to add a stop bit.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-ia64.c | 15 |
2 files changed, 19 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 9c283b5..6eaeed2 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2004-03-05 H.J. Lu <hongjiu.lu@intel.com> + + * config/tc-ia64.c (md_assemble): Properly handle NULL + align_frag. + (ia64_handle_align): Don't abort if failed to add a stop bit. + 2004-03-04 H.J. Lu <hongjiu.lu@intel.com> * Makefile.in: Regenerated. diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c index 57ed9b3..6c4519e 100644 --- a/gas/config/tc-ia64.c +++ b/gas/config/tc-ia64.c @@ -10010,9 +10010,12 @@ md_assemble (str) while (align_frag->fr_type != rs_align_code) { align_frag = align_frag->fr_next; - assert (align_frag); + if (!align_frag) + break; } - if (align_frag->fr_next == frag_now) + /* align_frag can be NULL if there are directives in + between. */ + if (align_frag && align_frag->fr_next == frag_now) align_frag->tc_frag_data = 1; } @@ -10872,8 +10875,16 @@ ia64_handle_align (fragp) if (!bytes && fragp->tc_frag_data) { if (fragp->fr_fix < 16) +#if 1 + /* FIXME: It won't work with + .align 16 + alloc r32=ar.pfs,1,2,4,0 + */ + ; +#else as_bad_where (fragp->fr_file, fragp->fr_line, _("Can't add stop bit to mark end of instruction group")); +#endif else /* Bundles are always in little-endian byte order. Make sure the previous bundle has the stop bit. */ |