Skip to content

Commit

Permalink
[ELF] - Change i386 i386-pc8.s/i386-pc16.test to work with 8/16 bits …
Browse files Browse the repository at this point in the history
…values accordingly.

ld.bfd showed error on previous inputs, result values were larger than 8/16 bits,
though ld.gold accepted them.

ABI says "The R_386_16, and R_386_8 relocations truncate the computed 
value to 16-bits and 8-bits respectively".

Patch changes inputs to have result calculated values of relocations to fit 8 and 16 bits.
That can be used for implementation of more strict checks, like bfd do.

Differential revision: https://reviews.llvm.org/D29270

llvm-svn: 293479
  • Loading branch information
George Rimar committed Jan 30, 2017
1 parent e11d2d7 commit 87bf5ad
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 5 deletions.
6 changes: 3 additions & 3 deletions lld/test/ELF/i386-pc16.test
@@ -1,11 +1,11 @@
# REQUIRES: x86

# RUN: yaml2obj %s -o %t.o
# RUN: ld.lld %t.o -o %t.exe
# RUN: ld.lld -Ttext 0x0 %t.o -o %t.exe
# RUN: llvm-objdump -s -section=.text %t.exe 2>&1 | FileCheck %s

# CHECK: Contents of section .text:
# CHECK-NEXT: 11000 56441111 52341111
# CHECK-NEXT: 0000 45231111 41231111

!ELF
FileHeader:
Expand Down Expand Up @@ -36,5 +36,5 @@ Symbols:
- Name: _start
Type: STT_FUNC
Section: .text
Value: 0x12345
Value: 0x1234
Size: 4
4 changes: 2 additions & 2 deletions lld/test/ELF/i386-pc8.s
@@ -1,11 +1,11 @@
# REQUIRES: x86
# RUN: llvm-mc -filetype=obj -triple=i386-pc-linux-gnu %s -o %t1.o
# RUN: llvm-mc -filetype=obj -triple=i386-pc-linux-gnu %S/Inputs/i386-pc8.s -o %t2.o
# RUN: ld.lld %t1.o %t2.o -o %t.out
# RUN: ld.lld -Ttext 0x0 %t1.o %t2.o -o %t.out
# RUN: llvm-objdump -s -section=.text %t.out | FileCheck %s

# CHECK: Contents of section .text:
# CHECK-NEXT: 11000 15253748
# CHECK-NEXT: 0000 15253748

.byte und-.+0x11
.byte und-.+0x22
Expand Down

0 comments on commit 87bf5ad

Please sign in to comment.