[PATCH] Scale DW_CFA_advance_loc[124] output values

John David Anglin dave@hiauly1.hia.nrc.ca
Tue Nov 18 16:25:00 GMT 2008


> Yeah, seems ehopt.c is broken in many places too, at least in
> check_eh_frame, eh_frame_estimate_size_before_relax and
> eh_frame_convert_frag.  Fortunately gcc was always using code
> alignment factor 1, so it didn't matter.

I'm thinking the optimization in check_eh_frame is only valid when
the code alignment factor is 1.  That's the only time the advance
can be represented as a difference of symbols.

The standard is clear that the new location is computed by adding
check_eh_frame in all four cases.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)



More information about the Binutils mailing list