DebugInfo: Support for compressed debug info sections
[oota-llvm.git] / test / MC / ELF / offset.s
1 // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -t - | FileCheck %s
2
3 // Test that a variable declared with "var = other_var + cst" is in the same
4 // section as other_var and its value is the value of other_var + cst.
5
6         .data
7         .globl  sym_a
8         .size sym_a, 42
9         .byte 42
10         .type sym_a, @object
11 sym_a:
12
13 // CHECK:       Symbol {
14 // CHECK:         Name: sym_a
15 // CHECK-NEXT:    Value: 0x1
16 // CHECK-NEXT:    Size: 42
17 // CHECK-NEXT:    Binding: Global
18 // CHECK-NEXT:    Type: Object
19 // CHECK-NEXT:    Other: 0
20 // CHECK-NEXT:    Section: .data
21 // CHECK-NEXT:  }
22
23         .long 42
24         .globl sym_b
25 sym_b:
26         .globl sym_c
27 sym_c = sym_a
28 // CHECK:       Symbol {
29 // CHECK:         Name: sym_c
30 // CHECK-NEXT:    Value: 0x1
31 // CHECK-NEXT:    Size: 42
32 // CHECK-NEXT:    Binding: Global
33 // CHECK-NEXT:    Type: Object
34 // CHECK-NEXT:    Other: 0
35 // CHECK-NEXT:    Section: .data
36 // CHECK-NEXT:  }
37
38         .globl sym_d
39 sym_d = sym_a + 1
40 // CHECK:       Symbol {
41 // CHECK:         Name: sym_d
42 // CHECK-NEXT:    Value: 0x2
43 // CHECK-NEXT:    Size: 42
44 // CHECK-NEXT:    Binding: Global
45 // CHECK-NEXT:    Type: Object
46 // CHECK-NEXT:    Other: 0
47 // CHECK-NEXT:    Section: .data
48 // CHECK-NEXT:  }
49
50         .globl sym_e
51 sym_e = sym_a + (sym_b - sym_a) * 3
52 // CHECK:       Symbol {
53 // CHECK:         Name: sym_e
54 // CHECK-NEXT:    Value: 0xD
55 // CHECK-NEXT:    Size: 42
56 // CHECK-NEXT:    Binding: Global
57 // CHECK-NEXT:    Type: Object
58 // CHECK-NEXT:    Other: 0
59 // CHECK-NEXT:    Section: .data
60 // CHECK-NEXT:  }
61
62
63         .globl sym_f
64 sym_f = sym_a + (1 - 1)
65 // CHECK:       Symbol {
66 // CHECK:         Name: sym_f
67 // CHECK-NEXT:    Value: 0x1
68 // CHECK-NEXT:    Size: 42
69 // CHECK-NEXT:    Binding: Global
70 // CHECK-NEXT:    Type: Object
71 // CHECK-NEXT:    Other: 0
72 // CHECK-NEXT:    Section: .data
73 // CHECK-NEXT:  }