Home | History | Annotate | Download | only in ELF
      1 // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o %t
      2 // RUN: llvm-readobj -t %t | FileCheck --check-prefix=SYMBOLS %s
      3 // RUN: llvm-nm %t | FileCheck --check-prefix=NM %s
      4 
      5 // Test that symbol a has a section that could be confused with common (0xFFF2)
      6 // SYMBOLS:         Name: a
      7 // SYMBOLS-NEXT:    Value: 0x0
      8 // SYMBOLS-NEXT:    Size: 0
      9 // SYMBOLS-NEXT:    Binding: Local (0x0)
     10 // SYMBOLS-NEXT:    Type: None (0x0)
     11 // SYMBOLS-NEXT:    Other: 0
     12 // SYMBOLS-NEXT:    Section: bar (0xFFF2)
     13 // SYMBOLS-NEXT:  }
     14 
     15 // Test that we don't get confused
     16 // NM: 0000000000000000 r a
     17 
     18 .macro gen_sections4 x
     19         .section a\x
     20         .section b\x
     21         .section c\x
     22         .section d\x
     23 .endm
     24 
     25 .macro gen_sections8 x
     26         gen_sections4 a\x
     27         gen_sections4 b\x
     28 .endm
     29 
     30 .macro gen_sections16 x
     31         gen_sections8 a\x
     32         gen_sections8 b\x
     33 .endm
     34 
     35 .macro gen_sections32 x
     36         gen_sections16 a\x
     37         gen_sections16 b\x
     38 .endm
     39 
     40 .macro gen_sections64 x
     41         gen_sections32 a\x
     42         gen_sections32 b\x
     43 .endm
     44 
     45 .macro gen_sections128 x
     46         gen_sections64 a\x
     47         gen_sections64 b\x
     48 .endm
     49 
     50 .macro gen_sections256 x
     51         gen_sections128 a\x
     52         gen_sections128 b\x
     53 .endm
     54 
     55 .macro gen_sections512 x
     56         gen_sections256 a\x
     57         gen_sections256 b\x
     58 .endm
     59 
     60 .macro gen_sections1024 x
     61         gen_sections512 a\x
     62         gen_sections512 b\x
     63 .endm
     64 
     65 .macro gen_sections2048 x
     66         gen_sections1024 a\x
     67         gen_sections1024 b\x
     68 .endm
     69 
     70 .macro gen_sections4096 x
     71         gen_sections2048 a\x
     72         gen_sections2048 b\x
     73 .endm
     74 
     75 .macro gen_sections8192 x
     76         gen_sections4096 a\x
     77         gen_sections4096 b\x
     78 .endm
     79 
     80 .macro gen_sections16384 x
     81         gen_sections8192 a\x
     82         gen_sections8192 b\x
     83 .endm
     84 
     85 .macro gen_sections32768 x
     86         gen_sections16384 a\x
     87         gen_sections16384 b\x
     88 .endm
     89 
     90 gen_sections32768 a
     91 gen_sections16384 b
     92 gen_sections8192 c
     93 gen_sections4096 d
     94 gen_sections2048 e
     95 gen_sections1024 f
     96 gen_sections512 g
     97 gen_sections256 h
     98 gen_sections128 i
     99 gen_sections64 j
    100 gen_sections32 k
    101 gen_sections8 l
    102 gen_sections4 m
    103 
    104         .section foo
    105         .section foo2
    106         .section foo3
    107         .section bar, "a"
    108 
    109 a:
    110