[llvm] r273066 - Support/ELF: Add AMDGPU relocation definitions to match documentation

Vassil Vassilev via llvm-commits llvm-commits at lists.llvm.org
Sun Jun 19 08:38:19 PDT 2016


Done in r273112.
On 19/06/16 15:59, Vassil Vassilev wrote:
> Hi Tom,
>   It seems this broke our modules buildbots. Could you update the 
> llvm's modulemap correspondingly?
> Many thanks,
> Vassil
> On 18/06/16 01:38, Tom Stellard via llvm-commits wrote:
>> Author: tstellar
>> Date: Fri Jun 17 17:38:08 2016
>> New Revision: 273066
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=273066&view=rev
>> Log:
>> Support/ELF: Add AMDGPU relocation definitions to match documentation
>>
>> Reviewers: arsenm, kzhuravl, rafael
>>
>> Subscribers: llvm-commits, kzhuravl
>>
>> Differential Revision: http://reviews.llvm.org/D21443
>>
>> Added:
>>      llvm/trunk/include/llvm/Support/ELFRelocs/AMDGPU.def
>>      llvm/trunk/test/Object/AMDGPU/elf64-relocs.yaml
>> Modified:
>>      llvm/trunk/include/llvm/Support/ELF.h
>>      llvm/trunk/lib/Object/ELF.cpp
>>      llvm/trunk/lib/ObjectYAML/ELFYAML.cpp
>>
>> Modified: llvm/trunk/include/llvm/Support/ELF.h
>> URL: 
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/ELF.h?rev=273066&r1=273065&r2=273066&view=diff
>> ============================================================================== 
>>
>> --- llvm/trunk/include/llvm/Support/ELF.h (original)
>> +++ llvm/trunk/include/llvm/Support/ELF.h Fri Jun 17 17:38:08 2016
>> @@ -615,6 +615,11 @@ enum {
>>   #include "ELFRelocs/WebAssembly.def"
>>   };
>>   +// ELF Relocation types for AMDGPU
>> +enum {
>> +#include "ELFRelocs/AMDGPU.def"
>> +};
>> +
>>   #undef ELF_RELOC
>>     // Section header.
>>
>> Added: llvm/trunk/include/llvm/Support/ELFRelocs/AMDGPU.def
>> URL: 
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/ELFRelocs/AMDGPU.def?rev=273066&view=auto
>> ============================================================================== 
>>
>> --- llvm/trunk/include/llvm/Support/ELFRelocs/AMDGPU.def (added)
>> +++ llvm/trunk/include/llvm/Support/ELFRelocs/AMDGPU.def Fri Jun 17 
>> 17:38:08 2016
>> @@ -0,0 +1,11 @@
>> +#ifndef ELF_RELOC
>> +#error "ELF_RELOC must be defined"
>> +#endif
>> +
>> +ELF_RELOC(R_AMDGPU_NONE,          0)
>> +ELF_RELOC(R_AMDGPU_ABS32_LO,      1)
>> +ELF_RELOC(R_AMDGPU_ABS32_HI,      2)
>> +ELF_RELOC(R_AMDGPU_ABS64,         3)
>> +ELF_RELOC(R_AMDGPU_REL32,         4)
>> +ELF_RELOC(R_AMDGPU_REL64,         5)
>> +ELF_RELOC(R_AMDGPU_ABS32,         6)
>>
>> Modified: llvm/trunk/lib/Object/ELF.cpp
>> URL: 
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/ELF.cpp?rev=273066&r1=273065&r2=273066&view=diff
>> ============================================================================== 
>>
>> --- llvm/trunk/lib/Object/ELF.cpp (original)
>> +++ llvm/trunk/lib/Object/ELF.cpp Fri Jun 17 17:38:08 2016
>> @@ -105,6 +105,13 @@ StringRef getELFRelocationTypeName(uint3
>>         break;
>>       }
>>       break;
>> +  case ELF::EM_AMDGPU:
>> +    switch (Type) {
>> +#include "llvm/Support/ELFRelocs/AMDGPU.def"
>> +    default:
>> +      break;
>> +    }
>> +    break;
>>     default:
>>       break;
>>     }
>>
>> Modified: llvm/trunk/lib/ObjectYAML/ELFYAML.cpp
>> URL: 
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ObjectYAML/ELFYAML.cpp?rev=273066&r1=273065&r2=273066&view=diff
>> ============================================================================== 
>>
>> --- llvm/trunk/lib/ObjectYAML/ELFYAML.cpp (original)
>> +++ llvm/trunk/lib/ObjectYAML/ELFYAML.cpp Fri Jun 17 17:38:08 2016
>> @@ -531,6 +531,9 @@ void ScalarEnumerationTraits<ELFYAML::EL
>>     case ELF::EM_LANAI:
>>   #include "llvm/Support/ELFRelocs/Lanai.def"
>>       break;
>> +  case ELF::EM_AMDGPU:
>> +#include "llvm/Support/ELFRelocs/AMDGPU.def"
>> +    break;
>>     default:
>>       llvm_unreachable("Unsupported architecture");
>>     }
>>
>> Added: llvm/trunk/test/Object/AMDGPU/elf64-relocs.yaml
>> URL: 
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/AMDGPU/elf64-relocs.yaml?rev=273066&view=auto
>> ============================================================================== 
>>
>> --- llvm/trunk/test/Object/AMDGPU/elf64-relocs.yaml (added)
>> +++ llvm/trunk/test/Object/AMDGPU/elf64-relocs.yaml Fri Jun 17 
>> 17:38:08 2016
>> @@ -0,0 +1,65 @@
>> +# RUN: yaml2obj -format=elf %s > %t
>> +# RUN: llvm-readobj -r %t | FileCheck %s
>> +
>> +# CHECK: Relocations [
>> +# CHECK:   Section (2) .rela.text {
>> +# CHECK:     0x0 R_AMDGPU_NONE main 0x0
>> +# CHECK:     0x8 R_AMDGPU_ABS32_LO - 0x0
>> +# CHECK:     0x10 R_AMDGPU_ABS32_HI - 0x0
>> +# CHECK:     0x18 R_AMDGPU_ABS64 - 0x0
>> +# CHECK:     0x20 R_AMDGPU_REL32 - 0x0
>> +# CHECK:     0x28 R_AMDGPU_REL64 - 0x0
>> +# CHECK:     0x30 R_AMDGPU_ABS32 - 0x0
>> +# CHECK:   }
>> +# CHECK: ]
>> +
>> +FileHeader:
>> +  Class:           ELFCLASS64
>> +  Data:            ELFDATA2LSB
>> +  Type:            ET_REL
>> +  Machine:         EM_AMDGPU
>> +Sections:
>> +  - Type:            SHT_PROGBITS
>> +    Name:            .text
>> +    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
>> +    AddressAlign:    0x08
>> +    Content:         0000000000000000
>> +  - Type:            SHT_RELA
>> +    Name:            .rela.text
>> +    Link:            .symtab
>> +    Info:            .text
>> +    AddressAlign:    0x08
>> +    Relocations:
>> +      - Offset:          0x0
>> +        Symbol:          main
>> +        Type:            R_AMDGPU_NONE
>> +      - Offset:          0x8
>> +        Symbol:          a
>> +        Type:            R_AMDGPU_ABS32_LO
>> +      - Offset:          0x10
>> +        Symbol:          b
>> +        Type:            R_AMDGPU_ABS32_HI
>> +      - Offset:          0x18
>> +        Symbol:          c
>> +        Type:            R_AMDGPU_ABS64
>> +      - Offset:          0x20
>> +        Symbol:          d
>> +        Type:            R_AMDGPU_REL32
>> +      - Offset:          0x28
>> +        Symbol:          e
>> +        Type:            R_AMDGPU_REL64
>> +      - Offset:          0x30
>> +        Symbol:          f
>> +        Type:            R_AMDGPU_ABS32
>> +
>> +Symbols:
>> +  Local:
>> +    - Name:            .text
>> +      Type:            STT_SECTION
>> +      Section:         .text
>> +
>> +  Global:
>> +    - Name:            main
>> +      Type:            STT_FUNC
>> +      Section:         .text
>> +      Size:            0x08
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
>



More information about the llvm-commits mailing list