My m32c port is generating tracking notes that look like this:

(var_location 0x2a95758dd0 (parallel [
            (expr_list:REG_DEP_TRUE (reg/v:SI 0 r0 [orig:123 remainder_size ] 
[123])
                (const_int 0 [0x0]))
            (expr_list:REG_DEP_TRUE (reg:HI 1 r2 [ remainder_size+2 ])
                (const_int 2 [0x2]))
        ]))

Note that registers are HI natively, and r2 is the upper half of the
[r2:r0] pair.  In other words, the location given above describes an
overlap between the two pieces.  The code itself refers to the
variable in both SI (full) and HI (part) modes.

The dwarf2 location lists generated from this are bogus.

So, my question is - is the var_location correct?  Do I need to debug
the var tracking code, or the dwarf2 output code?

Reply via email to