[llvm] r222538 - Allow FDE references outside the +/-2GB range supported by PC relative

Duncan P. N. Exon Smith dexonsmith at apple.com
Fri Nov 21 09:46:36 PST 2014


+akiss

> On 2014-Nov-21, at 09:25, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote:
> 
> I reverted this in r222542, as it's causing bot failures:
> 
>    http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-incremental/1189/
>    http://lab.llvm.org:8080/green/job/clang-stage1-configure-RA_check/1391/
> 
> and blocking all our internal builders.
> 
> These tests are failing:
> 
> Failing Tests (20):
>    LLVM :: MC/ELF/cfi-adjust-cfa-offset.s
>    LLVM :: MC/ELF/cfi-advance-loc2.s
>    LLVM :: MC/ELF/cfi-def-cfa-offset.s
>    LLVM :: MC/ELF/cfi-def-cfa-register.s
>    LLVM :: MC/ELF/cfi-def-cfa.s
>    LLVM :: MC/ELF/cfi-escape.s
>    LLVM :: MC/ELF/cfi-offset.s
>    LLVM :: MC/ELF/cfi-register.s
>    LLVM :: MC/ELF/cfi-rel-offset.s
>    LLVM :: MC/ELF/cfi-rel-offset2.s
>    LLVM :: MC/ELF/cfi-remember.s
>    LLVM :: MC/ELF/cfi-restore.s
>    LLVM :: MC/ELF/cfi-same-value.s
>    LLVM :: MC/ELF/cfi-signal-frame.s
>    LLVM :: MC/ELF/cfi-undefined.s
>    LLVM :: MC/ELF/cfi-window-save.s
>    LLVM :: MC/ELF/cfi-zero-addr-delta.s
>    LLVM :: MC/ELF/cfi.s
>    LLVM :: MC/ELF/pr19430.s
>    LLVM :: MC/X86/fde-reloc.s
> 
> Let me know if you can't reproduce locally.
> 
>> On 2014-Nov-21, at 06:42, Joerg Sonnenberger <joerg at bec.de> wrote:
>> 
>> Author: joerg
>> Date: Fri Nov 21 08:42:43 2014
>> New Revision: 222538
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=222538&view=rev
>> Log:
>> Allow FDE references outside the +/-2GB range supported by PC relative
>> offsets for code models other than small/medium. For JIT application,
>> memory layout is less controlled and can result in truncations
>> otherwise. 
>> 
>> Patch from Akos Kiss.
>> 
>> Differential Revision: http://reviews.llvm.org/D6079
>> 
>> Modified:
>>   llvm/trunk/lib/MC/MCObjectFileInfo.cpp
> 
> Testcase?
> 
>> Modified: llvm/trunk/lib/MC/MCObjectFileInfo.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCObjectFileInfo.cpp?rev=222538&r1=222537&r2=222538&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/MC/MCObjectFileInfo.cpp (original)
>> +++ llvm/trunk/lib/MC/MCObjectFileInfo.cpp Fri Nov 21 08:42:43 2014
>> @@ -273,6 +273,17 @@ void MCObjectFileInfo::InitELFMCObjectFi
>>  case Triple::mips64el:
>>    FDECFIEncoding = dwarf::DW_EH_PE_sdata8;
>>    break;
>> +  case Triple::x86_64:
>> +    if (RelocM == Reloc::PIC_) {
>> +      FDECFIEncoding = dwarf::DW_EH_PE_pcrel |
>> +        ((CMModel == CodeModel::Small || CMModel == CodeModel::Medium)
>> +         ? dwarf::DW_EH_PE_sdata4 : dwarf::DW_EH_PE_sdata8);
>> +    } else {
>> +      FDECFIEncoding =
>> +        (CMModel == CodeModel::Small || CMModel == CodeModel::Medium)
>> +        ? dwarf::DW_EH_PE_udata4 : dwarf::DW_EH_PE_absptr;
>> +    }
>> +    break;
>>  default:
>>    FDECFIEncoding = dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4;
>>    break;
>> 
>> 
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits





More information about the llvm-commits mailing list