[PATCH] Fix DW_CFA_set_loc handling

Eric Botcazou ebotcazou@adacore.com
Tue Sep 26 13:26:00 GMT 2006


Jakub,

> Recent http://gcc.gnu.org/PR22313 change (including gcc 4.1 branch) started
> (unnecessarily) using DW_CFA_set_loc at the start of all FDEs, but
> unfortunately linker .eh_frame optimizations didn't handle that well.
> If FDE encoding is pc relative or linker is changing it from absptr
> to pc relative, we need to adjust the DW_CFA_set_loc operand accordingly.
>
> Tested with make check on x86_64-linux, visual inspection of x86_64
> readelf -wf libc.so.6 (this was seriously broken before) and visual
> inspection of a hacked up test for absptr -> pcrel conversion.

This sounds a bit frightening, not everyone can afford to use binutils 
mainline with the 4.1.x compiler.  We already found a nasty fallout
  http://gcc.gnu.org/ml/gcc-patches/2006-09/msg00285.html
so the change seems to be really destabilizing at this point.

Would you be OK to jointly ask Roger to back it out on the 4.1 branch?

-- 
Eric Botcazou



More information about the Binutils mailing list