Home | History | Annotate | Download | only in ELF
      1 ; RUN: llc -filetype=obj -mtriple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s | FileCheck -check-prefix=64 %s
      2 
      3 ; Test that constant mergeable strings have sh_entsize set.
      4 
      5 @.str1 = private unnamed_addr constant [6 x i8] c"tring\00"
      6 @.str2 = private unnamed_addr constant [7 x i8] c"String\00"
      7 @.c8a = private unnamed_addr constant [1 x i64] [i64 42]
      8 @.c8b = private unnamed_addr constant [1 x i64] [i64 42]
      9 
     10 define i32 @main() nounwind {
     11   %1 = call i32 @puts(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str1, i32 0, i32 0))
     12   %2 = call i32 @puts(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str2, i32 0, i32 0))
     13   call void @foo(i64* getelementptr inbounds ([1 x i64], [1 x i64]* @.c8a, i32 0, i32 0))
     14   call void @foo(i64* getelementptr inbounds ([1 x i64], [1 x i64]* @.c8b, i32 0, i32 0))
     15   ret i32 0
     16 }
     17 
     18 declare i32 @puts(i8* nocapture) nounwind
     19 declare void @foo(i64* nocapture) nounwind
     20 
     21 ;;;;;
     22 
     23 ; 64:        Section {
     24 ; 64:          Name: .rodata.str1.1
     25 ; 64-NEXT:     Type: SHT_PROGBITS
     26 ; 64-NEXT:     Flags [
     27 ; 64-NEXT:       SHF_ALLOC
     28 ; 64-NEXT:       SHF_MERGE
     29 ; 64-NEXT:       SHF_STRINGS
     30 ; 64-NEXT:     ]
     31 ; 64-NEXT:     Address:
     32 ; 64-NEXT:     Offset:
     33 ; 64-NEXT:     Size: 13
     34 ; 64-NEXT:     Link:
     35 ; 64-NEXT:     Info:
     36 ; 64-NEXT:     AddressAlignment: 1
     37 ; 64-NEXT:     EntrySize: 1
     38 ; 64-NEXT:   }
     39 
     40 ; 64:        Section {
     41 ; 64:          Name: .rodata.cst8
     42 ; 64-NEXT:     Type: SHT_PROGBITS
     43 ; 64-NEXT:     Flags [
     44 ; 64-NEXT:       SHF_ALLOC
     45 ; 64-NEXT:       SHF_MERGE
     46 ; 64-NEXT:     ]
     47 ; 64-NEXT:     Address:
     48 ; 64-NEXT:     Offset:
     49 ; 64-NEXT:     Size: 16
     50 ; 64-NEXT:     Link:
     51 ; 64-NEXT:     Info:
     52 ; 64-NEXT:     AddressAlignment: 8
     53 ; 64-NEXT:     EntrySize: 8
     54 ; 64-NEXT:   }
     55