dwarf2-frame.c question for maintainers

Andrew Cagney cagney@gnu.org
Wed Jul 14 17:29:00 GMT 2004


> I'm working on some dwarf2 fixes with kevinb.  In
> dwarf2_build_frame_info(), Kevin added 
> +unit.signed_addr_p = bfd_get_sign_extend_vma (unit.abfd);
> 
> This is useful for fixing several bugs where addresses needed to be
> sign-extended.  However, I found that read_reg() also needs to
> sign-extend its result.  Passing a pointer to the CU all the way down to
> read_reg doesn't seem practical.
> 
> I don't have any understanding of the overall structure of this code or
> where it is going. I can see several possibilities, including the
> obvious one; using a global. So how do I solve this to get the patch
> accepted?

(The global is out :-)

How come extract_typed_address, in read_reg, doesn't sign extend?

The MIPS (I'm assuming this is for the MIPS) has the dogma that _all_ 
addresses (a.k.a. CORE_ADDRs) are _always_ sign extended.  If you see a 
non sign-extended address in the wild, try tracing it back to where it 
was created.

Andrew




More information about the Gdb mailing list