diff options
Diffstat (limited to 'gas/write.c')
-rw-r--r-- | gas/write.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/gas/write.c b/gas/write.c index 455dc44..9d30445 100644 --- a/gas/write.c +++ b/gas/write.c @@ -632,6 +632,10 @@ size_seg (bfd *abfd ATTRIBUTE_UNUSED, asection *sec, void *xxx ATTRIBUTE_UNUSED) #ifdef obj_frob_section obj_frob_section (sec); #endif + + if (sec->entsize && (sec->size % sec->entsize)) + as_warn (_("section `%s' size (%#" PRIx64 ") is not a multiple of its entry size %#x"), + sec->name, (uint64_t) sec->size, sec->entsize); } #ifdef DEBUG2 @@ -2242,7 +2246,7 @@ write_object_file (void) char *table_ptr; addressT table_addr; addressT from_addr, to_addr; - int n, m; + int n; subseg_change (lie->seg, lie->subseg); fragP = lie->dispfrag; @@ -2267,9 +2271,9 @@ write_object_file (void) table_ptr += md_short_jump_size; table_addr += md_short_jump_size; - for (m = 0; + for (; lie && lie->dispfrag == fragP; - m++, lie = lie->next_broken_word) + lie = lie->next_broken_word) { if (lie->added == 2) continue; |