[lld] 3fd3095 - [ELF][test] Test getImplicitAddend for R_ARM_NONE/R_RISCV_NONE/R_386_NONE/R_X86_64_NONE

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 4 13:59:23 PST 2022


Author: Fangrui Song
Date: 2022-02-04T13:59:18-08:00
New Revision: 3fd30958b79293f64545c7328c58982f959feb51

URL: https://github.com/llvm/llvm-project/commit/3fd30958b79293f64545c7328c58982f959feb51
DIFF: https://github.com/llvm/llvm-project/commit/3fd30958b79293f64545c7328c58982f959feb51.diff

LOG: [ELF][test] Test getImplicitAddend for R_ARM_NONE/R_RISCV_NONE/R_386_NONE/R_X86_64_NONE

Similar to f457863ae345d2635026501f5383e0e625869639

Added: 
    lld/test/ELF/relocation-none.test

Modified: 
    

Removed: 
    lld/test/ELF/relocation-none-aarch64.test
    lld/test/ELF/relocation-none-arm.s
    lld/test/ELF/relocation-none-i386.s
    lld/test/ELF/relocation-none-x86-64.s


################################################################################
diff  --git a/lld/test/ELF/relocation-none-arm.s b/lld/test/ELF/relocation-none-arm.s
deleted file mode 100644
index a3ebc3189b34e..0000000000000
--- a/lld/test/ELF/relocation-none-arm.s
+++ /dev/null
@@ -1,26 +0,0 @@
-# REQUIRES: arm
-
-# RUN: llvm-mc -filetype=obj -triple=armv7-linux-musl %s -o %t.o
-# RUN: ld.lld --gc-sections %t.o -o %t
-# RUN: llvm-readelf -S -r %t | FileCheck %s
-
-# Test that we discard R_ARM_NONE, but respect the references it creates among
-# sections.
-
-# CHECK: .data
-# CHECK: There are no relocations in this file.
-
-# RUN: ld.lld -r %t.o -o %t
-# RUN: llvm-readobj -r %t | FileCheck --check-prefix=RELOC %s
-
-# RELOC:      Section ({{.*}}) .rel.text {
-# RELOC-NEXT:   0x0 R_ARM_NONE .data
-# RELOC-NEXT: }
-
-.globl _start
-_start:
-  nop
-  .reloc 0, R_ARM_NONE, .data
-
-.data
-  .long 0

diff  --git a/lld/test/ELF/relocation-none-i386.s b/lld/test/ELF/relocation-none-i386.s
deleted file mode 100644
index 54913b37ed8b5..0000000000000
--- a/lld/test/ELF/relocation-none-i386.s
+++ /dev/null
@@ -1,26 +0,0 @@
-# REQUIRES: x86
-
-# RUN: llvm-mc -filetype=obj -triple=i386-linux-musl %s -o %t.o
-# RUN: ld.lld --gc-sections %t.o -o %t
-# RUN: llvm-readelf -S -r %t | FileCheck %s
-
-# Test that we discard R_386_NONE, but respect the
-# references it creates among sections.
-
-# CHECK: .data
-# CHECK: There are no relocations in this file.
-
-# RUN: ld.lld -r %t.o -o %t
-# RUN: llvm-readobj -r %t | FileCheck --check-prefix=RELOC %s
-
-# RELOC:      Section ({{.*}}) .rel.text {
-# RELOC-NEXT:   0x0 R_386_NONE .data
-# RELOC-NEXT: }
-
-.globl _start
-_start:
-  ret
-  .reloc 0, R_386_NONE, .data
-
-.data
-  .long 0

diff  --git a/lld/test/ELF/relocation-none-x86-64.s b/lld/test/ELF/relocation-none-x86-64.s
deleted file mode 100644
index be6b07c3f5022..0000000000000
--- a/lld/test/ELF/relocation-none-x86-64.s
+++ /dev/null
@@ -1,26 +0,0 @@
-# REQUIRES: x86
-
-# RUN: llvm-mc -filetype=obj -triple=x86_64-linux-musl %s -o %t.o
-# RUN: ld.lld --gc-sections %t.o -o %t
-# RUN: llvm-readelf -S -r %t | FileCheck %s
-
-# Test that we discard R_X86_64_NONE, but respect the
-# references it creates among sections.
-
-# CHECK: .data
-# CHECK: There are no relocations in this file.
-
-# RUN: ld.lld -r %t.o -o %t
-# RUN: llvm-readobj -r %t | FileCheck --check-prefix=RELOC %s
-
-# RELOC:      Section ({{.*}}) .rela.text {
-# RELOC-NEXT:   0x0 R_X86_64_NONE .data 0x0
-# RELOC-NEXT: }
-
-.globl _start
-_start:
-  ret
-  .reloc 0, R_X86_64_NONE, .data
-
-.data
-  .long 0

