This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: sched/flow problem with memory corruption due to mark_set_resources
- To: rth at cygnus dot com, wilson at cygnus dot com
- Subject: Re: sched/flow problem with memory corruption due to mark_set_resources
- From: "Kaveh R. Ghazi" <ghazi at caip dot rutgers dot edu>
- Date: Mon, 30 Aug 1999 10:31:26 -0400 (EDT)
- Cc: gcc-bugs at gcc dot gnu dot org
> From: Jim Wilson <wilson@cygnus.com>
>
> I got a segfault while trying to build a mips cross compiler from
> gcc sources I checked out on Saturday. I tracked the problem down
> to your Aug 24 flow and sched changes.
>
> new_insn_dead_notes calls mark_set_resources now. However, that
> function can only work after reload. It takes a struct resource
> which contains a HARD_REG_SET. It sets a bit in that HARD_REG_SET
> for every used register. If you have any pseudo regs, then you get
> an out-of-bounds array write, and random memory locations get
> clobbered.
>
> new_insn_dead_notes is called from the first sched pass, which runs
> before reload.
>
> This code was originally from reorg, so it never needed to handle
> pseudo regs. The code was merged in from the new_ia32_branch which
> only runs the second sched pass after reload, so we wouldn't have
> noticed the problem there.
>
> Jim
Sounds like its possibly related to the bootstrap failures on
Irix6/Solaris2.7/SunOS4 I reported a few days ago, especially since
they started happening around Aug 25th.
http://egcs.cygnus.com/ml/gcc-bugs/1999-08/msg01062.html
http://egcs.cygnus.com/ml/gcc-bugs/1999-08/msg01061.html
--Kaveh
--
Kaveh R. Ghazi Engagement Manager / Project Services
ghazi@caip.rutgers.edu Qwest Internet Solutions