This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: dwarf2-frame.c question for maintainers


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]