Hi Jeff, 2014-11-07 21:03 GMT+01:00 Jeff Law <l...@redhat.com>: > On 11/06/14 12:37, Kai Tietz wrote: >> >> Hi, >> >> This fixes recent fallout of debug-tests on Windows target for sdbout >> (coff) caused by an ICE. >> >> ChangeLog >> >> 2014-11-06 Kai Tietz <kti...@redhat.com> >> >> * sdbout.c (sdbout_symbol): Eliminate register only >> if decl isn't a global variable. > > Is there a testcase in the suite that triggers this problem? If not, can > you try to add one? Out of curiosity, what was DECL_RTL here?
Sure, as (partial) mentioned in subject-line the testcase g++.dg/debug/const2.C: Triggers this issue. So there is no need to add a separate testcase for it. Testcase fails for any use of -gcoff1 option. > This is probably OK, but I'd really like to know what kind of goofy RTL we > passed to eliminate_regs that caused it to fail. I assume it is ok, as I just mimic dwarf2-behavior, which checks before call for eliminate_regs, if rtl isn't a global-var itself. As assumed by checking in debugger I see that eliminate_regs fails on rtx: (mem/u/c:SI (symbol_ref:DI ("_ZN1b1dE") [flags 0x2] <var_decl 0xffbf0000 d>) [0 d+0 S4 A32]) > > > Jeff > So a more general question about sdbout. Most prior dbg-coff targets using nowadays dwarf2 too. It seems to me that sdbout didn't got any substantial maintenance the last years anymore. Just fallout was fixed. AFAIK is coff (or was) mainly used nowadays for embedded stuff, and in combination with some tools just supporting coff-dbg information. Do we actually need to support it anymore? Kai