[parisc-linux] kdb getting healthier? (PCI guru needed, that's you willy!)

John David Anglin dave@hiauly1.hia.nrc.ca
Thu, 6 Jun 2002 15:35:19 -0400 (EDT)


> It should really be something like:
> 
> table->end = base_addr + (&end[0] - sizeof(struct unwind_table_entry))->region_end;

You should be able to just do something like

struct unwind_table_entry *p = end;
...
table->end = base_addr + (--p)->region_end;

> 
> I'm pretty sure that the end[-1] is causing a processor fault. 
> Which then causes kdb to kick-in, but the unwind table isn't
> built yet so it can't find a matching entry.
> 
> If this doesn't work, then how is one supposed to correctly get
> the last table entry? :)
> 
>  (end == __stop___unwind)
> 
>   __start___unwind = .;         /* unwind info */
>   .PARISC.unwind : { *(.PARISC.unwind) }
>   __stop___unwind = .;

Dave
-- 
J. David Anglin                                  dave.anglin@nrc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)