brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.0 KiB · d53f2bd Raw
162 lines · plain
1; RUN: rm -rf %t2; RUN: mkdir %t3; RUN: cd %t4; RUN: llvm-mc -dwarf-version=5 -filetype=obj -triple x86_64-unknown-linux %p/Inputs/dwarf5-df-debug-names-main.s \5; RUN: -split-dwarf-file=main.dwo -o main.o6; RUN: llvm-mc -dwarf-version=5 -filetype=obj -triple x86_64-unknown-linux %p/Inputs/dwarf5-df-debug-names-helper.s \7; RUN: -split-dwarf-file=helper.dwo -o helper.o8; RUN: %clang %cflags -gdwarf-5 -gsplit-dwarf=split main.o helper.o -o main.exe9; RUN: llvm-bolt main.exe -o main.exe.bolt --update-debug-sections10; RUN: llvm-dwarfdump --debug-info --debug-names main.exe.bolt > log.txt11; RUN: cat log.txt | FileCheck -check-prefix=BOLT %s12 13;; Tests that BOLT correctly generates .debug_names section with two CUs for split dwarf.14 15; BOLT: [[OFFSET:0x[0-9a-f]*]]: Compile Unit16; BOLT: [[OFFSET1:0x[0-9a-f]*]]: Compile Unit17; BOLT:       Name Index @ 0x0 {18; BOLT-NEXT:   Header {19; BOLT-NEXT:     Length: 0xFC20; BOLT-NEXT:     Format: DWARF3221; BOLT-NEXT:     Version: 522; BOLT-NEXT:     CU count: 223; BOLT-NEXT:     Local TU count: 024; BOLT-NEXT:     Foreign TU count: 025; BOLT-NEXT:     Bucket count: 726; BOLT-NEXT:     Name count: 727; BOLT-NEXT:     Abbreviations table size: 0x2928; BOLT-NEXT:     Augmentation: 'BOLT'29; BOLT-NEXT:   }30; BOLT-NEXT:   Compilation Unit offsets [31; BOLT-NEXT:     CU[0]: [[OFFSET]]32; BOLT-NEXT:     CU[1]: [[OFFSET1]]33; BOLT-NEXT:   ]34; BOLT-NEXT:   Abbreviations [35; BOLT-NEXT:     Abbreviation [[ABBREV1:0x[0-9a-f]*]] {36; BOLT-NEXT:       Tag: DW_TAG_structure_type37; BOLT-NEXT:       DW_IDX_compile_unit: DW_FORM_data138; BOLT-NEXT:       DW_IDX_die_offset: DW_FORM_ref439; BOLT-NEXT:       DW_IDX_parent: DW_FORM_flag_present40; BOLT-NEXT:     }41; BOLT-NEXT:     Abbreviation [[ABBREV2:0x[0-9a-f]*]] {42; BOLT-NEXT:       Tag: DW_TAG_base_type43; BOLT-NEXT:       DW_IDX_compile_unit: DW_FORM_data144; BOLT-NEXT:       DW_IDX_die_offset: DW_FORM_ref445; BOLT-NEXT:       DW_IDX_parent: DW_FORM_flag_present46; BOLT-NEXT:     }47; BOLT-NEXT:     Abbreviation [[ABBREV3:0x[0-9a-f]*]] {48; BOLT-NEXT:       Tag: DW_TAG_variable49; BOLT-NEXT:       DW_IDX_compile_unit: DW_FORM_data150; BOLT-NEXT:       DW_IDX_die_offset: DW_FORM_ref451; BOLT-NEXT:       DW_IDX_parent: DW_FORM_flag_present52; BOLT-NEXT:     }53; BOLT-NEXT:     Abbreviation [[ABBREV4:0x[0-9a-f]*]] {54; BOLT-NEXT:       Tag: DW_TAG_subprogram55; BOLT-NEXT:       DW_IDX_compile_unit: DW_FORM_data156; BOLT-NEXT:       DW_IDX_die_offset: DW_FORM_ref457; BOLT-NEXT:       DW_IDX_parent: DW_FORM_flag_present58; BOLT-NEXT:     }59; BOLT-NEXT:   ]60; BOLT-NEXT:   Bucket 0 [61; BOLT-NEXT:     EMPTY62; BOLT-NEXT:   ]63; BOLT-NEXT:   Bucket 1 [64; BOLT-NEXT:     Name 1 {65; BOLT-NEXT:       Hash: 0x7C96E4DB66; BOLT-NEXT:       String: {{.+}} "Foo2"67; BOLT-NEXT:       Entry @ {{.+}} {68; BOLT-NEXT:         Abbrev: [[ABBREV1]]69; BOLT-NEXT:         Tag: DW_TAG_structure_type70; BOLT-NEXT:         DW_IDX_compile_unit: 0x0071; BOLT-NEXT:         DW_IDX_die_offset: 0x0000006872; BOLT-NEXT:         DW_IDX_parent: <parent not indexed>73; BOLT-NEXT:       }74; BOLT-NEXT:     }75; BOLT-NEXT:   ]76; BOLT-NEXT:   Bucket 2 [77; BOLT-NEXT:     Name 2 {78; BOLT-NEXT:       Hash: 0xBA56484679; BOLT-NEXT:       String: {{.+}} "Foo2Int"80; BOLT-NEXT:       Entry @ {{.+}} {81; BOLT-NEXT:         Abbrev: [[ABBREV1]]82; BOLT-NEXT:         Tag: DW_TAG_structure_type83; BOLT-NEXT:         DW_IDX_compile_unit: 0x0184; BOLT-NEXT:         DW_IDX_die_offset: 0x0000002585; BOLT-NEXT:         DW_IDX_parent: <parent not indexed>86; BOLT-NEXT:       }87; BOLT-NEXT:     }88; BOLT-NEXT:   ]89; BOLT-NEXT:   Bucket 3 [90; BOLT-NEXT:     Name 3 {91; BOLT-NEXT:       Hash: 0xB88803092; BOLT-NEXT:       String: {{.+}} "int"93; BOLT-NEXT:       Entry @ {{.+}} {94; BOLT-NEXT:         Abbrev: [[ABBREV2]]95; BOLT-NEXT:         Tag: DW_TAG_base_type96; BOLT-NEXT:         DW_IDX_compile_unit: 0x0197; BOLT-NEXT:         DW_IDX_die_offset: 0x0000004398; BOLT-NEXT:         DW_IDX_parent: <parent not indexed>99; BOLT-NEXT:       }100; BOLT-NEXT:       Entry @ {{.+}} {101; BOLT-NEXT:         Abbrev: [[ABBREV2]]102; BOLT-NEXT:         Tag: DW_TAG_base_type103; BOLT-NEXT:         DW_IDX_compile_unit: 0x00104; BOLT-NEXT:         DW_IDX_die_offset: 0x00000056105; BOLT-NEXT:         DW_IDX_parent: <parent not indexed>106; BOLT-NEXT:       }107; BOLT-NEXT:     }108; BOLT-NEXT:     Name 4 {109; BOLT-NEXT:       Hash: 0xF73809C110; BOLT-NEXT:       String: {{.+}} "Foo2a"111; BOLT-NEXT:       Entry @ {{.+}} {112; BOLT-NEXT:         Abbrev: [[ABBREV1]]113; BOLT-NEXT:         Tag: DW_TAG_structure_type114; BOLT-NEXT:         DW_IDX_compile_unit: 0x00115; BOLT-NEXT:         DW_IDX_die_offset: 0x00000078116; BOLT-NEXT:         DW_IDX_parent: <parent not indexed>117; BOLT-NEXT:       }118; BOLT-NEXT:     }119; BOLT-NEXT:     Name 5 {120; BOLT-NEXT:       Hash: 0x7C96CB76121; BOLT-NEXT:       String: {{.+}} "fint"122; BOLT-NEXT:       Entry @ {{.+}} {123; BOLT-NEXT:         Abbrev: [[ABBREV3]]124; BOLT-NEXT:         Tag: DW_TAG_variable125; BOLT-NEXT:         DW_IDX_compile_unit: 0x01126; BOLT-NEXT:         DW_IDX_die_offset: 0x0000001a127; BOLT-NEXT:         DW_IDX_parent: <parent not indexed>128; BOLT-NEXT:       }129; BOLT-NEXT:     }130; BOLT-NEXT:     Name 6 {131; BOLT-NEXT:       Hash: 0x7C9A7F6A132; BOLT-NEXT:       String: {{.+}} "main"133; BOLT-NEXT:       Entry @ {{.+}} {134; BOLT-NEXT:         Abbrev: [[ABBREV4]]135; BOLT-NEXT:         Tag: DW_TAG_subprogram136; BOLT-NEXT:         DW_IDX_compile_unit: 0x00137; BOLT-NEXT:         DW_IDX_die_offset: 0x0000001a138; BOLT-NEXT:         DW_IDX_parent: <parent not indexed>139; BOLT-NEXT:       }140; BOLT-NEXT:     }141; BOLT-NEXT:   ]142; BOLT-NEXT:   Bucket 4 [143; BOLT-NEXT:     EMPTY144; BOLT-NEXT:   ]145; BOLT-NEXT:   Bucket 5 [146; BOLT-NEXT:     Name 7 {147; BOLT-NEXT:       Hash: 0x7C952063148; BOLT-NEXT:       String: {{.+}} "char"149; BOLT-NEXT:       Entry @ {{.+}} {150; BOLT-NEXT:         Abbrev: [[ABBREV2]]151; BOLT-NEXT:         Tag: DW_TAG_base_type152; BOLT-NEXT:         DW_IDX_compile_unit: 0x00153; BOLT-NEXT:         DW_IDX_die_offset: 0x00000064154; BOLT-NEXT:         DW_IDX_parent: <parent not indexed>155; BOLT-NEXT:       }156; BOLT-NEXT:     }157; BOLT-NEXT:   ]158; BOLT-NEXT:   Bucket 6 [159; BOLT-NEXT:     EMPTY160; BOLT-NEXT:   ]161; BOLT-NEXT: }162