[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