Home | History | Annotate | Download | only in ELF
      1 // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s | FileCheck  %s
      2 
      3 // Test that mergeable constants have sh_entsize set.
      4 
      5 // 1 byte strings
      6     .section	.rodata.str1.1,"aMS",@progbits,1
      7 
      8     .type	.L.str1,@object         # @.str1
      9 .L.str1:
     10 	.asciz	 "tring"
     11 	.size	.L.str1, 6
     12 
     13 	.type	.L.str2,@object         # @.str2
     14 .L.str2:
     15 	.asciz	 "String"
     16 	.size	.L.str2, 7
     17 
     18 // 2 byte strings
     19     .section	.rodata.str2.1,"aMS",@progbits,2
     20 	.type	.L.str3,@object         # @.str3
     21 .L.str3:
     22 	.asciz	 "L\000o\000n\000g\000"
     23 	.size	.L.str3, 9
     24 
     25 	.type	.L.str4,@object         # @.str4
     26 .L.str4:
     27 	.asciz	 "o\000n\000g\000"
     28 	.size	.L.str4, 7
     29 
     30  // 8 byte constants
     31     .section	.rodata.cst8,"aM",@progbits,8
     32     .quad 42
     33     .quad 42
     34 
     35 // CHECK:        Section {
     36 // CHECK:          Index: 4
     37 // CHECK-NEXT:     Name: .rodata.str1.1
     38 // CHECK-NEXT:     Type: SHT_PROGBITS
     39 // CHECK-NEXT:     Flags [
     40 // CHECK-NEXT:       SHF_ALLOC
     41 // CHECK-NEXT:       SHF_MERGE
     42 // CHECK-NEXT:       SHF_STRINGS
     43 // CHECK-NEXT:     ]
     44 // CHECK-NEXT:     Address:
     45 // CHECK-NEXT:     Offset:
     46 // CHECK-NEXT:     Size: 13
     47 // CHECK-NEXT:     Link:
     48 // CHECK-NEXT:     Info:
     49 // CHECK-NEXT:     AddressAlignment: 1
     50 // CHECK-NEXT:     EntrySize: 1
     51 // CHECK-NEXT:   }
     52 // CHECK:        Section {
     53 // CHECK:          Index: 5
     54 // CHECK-NEXT:     Name: .rodata.str2.1
     55 // CHECK-NEXT:     Type: SHT_PROGBITS
     56 // CHECK-NEXT:     Flags [
     57 // CHECK-NEXT:       SHF_ALLOC
     58 // CHECK-NEXT:       SHF_MERGE
     59 // CHECK-NEXT:       SHF_STRINGS
     60 // CHECK-NEXT:     ]
     61 // CHECK-NEXT:     Address:
     62 // CHECK-NEXT:     Offset:
     63 // CHECK-NEXT:     Size: 16
     64 // CHECK-NEXT:     Link:
     65 // CHECK-NEXT:     Info:
     66 // CHECK-NEXT:     AddressAlignment: 1
     67 // CHECK-NEXT:     EntrySize: 2
     68 // CHECK-NEXT:   }
     69 // CHECK:        Section {
     70 // CHECK:          Index: 6
     71 // CHECK-NEXT:     Name: .rodata.cst8
     72 // CHECK-NEXT:     Type: SHT_PROGBITS
     73 // CHECK-NEXT:     Flags [
     74 // CHECK-NEXT:       SHF_ALLOC
     75 // CHECK-NEXT:       SHF_MERGE
     76 // CHECK-NEXT:     ]
     77 // CHECK-NEXT:     Address:
     78 // CHECK-NEXT:     Offset:
     79 // CHECK-NEXT:     Size: 16
     80 // CHECK-NEXT:     Link:
     81 // CHECK-NEXT:     Info:
     82 // CHECK-NEXT:     AddressAlignment: 1
     83 // CHECK-NEXT:     EntrySize: 8
     84 // CHECK-NEXT:   }
     85