blob: 2258b19236780182fcc316ec29578002793cd9ef [file] [log] [blame]
Rafael Espindoladb9835d2010-11-15 14:40:36 +00001// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | elf-dump --dump-section-data | FileCheck %s
2
Roman Divackyd1491862010-12-20 21:14:39 +00003// Test that we emit the correct value.
4
5.set kernbase,0xffffffff80000000
6
7// CHECK: (('st_name', 0x00000001) # 'kernbase'
Rafael Espindolad7c27832011-08-04 15:10:35 +00008// CHECK-NEXT: ('st_bind', 0x0)
Rafael Espindola71a8f5c2011-08-04 15:24:00 +00009// CHECK-NEXT: ('st_type', 0x0)
Rafael Espindola67ac0c02011-08-04 15:38:19 +000010// CHECK-NEXT: ('st_other', 0x00)
Rafael Espindola251a2bb2011-08-04 15:50:13 +000011// CHECK-NEXT: ('st_shndx', 0xfff1)
Roman Divackyd1491862010-12-20 21:14:39 +000012// CHECK-NEXT: ('st_value', 0xffffffff80000000)
13// CHECK-NEXT: ('st_size', 0x0000000000000000)
14// CHECK-NEXT: ),
15
Rafael Espindoladb9835d2010-11-15 14:40:36 +000016// Test that we accept .set of a symbol after it has been used in a statement.
17
18 jmp foo
19 .set foo, bar
20
21// or a .quad
22
23 .quad foo2
24 .set foo2,bar2
25
26// Test that there is an undefined reference to bar
Roman Divackyd1491862010-12-20 21:14:39 +000027// CHECK: (('st_name', 0x0000000a) # 'bar'
Rafael Espindolad7c27832011-08-04 15:10:35 +000028// CHECK-NEXT: ('st_bind', 0x1)
Rafael Espindola71a8f5c2011-08-04 15:24:00 +000029// CHECK-NEXT: ('st_type', 0x0)
Rafael Espindola67ac0c02011-08-04 15:38:19 +000030// CHECK-NEXT: ('st_other', 0x00)
Rafael Espindola251a2bb2011-08-04 15:50:13 +000031// CHECK-NEXT: ('st_shndx', 0x0000)
Roman Divacky1ae3c162010-12-20 20:49:43 +000032// CHECK-NEXT: ('st_value', 0x0000000000000000)
33// CHECK-NEXT: ('st_size', 0x0000000000000000)
Rafael Espindoladb9835d2010-11-15 14:40:36 +000034// CHECK-NEXT: ),