On Tue, 2016-02-09 at 23:35 +0100, Mark Wielaard wrote:
On Sat, 2016-01-23 at 21:39 +0100, Mark Wielaard wrote:
> On Wed, Jan 20, 2016 at 03:14:16PM -0800, Roland McGrath wrote:
> > so that it displays the literal value (like the other cases do) as well as
> > the final value (which in this case is just with VMA_BASE added in).
> I agree with using %# for printing the address and setting the pc using
> vma_base and op1. But the argument of a DW_CFA_set_loc is an address, not
> a uleb128 and it should not be adjusted by code_align, which is only used
> for CFA_advance operations as far as I understand it. To read an address
> we need to know the FDE address encoding and use read_encoded (which
> isn't defined till a bit later, so we need to move it up).
So, no comments about this at all? Sounds sane, sounds insane?
What if I attach a full patch and threaten to commit it?
OK, no comments... Then I am forced to execute my threat...
Committed to master now:
+2016-02-09 Mark Wielaard <mjw(a)redhat.com>
+ * readelf.c (read_encoded): Move up.
+ (print_cfa_program): Add encoding argument. Use it for read_encoded
+ when reading DW_CFA_set_loc op.
+ (print_debug_frame_section): Pass fde_encoding to print_cfa_program.