diff  --git a/lld/test/ELF/relocation-none-aarch64.test b/lld/test/ELF/relocation-none.test
similarity index 61%
rename from lld/test/ELF/relocation-none-aarch64.test
rename to lld/test/ELF/relocation-none.test
index 0147085021f7a..a9ba6402ae8de 100644
--- a/lld/test/ELF/relocation-none-aarch64.test
+++ b/lld/test/ELF/relocation-none.test
@@ -1,9 +1,8 @@
-# REQUIRES: aarch64
-# RUN: yaml2obj %s -o %t.o
+# RUN: yaml2obj -DMACHINE=AARCH64 %s -o %t.o
 # RUN: ld.lld --gc-sections %t.o -o %t
 # RUN: llvm-readelf -S -r %t | FileCheck %s
 
-## Test that we discard R_AARCH64_NONE, but respect the references it creates
+## Test that we discard R_*_NONE, but respect the references it creates
 ## among sections.
 
 # CHECK: .data
@@ -12,24 +11,40 @@
 # RUN: ld.lld -r %t.o -o %t
 # RUN: llvm-readobj -r %t | FileCheck --check-prefix=RELOC %s
 
+# RUN: yaml2obj -DBITS=32 -DMACHINE=ARM %s -o %t.o
+# RUN: ld.lld -r %t.o -o %t
+# RUN: llvm-readobj -r %t | FileCheck --check-prefix=RELOC %s
+
+# RUN: yaml2obj -DMACHINE=RISCV %s -o %t.o
+# RUN: ld.lld -r %t.o -o %t
+# RUN: llvm-readobj -r %t | FileCheck --check-prefix=RELOC %s
+
+# RUN: yaml2obj -DBITS=32 -DMACHINE=386 %s -o %t.o
+# RUN: ld.lld -r %t.o -o %t
+# RUN: llvm-readobj -r %t | FileCheck --check-prefix=RELOC %s
+
+# RUN: yaml2obj -DMACHINE=X86_64 %s -o %t.o
+# RUN: ld.lld -r %t.o -o %t
+# RUN: llvm-readobj -r %t | FileCheck --check-prefix=RELOC %s
+
 ## Both REL and RELA are supported. .rel.llvm.call-graph-profile uses REL even
 ## if the prevailing format is RELA.
 # RELOC:      Section ({{.*}}) .rela.text {
-# RELOC-NEXT:   0x0 R_AARCH64_NONE .data 0x0
+# RELOC-NEXT:   0x0 R_{{.*}}_NONE .data 0x0
 # RELOC-NEXT: }
 # RELOC:      Section ({{.*}}) .rel.nonalloc1 {
-# RELOC-NEXT:   0x0 R_AARCH64_NONE .data
+# RELOC-NEXT:   0x0 R_{{.*}}_NONE .data
 # RELOC-NEXT: }
 # RELOC:      Section ({{.*}}) .rela.nonalloc2 {
-# RELOC-NEXT:   0x0 R_AARCH64_NONE .data 0x0
+# RELOC-NEXT:   0x0 R_{{.*}}_NONE .data 0x0
 # RELOC-NEXT: }
 
 --- !ELF
 FileHeader:
-  Class:           ELFCLASS64
+  Class:           ELFCLASS[[BITS=64]]
   Data:            ELFDATA2LSB
   Type:            ET_REL
-  Machine:         EM_AARCH64
+  Machine:         EM_[[MACHINE]]
 Sections:
   - Name:            .text
     Type:            SHT_PROGBITS
@@ -46,19 +61,19 @@ Sections:
     Info:            .text
     Relocations:
       - Symbol:          .data
-        Type:            R_AARCH64_NONE
+        Type:            R_[[MACHINE]]_NONE
   - Name:            .rel.nonalloc1
     Type:            SHT_REL
     Info:            .nonalloc1
     Relocations:
       - Symbol:          .data
-        Type:            R_AARCH64_NONE
+        Type:            R_[[MACHINE]]_NONE
   - Name:            .rela.nonalloc2
     Type:            SHT_RELA
     Info:            .nonalloc2
     Relocations:
       - Symbol:          .data
-        Type:            R_AARCH64_NONE
+        Type:            R_[[MACHINE]]_NONE
 Symbols:
   - Name:            .data
     Type:            STT_SECTION


        


More information about the llvm-commits mailing list