[PATCH] final.c max_skip without p2align

Joern Rennecke joern.rennecke@superh.com
Thu Feb 20 19:31:00 GMT 2003


+ #ifndef ASM_OUTPUT_MAX_SKIP_ALIGN
+             if ((new_address - insn_current_address)
+                 <= LABEL_TO_MAX_SKIP (insn))
+               insn_lengths[uid] = new_address - insn_current_address;
+             else
+               LABEL_TO_ALIGNMENT (insn) = 0;
+ #else
              insn_lengths[uid] = new_address - insn_current_address;
+ #endif

This violates the assumption that the location counter is aligned after
an alignment.  As a result, you might see out-of-range branches and
shorten_branches looping forever.

-- 
--------------------------
SuperH (UK) Ltd.
2410 Aztec West / Almondsbury / BRISTOL / BS32 4QX
T:+44 1454 465658



More information about the Gcc-patches mailing list