[ELF] - Change i386 i386-pc8.s/i386-pc16.test to work with 8/16 bits 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
This commit is contained in:
George Rimar 2017-01-30 13:56:57 +00:00
parent e11d2d73bf
commit 87bf5ada39
2 changed files with 5 additions and 5 deletions

View File

@ -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:
@ -36,5 +36,5 @@ Symbols:
- Name: _start
Type: STT_FUNC
Section: .text
Value: 0x12345
Value: 0x1234
Size: 4

View File

@ -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