Home | History | Annotate | Download | only in ELF
      1 // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | elf-dump  | FileCheck %s
      2 
      3 foo:
      4 bar = foo
      5 
      6         .globl	foo2
      7 foo2 = bar2
      8 
      9 foo3:
     10 	.globl	bar3
     11 bar3 = foo3
     12 
     13 // Test that bar4 is also a function
     14         .type	foo4,@function
     15 foo4:
     16 bar4 = foo4
     17 
     18         .long foo2
     19 // CHECK:       # Symbol 1
     20 // CHECK-NEXT:  (('st_name', 0x00000005) # 'bar'
     21 // CHECK-NEXT:   ('st_bind', 0x0)
     22 // CHECK-NEXT:   ('st_type', 0x0)
     23 // CHECK-NEXT:   ('st_other', 0x00)
     24 // CHECK-NEXT:   ('st_shndx', 0x0001)
     25 // CHECK-NEXT:   ('st_value', 0x0000000000000000)
     26 // CHECK-NEXT:   ('st_size', 0x0000000000000000)
     27 // CHECK-NEXT:  ),
     28 // CHECK-NEXT:  # Symbol 2
     29 // CHECK-NEXT: (('st_name', 0x0000001d) # 'bar4'
     30 // CHECK-NEXT:  ('st_bind', 0x0)
     31 // CHECK-NEXT:  ('st_type', 0x2)
     32 // CHECK-NEXT:  ('st_other', 0x00)
     33 // CHECK-NEXT:  ('st_shndx', 0x0001)
     34 // CHECK-NEXT:  ('st_value', 0x0000000000000000)
     35 // CHECK-NEXT:  ('st_size', 0x0000000000000000)
     36 // CHECK-NEXT: ),
     37 // CHECK-NEXT:  # Symbol 3
     38 // CHECK-NEXT:  (('st_name', 0x00000001) # 'foo'
     39 // CHECK-NEXT:   ('st_bind', 0x0)
     40 // CHECK-NEXT:   ('st_type', 0x0)
     41 // CHECK-NEXT:   ('st_other', 0x00)
     42 // CHECK-NEXT:   ('st_shndx', 0x0001)
     43 // CHECK-NEXT:   ('st_value', 0x0000000000000000)
     44 // CHECK-NEXT:   ('st_size', 0x0000000000000000)
     45 // CHECK-NEXT: ),
     46 // CHECK-NEXT:  # Symbol 4
     47 // CHECK-NEXT:  (('st_name', 0x0000000e) # 'foo3'
     48 // CHECK-NEXT:   ('st_bind', 0x0)
     49 // CHECK-NEXT:   ('st_type', 0x0)
     50 // CHECK-NEXT:   ('st_other', 0x00)
     51 // CHECK-NEXT:   ('st_shndx', 0x0001)
     52 // CHECK-NEXT:   ('st_value', 0x0000000000000000)
     53 // CHECK-NEXT:   ('st_size', 0x0000000000000000)
     54 // CHECK-NEXT: ),
     55 // CHECK-NEXT: # Symbol 5
     56 // CHECK-NEXT: (('st_name', 0x00000018) # 'foo4'
     57 // CHECK-NEXT:  ('st_bind', 0x0)
     58 // CHECK-NEXT:  ('st_type', 0x2)
     59 // CHECK-NEXT:  ('st_other', 0x00)
     60 // CHECK-NEXT:  ('st_shndx', 0x0001)
     61 // CHECK-NEXT:  ('st_value', 0x0000000000000000)
     62 // CHECK-NEXT:  ('st_size', 0x0000000000000000)
     63 // CHECK-NEXT: ),
     64 // CHECK-NEXT: # Symbol 6
     65 // CHECK-NEXT: (('st_name', 0x00000000) # ''
     66 // CHECK:       # Symbol 7
     67 // CHECK-NEXT:  (('st_name', 0x00000000) # ''
     68 // CHECK:       # Symbol 8
     69 // CHECK-NEXT:  (('st_name', 0x00000000) # ''
     70 // CHECK:       # Symbol 9
     71 // CHECK-NEXT:  (('st_name', 0x00000013) # 'bar3'
     72 // CHECK-NEXT:   ('st_bind', 0x1)
     73 // CHECK-NEXT:   ('st_type', 0x0)
     74 // CHECK-NEXT:   ('st_other', 0x00)
     75 // CHECK-NEXT:   ('st_shndx', 0x0001)
     76 // CHECK-NEXT:   ('st_value', 0x0000000000000000)
     77 // CHECK-NEXT:   ('st_size', 0x0000000000000000)
     78 // CHECK:       # Symbol 10
     79 // CHECK-NEXT:  (('st_name', 0x00000009) # 'bar2'
     80 // CHECK-NEXT:   ('st_bind', 0x1)
     81 // CHECK-NEXT:   ('st_type', 0x0)
     82 // CHECK-NEXT:   ('st_other', 0x00)
     83 // CHECK-NEXT:   ('st_shndx', 0x0000)
     84 // CHECK-NEXT:   ('st_value', 0x0000000000000000)
     85 // CHECK-NEXT:   ('st_size', 0x0000000000000000)
     86