275 lines · plain
1# RUN: llvm-dwarfdump --all %p/Inputs/basic32.o | FileCheck %s --check-prefix=DWARF32 2# RUN: llvm-dwarfdump --all %p/Inputs/basic64.o | FileCheck %s --check-prefix=DWARF643 4## basic32.o Compiled with IBM XL C/C++ for AIX, V16.1.1.05## Compiler command: xlc basic.c -c -qdbgfmt=dwarf -g -q32 -o basic32.o6##7## basic64.o Compiled with IBM XL C/C++ for AIX, V16.1.1.08## Compiler command: xlc basic.c -c -qdbgfmt=dwarf -g -q64 -o basic64.o9##10## basic.c:11## int main(void)12## {13## return 0;14## }15 16# DWARF32: .debug_abbrev contents:17# DWARF32-NEXT: Abbrev table for offset: 0x0000000018# DWARF32-NEXT: [1] DW_TAG_compile_unit DW_CHILDREN_yes19# DWARF32-NEXT: DW_AT_name DW_FORM_string20# DWARF32-NEXT: DW_AT_stmt_list DW_FORM_data421# DWARF32-NEXT: DW_AT_low_pc DW_FORM_addr22# DWARF32-NEXT: DW_AT_high_pc DW_FORM_addr23# DWARF32-NEXT: DW_AT_language DW_FORM_data124# DWARF32-NEXT: DW_AT_comp_dir DW_FORM_string25# DWARF32-NEXT: DW_AT_producer DW_FORM_string26# DWARF32: [2] DW_TAG_base_type DW_CHILDREN_no27# DWARF32-NEXT: DW_AT_name DW_FORM_string28# DWARF32-NEXT: DW_AT_byte_size DW_FORM_data129# DWARF32-NEXT: DW_AT_encoding DW_FORM_data130# DWARF32: [3] DW_TAG_const_type DW_CHILDREN_no31# DWARF32-NEXT: DW_AT_type DW_FORM_ref432# DWARF32: [4] DW_TAG_array_type DW_CHILDREN_yes33# DWARF32-NEXT: DW_AT_sibling DW_FORM_ref434# DWARF32-NEXT: DW_AT_type DW_FORM_ref435# DWARF32: [5] DW_TAG_subrange_type DW_CHILDREN_no36# DWARF32-NEXT: DW_AT_lower_bound DW_FORM_data137# DWARF32-NEXT: DW_AT_upper_bound DW_FORM_data138# DWARF32: [6] DW_TAG_subprogram DW_CHILDREN_yes39# DWARF32-NEXT: DW_AT_name DW_FORM_string40# DWARF32-NEXT: DW_AT_low_pc DW_FORM_addr41# DWARF32-NEXT: DW_AT_high_pc DW_FORM_addr42# DWARF32-NEXT: DW_AT_prototyped DW_FORM_flag43# DWARF32-NEXT: DW_AT_calling_convention DW_FORM_data144# DWARF32-NEXT: DW_AT_decl_file DW_FORM_data145# DWARF32-NEXT: DW_AT_decl_line DW_FORM_data146# DWARF32-NEXT: DW_AT_external DW_FORM_flag47# DWARF32-NEXT: DW_AT_frame_base DW_FORM_block148# DWARF32-NEXT: DW_AT_type DW_FORM_ref449# DWARF32: [7] DW_TAG_variable DW_CHILDREN_no50# DWARF32-NEXT: DW_AT_location DW_FORM_block151# DWARF32-NEXT: DW_AT_name DW_FORM_string52# DWARF32-NEXT: DW_AT_decl_file DW_FORM_data153# DWARF32-NEXT: DW_AT_decl_line DW_FORM_data154# DWARF32-NEXT: DW_AT_type DW_FORM_ref455# DWARF32: .debug_info contents:56# DWARF32-NEXT: 0x00000000: Compile Unit: length = 0x00000094, format = DWARF32, version = 0x0003, abbr_offset = 0x0000, addr_size = 0x04 (next unit at 0x00000098)57# DWARF32: 0x0000000b: DW_TAG_compile_unit58# DWARF32: DW_AT_name ("basic.c")59# DWARF32-NEXT: DW_AT_stmt_list (0x00000000)60# DWARF32-NEXT: DW_AT_low_pc (0x00000000)61# DWARF32-NEXT: DW_AT_high_pc (0x00000080)62# DWARF32-NEXT: DW_AT_language (DW_LANG_C89)63# DWARF32-NEXT: DW_AT_comp_dir ("/")64# DWARF32-NEXT: DW_AT_producer ("IBM XL C for AIX, Version 16.1.1.0")65# DWARF32: 0x00000046: DW_TAG_base_type66# DWARF32-NEXT: DW_AT_name ("char")67# DWARF32-NEXT: DW_AT_byte_size (0x01)68# DWARF32-NEXT: DW_AT_encoding (DW_ATE_unsigned_char)69# DWARF32: 0x0000004e: DW_TAG_base_type70# DWARF32-NEXT: DW_AT_name ("int")71# DWARF32-NEXT: DW_AT_byte_size (0x04)72# DWARF32-NEXT: DW_AT_encoding (DW_ATE_signed)73# DWARF32: 0x00000055: DW_TAG_const_type74# DWARF32-NEXT: DW_AT_type (0x00000046 "char")75# DWARF32: 0x0000005a: DW_TAG_array_type76# DWARF32-NEXT: DW_AT_sibling (0x00000067)77# DWARF32-NEXT: DW_AT_type (0x00000055 "const char")78# DWARF32: 0x00000063: DW_TAG_subrange_type79# DWARF32-NEXT: DW_AT_lower_bound (0x00)80# DWARF32-NEXT: DW_AT_upper_bound (0x04)81# DWARF32: 0x00000066: NULL82# DWARF32: 0x00000067: DW_TAG_subprogram83# DWARF32-NEXT: DW_AT_name ("main")84# DWARF32-NEXT: DW_AT_low_pc (0x00000000)85# DWARF32-NEXT: DW_AT_high_pc (0x00000024)86# DWARF32-NEXT: DW_AT_prototyped (0x01)87# DWARF32-NEXT: DW_AT_calling_convention (DW_CC_program)88# DWARF32-NEXT: DW_AT_decl_file ("/basic.c")89# DWARF32-NEXT: DW_AT_decl_line (1)90# DWARF32-NEXT: DW_AT_external (0x01)91# DWARF32-NEXT: DW_AT_frame_base (DW_OP_reg1 R1)92# DWARF32-NEXT: DW_AT_type (0x0000004e "int")93# DWARF32: 0x00000080: DW_TAG_variable94# DWARF32-NEXT: DW_AT_location (DW_OP_addr 0x0)95# DWARF32-NEXT: DW_AT_name ("__func__")96# DWARF32-NEXT: DW_AT_decl_file ("/basic.c")97# DWARF32-NEXT: DW_AT_decl_line (0)98# DWARF32-NEXT: DW_AT_type (0x0000005a "const char[5]")99# DWARF32: 0x00000096: NULL100# DWARF32: 0x00000097: NULL101# DWARF32: .debug_line contents:102# DWARF32-NEXT: debug_line[0x00000000]103# DWARF32-NEXT: Line table prologue:104# DWARF32-NEXT: total_length: 0x00000042105# DWARF32-NEXT: format: DWARF32106# DWARF32-NEXT: version: 3107# DWARF32-NEXT: prologue_length: 0x0000001e108# DWARF32-NEXT: min_inst_length: 1109# DWARF32-NEXT: default_is_stmt: 1110# DWARF32-NEXT: line_base: -100111# DWARF32-NEXT: line_range: 220112# DWARF32-NEXT: opcode_base: 13113# DWARF32-NEXT: standard_opcode_lengths[DW_LNS_copy] = 0114# DWARF32-NEXT: standard_opcode_lengths[DW_LNS_advance_pc] = 1115# DWARF32-NEXT: standard_opcode_lengths[DW_LNS_advance_line] = 1116# DWARF32-NEXT: standard_opcode_lengths[DW_LNS_set_file] = 1117# DWARF32-NEXT: standard_opcode_lengths[DW_LNS_set_column] = 1118# DWARF32-NEXT: standard_opcode_lengths[DW_LNS_negate_stmt] = 0119# DWARF32-NEXT: standard_opcode_lengths[DW_LNS_set_basic_block] = 0120# DWARF32-NEXT: standard_opcode_lengths[DW_LNS_const_add_pc] = 0121# DWARF32-NEXT: standard_opcode_lengths[DW_LNS_fixed_advance_pc] = 1122# DWARF32-NEXT: standard_opcode_lengths[DW_LNS_set_prologue_end] = 0123# DWARF32-NEXT: standard_opcode_lengths[DW_LNS_set_epilogue_begin] = 0124# DWARF32-NEXT: standard_opcode_lengths[DW_LNS_set_isa] = 1125# DWARF32-NEXT: file_names[ 1]:126# DWARF32-NEXT: name: "basic.c"127# DWARF32-NEXT: dir_index: 0128# DWARF32-NEXT: mod_time: 0x00000000129# DWARF32-NEXT: length: 0x00000000130# DWARF32: Address Line Column File ISA Discriminator OpIndex Flags131# DWARF32-NEXT: ------------------ ------ ------ ------ --- ------------- ------- -------------132# DWARF32-NEXT: 0x0000000000000000 1 0 1 0 0 0 is_stmt133# DWARF32-NEXT: 0x0000000000000004 3 0 1 0 0 0 is_stmt134# DWARF32-NEXT: 0x0000000000000008 4 0 1 0 0 0 is_stmt135# DWARF32-NEXT: 0x0000000000000080 4 0 1 0 0 0 is_stmt end_sequence136# DWARF32: .debug_pubnames contents:137# DWARF32-NEXT: length = 0x00000017, format = DWARF32, version = 0x0002, unit_offset = 0x00000000, unit_size = 0x00000098138# DWARF32-NEXT: Offset Name139# DWARF32-NEXT: 0x00000067 "main"140# DWARF32: .debug_pubtypes contents:141# DWARF32-NEXT: length = 0x0000001f, format = DWARF32, version = 0x0002, unit_offset = 0x00000000, unit_size = 0x00000098142# DWARF32-NEXT: Offset Name143# DWARF32-NEXT: 0x0000004e "int"144# DWARF32-NEXT: 0x00000046 "char"145 146# DWARF64: .debug_abbrev contents:147# DWARF64-NEXT: Abbrev table for offset: 0x00000000148# DWARF64-NEXT: [1] DW_TAG_compile_unit DW_CHILDREN_yes149# DWARF64-NEXT: DW_AT_name DW_FORM_string150# DWARF64-NEXT: DW_AT_stmt_list DW_FORM_data8151# DWARF64-NEXT: DW_AT_low_pc DW_FORM_addr152# DWARF64-NEXT: DW_AT_high_pc DW_FORM_addr153# DWARF64-NEXT: DW_AT_language DW_FORM_data1154# DWARF64-NEXT: DW_AT_comp_dir DW_FORM_string155# DWARF64-NEXT: DW_AT_producer DW_FORM_string156# DWARF64: [2] DW_TAG_base_type DW_CHILDREN_no157# DWARF64-NEXT: DW_AT_name DW_FORM_string158# DWARF64-NEXT: DW_AT_byte_size DW_FORM_data1159# DWARF64-NEXT: DW_AT_encoding DW_FORM_data1160# DWARF64: [3] DW_TAG_const_type DW_CHILDREN_no161# DWARF64-NEXT: DW_AT_type DW_FORM_ref8162# DWARF64: [4] DW_TAG_array_type DW_CHILDREN_yes163# DWARF64-NEXT: DW_AT_sibling DW_FORM_ref8164# DWARF64-NEXT: DW_AT_type DW_FORM_ref8165# DWARF64: [5] DW_TAG_subrange_type DW_CHILDREN_no166# DWARF64-NEXT: DW_AT_lower_bound DW_FORM_data1167# DWARF64-NEXT: DW_AT_upper_bound DW_FORM_data1168# DWARF64: [6] DW_TAG_subprogram DW_CHILDREN_yes169# DWARF64-NEXT: DW_AT_name DW_FORM_string170# DWARF64-NEXT: DW_AT_low_pc DW_FORM_addr171# DWARF64-NEXT: DW_AT_high_pc DW_FORM_addr172# DWARF64-NEXT: DW_AT_prototyped DW_FORM_flag173# DWARF64-NEXT: DW_AT_calling_convention DW_FORM_data1174# DWARF64-NEXT: DW_AT_decl_file DW_FORM_data1175# DWARF64-NEXT: DW_AT_decl_line DW_FORM_data1176# DWARF64-NEXT: DW_AT_external DW_FORM_flag177# DWARF64-NEXT: DW_AT_frame_base DW_FORM_block1178# DWARF64-NEXT: DW_AT_type DW_FORM_ref8179# DWARF64: [7] DW_TAG_variable DW_CHILDREN_no180# DWARF64-NEXT: DW_AT_location DW_FORM_block1181# DWARF64-NEXT: DW_AT_name DW_FORM_string182# DWARF64-NEXT: DW_AT_decl_file DW_FORM_data1183# DWARF64-NEXT: DW_AT_decl_line DW_FORM_data1184# DWARF64-NEXT: DW_AT_type DW_FORM_ref8185# DWARF64: .debug_info contents:186# DWARF64-NEXT: 0x00000000: Compile Unit: length = 0x00000000000000c4, format = DWARF64, version = 0x0003, abbr_offset = 0x0000, addr_size = 0x08 (next unit at 0x000000d0)187# DWARF64: 0x00000017: DW_TAG_compile_unit188# DWARF64-NEXT: DW_AT_name ("basic.c")189# DWARF64-NEXT: DW_AT_stmt_list (0x0000000000000000)190# DWARF64-NEXT: DW_AT_low_pc (0x0000000000000000)191# DWARF64-NEXT: DW_AT_high_pc (0x0000000000000080)192# DWARF64-NEXT: DW_AT_language (DW_LANG_C89)193# DWARF64-NEXT: DW_AT_comp_dir ("/")194# DWARF64-NEXT: DW_AT_producer ("IBM XL C for AIX, Version 16.1.1.0")195# DWARF64: 0x0000005e: DW_TAG_base_type196# DWARF64-NEXT: DW_AT_name ("char")197# DWARF64-NEXT: DW_AT_byte_size (0x01)198# DWARF64-NEXT: DW_AT_encoding (DW_ATE_unsigned_char)199# DWARF64: 0x00000066: DW_TAG_base_type200# DWARF64-NEXT: DW_AT_name ("int")201# DWARF64-NEXT: DW_AT_byte_size (0x04)202# DWARF64-NEXT: DW_AT_encoding (DW_ATE_signed)203# DWARF64: 0x0000006d: DW_TAG_const_type204# DWARF64-NEXT: DW_AT_type (0x0000005e "char")205# DWARF64: 0x00000076: DW_TAG_array_type206# DWARF64-NEXT: DW_AT_sibling (0x0000008b)207# DWARF64-NEXT: DW_AT_type (0x0000006d "const char")208# DWARF64: 0x00000087: DW_TAG_subrange_type209# DWARF64-NEXT: DW_AT_lower_bound (0x00)210# DWARF64-NEXT: DW_AT_upper_bound (0x04)211# DWARF64: 0x0000008a: NULL212# DWARF64: 0x0000008b: DW_TAG_subprogram213# DWARF64-NEXT: DW_AT_name ("main")214# DWARF64-NEXT: DW_AT_low_pc (0x0000000000000000)215# DWARF64-NEXT: DW_AT_high_pc (0x0000000000000024)216# DWARF64-NEXT: DW_AT_prototyped (0x01)217# DWARF64-NEXT: DW_AT_calling_convention (DW_CC_program)218# DWARF64-NEXT: DW_AT_decl_file ("/basic.c")219# DWARF64-NEXT: DW_AT_decl_line (1)220# DWARF64-NEXT: DW_AT_external (0x01)221# DWARF64-NEXT: DW_AT_frame_base (DW_OP_reg1 X1)222# DWARF64-NEXT: DW_AT_type (0x00000066 "int")223# DWARF64: 0x000000b0: DW_TAG_variable224# DWARF64-NEXT: DW_AT_location (DW_OP_addr 0x0)225# DWARF64-NEXT: DW_AT_name ("__func__")226# DWARF64-NEXT: DW_AT_decl_file ("/basic.c")227# DWARF64-NEXT: DW_AT_decl_line (0)228# DWARF64-NEXT: DW_AT_type (0x00000076 "const char[5]")229# DWARF64: 0x000000ce: NULL230# DWARF64: 0x000000cf: NULL231# DWARF64: .debug_line contents:232# DWARF64-NEXT: debug_line[0x00000000]233# DWARF64-NEXT: Line table prologue:234# DWARF64-NEXT: total_length: 0x000000000000004a235# DWARF64-NEXT: format: DWARF64236# DWARF64-NEXT: version: 3237# DWARF64-NEXT: prologue_length: 0x000000000000001e238# DWARF64-NEXT: min_inst_length: 1239# DWARF64-NEXT: default_is_stmt: 1240# DWARF64-NEXT: line_base: -100241# DWARF64-NEXT: line_range: 220242# DWARF64-NEXT: opcode_base: 13243# DWARF64-NEXT: standard_opcode_lengths[DW_LNS_copy] = 0244# DWARF64-NEXT: standard_opcode_lengths[DW_LNS_advance_pc] = 1245# DWARF64-NEXT: standard_opcode_lengths[DW_LNS_advance_line] = 1246# DWARF64-NEXT: standard_opcode_lengths[DW_LNS_set_file] = 1247# DWARF64-NEXT: standard_opcode_lengths[DW_LNS_set_column] = 1248# DWARF64-NEXT: standard_opcode_lengths[DW_LNS_negate_stmt] = 0249# DWARF64-NEXT: standard_opcode_lengths[DW_LNS_set_basic_block] = 0250# DWARF64-NEXT: standard_opcode_lengths[DW_LNS_const_add_pc] = 0251# DWARF64-NEXT: standard_opcode_lengths[DW_LNS_fixed_advance_pc] = 1252# DWARF64-NEXT: standard_opcode_lengths[DW_LNS_set_prologue_end] = 0253# DWARF64-NEXT: standard_opcode_lengths[DW_LNS_set_epilogue_begin] = 0254# DWARF64-NEXT: standard_opcode_lengths[DW_LNS_set_isa] = 1255# DWARF64-NEXT: file_names[ 1]:256# DWARF64-NEXT: name: "basic.c"257# DWARF64-NEXT: dir_index: 0258# DWARF64-NEXT: mod_time: 0x00000000259# DWARF64-NEXT: length: 0x00000000260# DWARF64: Address Line Column File ISA Discriminator OpIndex Flags261# DWARF64-NEXT: ------------------ ------ ------ ------ --- ------------- ------- -------------262# DWARF64-NEXT: 0x0000000000000000 1 0 1 0 0 0 is_stmt263# DWARF64-NEXT: 0x0000000000000004 3 0 1 0 0 0 is_stmt264# DWARF64-NEXT: 0x0000000000000008 4 0 1 0 0 0 is_stmt265# DWARF64-NEXT: 0x0000000000000080 4 0 1 0 0 0 is_stmt end_sequence266# DWARF64: .debug_pubnames contents:267# DWARF64-NEXT: length = 0x0000000000000027, format = DWARF64, version = 0x0002, unit_offset = 0x0000000000000000, unit_size = 0x00000000000000d0268# DWARF64-NEXT: Offset Name269# DWARF64-NEXT: 0x000000000000008b "main"270# DWARF64: .debug_pubtypes contents:271# DWARF64-NEXT: length = 0x0000000000000033, format = DWARF64, version = 0x0002, unit_offset = 0x0000000000000000, unit_size = 0x00000000000000d0272# DWARF64-NEXT: Offset Name273# DWARF64-NEXT: 0x0000000000000066 "int"274# DWARF64-NEXT: 0x000000000000005e "char"275