Subject: Re: trouble compiling arm32 kernels
To: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
From: Richard Earnshaw <rearnsha@arm.com>
List: current-users
Date: 04/11/2000 13:17:55
The patch you refer to in your other mail is just one file out of several 
that were altered by the change to the calculation of register DEATH 
notes.  I very much doubt that by itself it is safe (in particular, you 
don't include the change that actually creates the accurate death notes 
during reload).  According to the CVS log, the following files were all 
changed at the same time.

        * flow.c (life_analysis_1): Do not clobber regs_ever_live after
        reload.  Never perform rescans of the insn chain after reload.
        (propagate_block): Do not delete insn or create new autoinc 
addressing
        modes after reload.
        * jump.c (jump_optimize): Unconditionally use the code that was
        previously conditional on PRESERVE_DEATH_INFO_REGNO_P.
        * reload1.c (reload): When reloading is finished, delete all
        REG_DEAD and REG_UNUSED notes.
        (emit_reload_insns): Delete all code that was conditional on
        PRESERVE_DEATH_INFO_REGNO_P.
        (no_longer_dead_regs): Delete variable.
        (reload_cse_delete_death_notes): Delete function.
        (reload_cse_no_longer_dead): Delete function.
        (reload_cse_regs_1): Delete all code to handle deletion of death
        notes.
        (reload_cse_noop_set_p): Likewise.
        (reload_cse_simplify_set): Likewise.
        (reload_cse_simplify_operands): Likewise.
        (reload_cse_move2add): Likewise.
        * reorg.c (used_spill_regs): Delete declaration.
        (max_label_num_after_reload): Delete declaration.
        (find_dead_or_set_registers): Don't assume that spill regs are
        dead at a CODE_LABEL.
        * rtlanal.c (dead_or_set_regno_p): Death notes are always accurate,
        even after reload.
        * sched.c (sched_analyze_insn): Likewise.
        (update_flow_info): Likewise.
        * haifa-sched.c (sched_analyze_insn): Likewise.
        (update_flow_info): Likewise.
        * tm.texi (PRESERVE_DEATH_INFO_REGNO_P): Delete documentation.
        * toplev.c (max_label_num_after_reload): Delete variable.
        (rest_of_compilation): Don't set max_label_num_after_reload.
        Call life_analysis after reload_cse_regs if optimizing.
        * config/gmicro/gmicro.h: Delete comment referring to
        PRESERVE_DEATH_INFO_REGNO_P.
        * config/i386/i386.h: Likewise.
        * config/m88k/m88k.h: Likewise.
        * config/m32r/m32r.h (PRESERVE_DEATH_INFO_REGNO_P): Delete 
definition.
        * config/sh/sh.h: Likewise.

So this is a fairly major change we are talking about here.

> In <Pine.NEB.4.10.10004110259020.1882-100000@pain.brini.com>
> mark@causality.com wrote:
> 
> > Hi,
> >   Ok following up my last message about the problem being in the sscanf
> > for the link address...
> > 
> > Turns out that strtoull() is broken on arm32. 
[...]
> 
> Please take a look at the following post on tech-toolchain:
> http://mail-index.netbsd.org/tech-toolchain/2000/04/09/0000.html