forked from OSchip/llvm-project
[ELF][test] Test getImplicitAddend for R_ARM_NONE/R_RISCV_NONE/R_386_NONE/R_X86_64_NONE
Similar to f457863ae3
This commit is contained in:
parent
5966c2ec02
commit
3fd30958b7
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -1,9 +1,8 @@
|
||||||
# REQUIRES: aarch64
|
# RUN: yaml2obj -DMACHINE=AARCH64 %s -o %t.o
|
||||||
# RUN: yaml2obj %s -o %t.o
|
|
||||||
# RUN: ld.lld --gc-sections %t.o -o %t
|
# RUN: ld.lld --gc-sections %t.o -o %t
|
||||||
# RUN: llvm-readelf -S -r %t | FileCheck %s
|
# 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.
|
## among sections.
|
||||||
|
|
||||||
# CHECK: .data
|
# CHECK: .data
|
||||||
|
@ -12,24 +11,40 @@
|
||||||
# RUN: ld.lld -r %t.o -o %t
|
# RUN: ld.lld -r %t.o -o %t
|
||||||
# RUN: llvm-readobj -r %t | FileCheck --check-prefix=RELOC %s
|
# 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
|
## Both REL and RELA are supported. .rel.llvm.call-graph-profile uses REL even
|
||||||
## if the prevailing format is RELA.
|
## if the prevailing format is RELA.
|
||||||
# RELOC: Section ({{.*}}) .rela.text {
|
# RELOC: Section ({{.*}}) .rela.text {
|
||||||
# RELOC-NEXT: 0x0 R_AARCH64_NONE .data 0x0
|
# RELOC-NEXT: 0x0 R_{{.*}}_NONE .data 0x0
|
||||||
# RELOC-NEXT: }
|
# RELOC-NEXT: }
|
||||||
# RELOC: Section ({{.*}}) .rel.nonalloc1 {
|
# RELOC: Section ({{.*}}) .rel.nonalloc1 {
|
||||||
# RELOC-NEXT: 0x0 R_AARCH64_NONE .data
|
# RELOC-NEXT: 0x0 R_{{.*}}_NONE .data
|
||||||
# RELOC-NEXT: }
|
# RELOC-NEXT: }
|
||||||
# RELOC: Section ({{.*}}) .rela.nonalloc2 {
|
# RELOC: Section ({{.*}}) .rela.nonalloc2 {
|
||||||
# RELOC-NEXT: 0x0 R_AARCH64_NONE .data 0x0
|
# RELOC-NEXT: 0x0 R_{{.*}}_NONE .data 0x0
|
||||||
# RELOC-NEXT: }
|
# RELOC-NEXT: }
|
||||||
|
|
||||||
--- !ELF
|
--- !ELF
|
||||||
FileHeader:
|
FileHeader:
|
||||||
Class: ELFCLASS64
|
Class: ELFCLASS[[BITS=64]]
|
||||||
Data: ELFDATA2LSB
|
Data: ELFDATA2LSB
|
||||||
Type: ET_REL
|
Type: ET_REL
|
||||||
Machine: EM_AARCH64
|
Machine: EM_[[MACHINE]]
|
||||||
Sections:
|
Sections:
|
||||||
- Name: .text
|
- Name: .text
|
||||||
Type: SHT_PROGBITS
|
Type: SHT_PROGBITS
|
||||||
|
@ -46,19 +61,19 @@ Sections:
|
||||||
Info: .text
|
Info: .text
|
||||||
Relocations:
|
Relocations:
|
||||||
- Symbol: .data
|
- Symbol: .data
|
||||||
Type: R_AARCH64_NONE
|
Type: R_[[MACHINE]]_NONE
|
||||||
- Name: .rel.nonalloc1
|
- Name: .rel.nonalloc1
|
||||||
Type: SHT_REL
|
Type: SHT_REL
|
||||||
Info: .nonalloc1
|
Info: .nonalloc1
|
||||||
Relocations:
|
Relocations:
|
||||||
- Symbol: .data
|
- Symbol: .data
|
||||||
Type: R_AARCH64_NONE
|
Type: R_[[MACHINE]]_NONE
|
||||||
- Name: .rela.nonalloc2
|
- Name: .rela.nonalloc2
|
||||||
Type: SHT_RELA
|
Type: SHT_RELA
|
||||||
Info: .nonalloc2
|
Info: .nonalloc2
|
||||||
Relocations:
|
Relocations:
|
||||||
- Symbol: .data
|
- Symbol: .data
|
||||||
Type: R_AARCH64_NONE
|
Type: R_[[MACHINE]]_NONE
|
||||||
Symbols:
|
Symbols:
|
||||||
- Name: .data
|
- Name: .data
|
||||||
Type: STT_SECTION
|
Type: STT_SECTION
|
Loading…
Reference in New Issue