[llvm] r181201 - [SystemZ] Define DWARF encoding

Rafael EspĂ­ndola rafael.espindola at gmail.com
Mon May 6 10:24:37 PDT 2013


>> 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.

Yes, this part is a bit confusing. There are 3 cases normally

* cfi
* no-cfi pic
* no-cfi no-pic

The cfi encoding is normally relative, regardless of the file being
pic or not. These days the non cfi cases are hopefully not too
relevant, but it is nice to have them match gcc just in case.

> Bye,
> Ulrich
>

Thanks,
Rafael



More information about the llvm-commits mailing list