OLD | NEW |
(Empty) | |
| 1 ; RUN: pnacl-llc -mtriple=i386-unknown-nacl -filetype=obj %s -o - \ |
| 2 ; RUN: | llvm-objdump -r - | FileCheck %s -check-prefix=X8632 |
| 3 ; RUN: pnacl-llc -mtriple=x86_64-unknown-nacl -filetype=obj %s -o - \ |
| 4 ; RUN: | llvm-objdump -r - | FileCheck %s -check-prefix=X8664 |
| 5 |
| 6 ; Check that "add" works for negative values when used as a |
| 7 ; ConstantExpr in a global variable initializer. |
| 8 ; See: https://code.google.com/p/nativeclient/issues/detail?id=3548 |
| 9 |
| 10 |
| 11 ; @spacer and @var end up in the BSS section. |
| 12 ; @spacer is at offset 0. @var is at offset 4096 = 0x1000. |
| 13 |
| 14 @spacer = internal global [4096 x i8] zeroinitializer |
| 15 @var = internal global i32 zeroinitializer |
| 16 |
| 17 @negative_offset = internal global i32 add |
| 18 (i32 ptrtoint (i32* @var to i32), i32 -8) |
| 19 |
| 20 ; Note that the addend 4294971384 below equals 0x100000ff8, where |
| 21 ; 0xff8 comes from subtracting 8 from the offset of @var. |
| 22 |
| 23 ; X8632: RELOCATION RECORDS |
| 24 ; X8632-NEXT: 0 R_386_32 .bss |
| 25 |
| 26 ; X8664: RELOCATION RECORDS |
| 27 ; X8664-NEXT: 0 R_X86_64_32 .bss+4294971384 |
OLD | NEW |