[kdb] Invalidate registers if values are on the stack?

Keith Owens kaos at ocs.com.au
Sat Feb 7 06:14:39 CST 2009


On Fri, 6 Feb 2009 12:31:33 -0600, 
Martin Hicks <mort at sgi.com> wrote:
>
>why does bb_start_block0_special in arch/x86/kdb/kdba_bt.c automatically
>invalidate the register if the NS specifies that the contents of the
>register is also on the stack?
>
>        for (i = 0; i < r->mem_size; ++i) {
>                value = r->mem[i].value;
>                if (test_bit(value, r->skip_mem.bits)) {
>                        /* this memory entry is not defined for this label */
>                        continue;
>                }
>                bb_memory_set_reg_value(BBRG_RSP, r->mem[i].offset_address,
>                                        value, 0);
>                bb_reg_set_undef(value);
>        }

Not also, instead of.  If a saved register is passed on stack then we
do not want the register that originally contained that value to be
considered as part of the data flow.



More information about the kdb mailing list