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 -s %t | FileCheck --check-prefix=SECTIONS %s
      3 // RUN: llvm-readobj -t %t | FileCheck --check-prefix=SYMBOLS %s
      4 
      5 // Test that we don't create a .symtab_shndx since we are one section short of
      6 // SHN_LORESERVE (0xFF00).
      7 
      8 // SECTIONS-NOT: Name: .symtab_shndx
      9 
     10 // Check the last referenced section.
     11 
     12 // SYMBOLS:         Name: (0)
     13 // SYMBOLS:         Value: 0x0
     14 // SYMBOLS:         Size: 0
     15 // SYMBOLS:         Binding: Local (0x0)
     16 // SYMBOLS:         Type: Section (0x3)
     17 // SYMBOLS:         Other: 0
     18 // SYMBOLS:         Section: zed (0xFEFF)
     19 // SYMBOLS-NEXT:  }
     20 // SYMBOLS-NEXT:]
     21 
     22 .macro gen_sections4 x
     23         .section a\x
     24         .section b\x
     25         .section c\x
     26         .section d\x
     27 .endm
     28 
     29 .macro gen_sections8 x
     30         gen_sections4 a\x
     31         gen_sections4 b\x
     32 .endm
     33 
     34 .macro gen_sections16 x
     35         gen_sections8 a\x
     36         gen_sections8 b\x
     37 .endm
     38 
     39 .macro gen_sections32 x
     40         gen_sections16 a\x
     41         gen_sections16 b\x
     42 .endm
     43 
     44 .macro gen_sections64 x
     45         gen_sections32 a\x
     46         gen_sections32 b\x
     47 .endm
     48 
     49 .macro gen_sections128 x
     50         gen_sections64 a\x
     51         gen_sections64 b\x
     52 .endm
     53 
     54 .macro gen_sections256 x
     55         gen_sections128 a\x
     56         gen_sections128 b\x
     57 .endm
     58 
     59 .macro gen_sections512 x
     60         gen_sections256 a\x
     61         gen_sections256 b\x
     62 .endm
     63 
     64 .macro gen_sections1024 x
     65         gen_sections512 a\x
     66         gen_sections512 b\x
     67 .endm
     68 
     69 .macro gen_sections2048 x
     70         gen_sections1024 a\x
     71         gen_sections1024 b\x
     72 .endm
     73 
     74 .macro gen_sections4096 x
     75         gen_sections2048 a\x
     76         gen_sections2048 b\x
     77 .endm
     78 
     79 .macro gen_sections8192 x
     80         gen_sections4096 a\x
     81         gen_sections4096 b\x
     82 .endm
     83 
     84 .macro gen_sections16384 x
     85         gen_sections8192 a\x
     86         gen_sections8192 b\x
     87 .endm
     88 
     89 .macro gen_sections32768 x
     90         gen_sections16384 a\x
     91         gen_sections16384 b\x
     92 .endm
     93 
     94 gen_sections32768 a
     95 gen_sections16384 b
     96 gen_sections8192 c
     97 gen_sections4096 d
     98 gen_sections2048 e
     99 gen_sections1024 f
    100 gen_sections512 g
    101 gen_sections128 h
    102 gen_sections64 i
    103 gen_sections32 j
    104 gen_sections16 k
    105 gen_sections8 l
    106 gen_sections4 m
    107         .section zed
    108 .long zed
    109