[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