55 lines · plain
1; RUN: llc -filetype=obj -mtriple x86_64-pc-linux-gnu %s -o - | llvm-readobj -S - | FileCheck -check-prefix=64 %s2 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 10define i32 @main() nounwind {11 %1 = call i32 @puts(ptr @.str1)12 %2 = call i32 @puts(ptr @.str2)13 call void @foo(ptr @.c8a)14 call void @foo(ptr @.c8b)15 ret i32 016}17 18declare i32 @puts(ptr nocapture) nounwind19declare void @foo(ptr nocapture) nounwind20 21;;;;;22 23; 64: Section {24; 64: Name: .rodata.str1.125; 64-NEXT: Type: SHT_PROGBITS26; 64-NEXT: Flags [27; 64-NEXT: SHF_ALLOC28; 64-NEXT: SHF_MERGE29; 64-NEXT: SHF_STRINGS30; 64-NEXT: ]31; 64-NEXT: Address:32; 64-NEXT: Offset:33; 64-NEXT: Size: 1334; 64-NEXT: Link:35; 64-NEXT: Info:36; 64-NEXT: AddressAlignment: 137; 64-NEXT: EntrySize: 138; 64-NEXT: }39 40; 64: Section {41; 64: Name: .rodata.cst842; 64-NEXT: Type: SHT_PROGBITS43; 64-NEXT: Flags [44; 64-NEXT: SHF_ALLOC45; 64-NEXT: SHF_MERGE46; 64-NEXT: ]47; 64-NEXT: Address:48; 64-NEXT: Offset:49; 64-NEXT: Size: 1650; 64-NEXT: Link:51; 64-NEXT: Info:52; 64-NEXT: AddressAlignment: 853; 64-NEXT: EntrySize: 854; 64-NEXT: }55