[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 05:59:31 PDT 2016
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