diff options
Diffstat (limited to 'test/MC/ELF/offset.s')
-rw-r--r-- | test/MC/ELF/offset.s | 67 |
1 files changed, 56 insertions, 11 deletions
diff --git a/test/MC/ELF/offset.s b/test/MC/ELF/offset.s index 51f6e7688b..bc4252c1a7 100644 --- a/test/MC/ELF/offset.s +++ b/test/MC/ELF/offset.s @@ -3,25 +3,70 @@ // Test that a variable declared with "var = other_var + cst" is in the same // section as other_var and its value is the value of other_var + cst. + .data + .globl sym_a + .byte 42 + .type sym_a, @object sym_a: -sym_d = sym_a + 1 - // CHECK: Symbol { // CHECK: Name: sym_a -// CHECK-NEXT: Value: 0x0 +// CHECK-NEXT: Value: 0x1 +// CHECK-NEXT: Size: 0 +// CHECK-NEXT: Binding: Global +// CHECK-NEXT: Type: Object +// CHECK-NEXT: Other: 0 +// CHECK-NEXT: Section: .data +// CHECK-NEXT: } + + .long 42 + .globl sym_b +sym_b: + .globl sym_c +sym_c = sym_a +// CHECK: Symbol { +// CHECK: Name: sym_c +// CHECK-NEXT: Value: 0x1 // CHECK-NEXT: Size: 0 -// CHECK-NEXT: Binding: Local (0x0) -// CHECK-NEXT: Type: None (0x0) +// CHECK-NEXT: Binding: Global +// CHECK-NEXT: Type: Object // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: .text (0x1) +// CHECK-NEXT: Section: .data // CHECK-NEXT: } -// CHECK-NEXT: Symbol { -// CHECK-NEXT: Name: sym_d + + .globl sym_d +sym_d = sym_a + 1 +// CHECK: Symbol { +// CHECK: Name: sym_d +// CHECK-NEXT: Value: 0x2 +// CHECK-NEXT: Size: 0 +// CHECK-NEXT: Binding: Global +// CHECK-NEXT: Type: Object +// CHECK-NEXT: Other: 0 +// CHECK-NEXT: Section: .data +// CHECK-NEXT: } + + .globl sym_e +sym_e = sym_a + (sym_b - sym_a) * 3 +// CHECK: Symbol { +// CHECK: Name: sym_e +// CHECK-NEXT: Value: 0xD +// CHECK-NEXT: Size: 0 +// CHECK-NEXT: Binding: Global +// CHECK-NEXT: Type: Object +// CHECK-NEXT: Other: 0 +// CHECK-NEXT: Section: .data +// CHECK-NEXT: } + + + .globl sym_f +sym_f = sym_a + (1 - 1) +// CHECK: Symbol { +// CHECK: Name: sym_f // CHECK-NEXT: Value: 0x1 // CHECK-NEXT: Size: 0 -// CHECK-NEXT: Binding: Local (0x0) -// CHECK-NEXT: Type: None (0x0) +// CHECK-NEXT: Binding: Global +// CHECK-NEXT: Type: Object // CHECK-NEXT: Other: 0 -// CHECK-NEXT: Section: .text (0x1) +// CHECK-NEXT: Section: .data // CHECK-NEXT: } |