[llvm] r181201 - [SystemZ] Define DWARF encoding

Ulrich Weigand Ulrich.Weigand at de.ibm.com
Mon May 6 10:05:20 PDT 2013


Rafael EspĂ­ndola <rafael.espindola at gmail.com> wrote on 06.05.2013 18:16:52:

> Re: [llvm] r181201 - [SystemZ] Define DWARF encoding
>
> > +    FDEEncoding = dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4;
>
> Is this true for both pic and non-pic?

Hmm.  GCC does indeed use DW_EH_PE_absptr for all encodings in non-pic.
The relative encoding is not actually *wrong*, but it's probably
less surprising to do the same as GCC.  I'll change this ...

> Also, please confirm that FDECFIEncoding is set correctly.

It is correct for pic.  For non-pic the situation is interesting:
current GCC will emit .cfi directives, and GAS will then use the
same pcrel | sdata4 encoding for pic and non-pic.  However, with
old GCCs that emit the .eh_frame section directly, they would
actually use a DW_EH_PE_absptr as well ...

Given that the pcrel | sdata4 encoding corresponds to what the
more recent GNU toolchain does, and it is also more efficient,
I guess it makes sense to leave LLVM as is for this.

Bye,
Ulrich





More information about the llvm-commits mailing list