2008-08-06 Pedro Alves * i386obsd-nat.c (i386obsd_supply_pcb): Remove handling of switchframe.sf_ppl != 0. --- gdb/i386obsd-nat.c | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) Index: src/gdb/i386obsd-nat.c =================================================================== --- src.orig/gdb/i386obsd-nat.c 2008-01-01 22:53:11.000000000 +0000 +++ src/gdb/i386obsd-nat.c 2008-08-06 16:00:41.000000000 +0100 @@ -61,21 +61,12 @@ i386obsd_supply_pcb (struct regcache *re checking if the saved interrupt priority level in the stack frame looks reasonable.. */ read_memory (pcb->pcb_esp, (char *) &sf, sizeof sf); - if ((unsigned int) sf.sf_ppl < 0x100 && (sf.sf_ppl & 0xf) == 0) - { - /* Yes, we have a frame that matches cpu_switch(). */ - pcb->pcb_esp += sizeof (struct switchframe); - regcache_raw_supply (regcache, I386_EDI_REGNUM, &sf.sf_edi); - regcache_raw_supply (regcache, I386_ESI_REGNUM, &sf.sf_esi); - regcache_raw_supply (regcache, I386_EBX_REGNUM, &sf.sf_ebx); - regcache_raw_supply (regcache, I386_EIP_REGNUM, &sf.sf_eip); - } - else - { - /* No, the pcb must have been last updated by savectx(). */ - pcb->pcb_esp += 4; - regcache_raw_supply (regcache, I386_EIP_REGNUM, &sf); - } + + pcb->pcb_esp += sizeof (struct switchframe); + regcache_raw_supply (regcache, I386_EDI_REGNUM, &sf.sf_edi); + regcache_raw_supply (regcache, I386_ESI_REGNUM, &sf.sf_esi); + regcache_raw_supply (regcache, I386_EBX_REGNUM, &sf.sf_ebx); + regcache_raw_supply (regcache, I386_EIP_REGNUM, &sf.sf_eip); regcache_raw_supply (regcache, I386_EBP_REGNUM, &pcb->pcb_ebp); regcache_raw_supply (regcache, I386_ESP_REGNUM, &pcb->pcb_esp);