This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re:



Mark,

This patch

2001-04-18  Mark Mitchell  <mark@codesourcery.com>

        * loop.c (load_mems): Examine all the instructions in the loop
        before concluding that all jumps branch to the first instruction
        after the loop.

is (perhaps indirectly) breaking the ARM bootstrap.  The code here

8861              /* If this is a jump outside of the loop but not right
8862                 after the end of the loop, we would have to emit new 
fixup
8863                 sequences for each such label.  */
8864              if (JUMP_LABEL (p) != end_label
8865                  && (INSN_UID (JUMP_LABEL (p)) >= max_uid_for_loop
8866                      || INSN_LUID (JUMP_LABEL (p)) < INSN_LUID (loop->
start)
8867                      || INSN_LUID (JUMP_LABEL (p)) > INSN_LUID (loop->
end)))

 tries to dereference the JUMP_LABEL of an addr_vec; but JUMP_LABEL is 
null in this case, so we segfault.

R.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]