Hi Ian, I configured everything from scratch again and it seems that this is reproducible. I also noticed that while running: CGO_LDFLAGS='"-g" "-O2"' /usr/gnu/libexec/gcc/sparc-sun-solaris2.10/8.2.1/cgo -debug-gcc -objdir $WORK/b001/ -importpath command-line-arguments -gccgo -- -I $WORK/b001/ -g -O2 ./sol10.go we see an error: not-type:1:33: error: '__cgo_undefined__2' undeclared (first use in this function); did you mean '__cgo_f_1_2'? Could that be an issue?
This looks awfully similar to https://github.com/golang/go/issues/18959. I also created a bug: https://github.com/golang/go/issues/27838 with all the details. Thanks, Aman On Tuesday, September 18, 2018 at 8:40:12 PM UTC-7, Ian Lance Taylor wrote: > On Tue, Sep 18, 2018 at 6:30 PM, <aman...@cohesity.com <javascript:>> > wrote: > > > > Well, that is bad news. I am not sure what to do next either. I am > setting > > up another Solaris 10 machine from scratch and then re-run this to see > if > > this can be replicated. Will get back to you if I am able to replicate. > > Should I file a big for this? > > Sure. Thanks. But since it works on Solaris 11 it doesn't seem high > priority. > > Ian > > > > On Tuesday, September 18, 2018 at 7:45:06 AM UTC-7, Ian Lance Taylor > wrote: > >> > >> Thanks for sending this. Unfortunately, I have no idea what is going > >> wrong. Everything that you sent looks as expected. At this point I > >> don't have any suggestions. > >> > >> Ian > >> > >> On Fri, Sep 14, 2018 at 6:42 PM, <aman...@cohesity.com> wrote: > >> > Hi Ian, > >> > I did you told, but I could not find --debug=all option for > readelf. > >> > However, there is --debug --all option with readelf. I am attaching > the > >> > output below: > >> > > >> > -bash-3.2$ /opt/csw/bin/greadelf --debug --all /b001/_cgo_.o > >> > ELF Header: > >> > Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00 > >> > Class: ELF32 > >> > Data: 2's complement, big endian > >> > Version: 1 (current) > >> > OS/ABI: UNIX - System V > >> > ABI Version: 0 > >> > Type: REL (Relocatable file) > >> > Machine: Sparc > >> > Version: 0x1 > >> > Entry point address: 0x0 > >> > Start of program headers: 0 (bytes into file) > >> > Start of section headers: 2000 (bytes into file) > >> > Flags: 0x0 > >> > Size of this header: 52 (bytes) > >> > Size of program headers: 0 (bytes) > >> > Number of program headers: 0 > >> > Size of section headers: 40 (bytes) > >> > Number of section headers: 20 > >> > Section header string table index: 17 > >> > > >> > Section Headers: > >> > [Nr] Name Type Addr Off Size ES > Flg > >> > Lk > >> > Inf Al > >> > [ 0] NULL 00000000 000000 000000 00 > >> > 0 > >> > 0 0 > >> > [ 1] .text PROGBITS 00000000 000034 000014 00 > AX > >> > 0 > >> > 0 4 > >> > [ 2] .rela.text RELA 00000000 000c4c 000024 0c > >> > 18 > >> > 1 4 > >> > [ 3] .data PROGBITS 00000000 000048 000020 00 > WA > >> > 0 > >> > 0 8 > >> > [ 4] .bss NOBITS 00000000 000068 000000 00 > WA > >> > 0 > >> > 0 1 > >> > [ 5] .rodata.str1.8 PROGBITS 00000000 000068 000010 01 > AMS > >> > 0 > >> > 0 8 > >> > [ 6] .debug_frame PROGBITS 00000000 000078 000020 00 > >> > 0 > >> > 0 4 > >> > [ 7] .rela.debug_frame RELA 00000000 000c70 000018 0c > >> > 18 > >> > 6 4 > >> > [ 8] .debug_info PROGBITS 00000000 000098 000290 00 > >> > 0 > >> > 0 1 > >> > [ 9] .rela.debug_info RELA 00000000 000c88 000240 0c > >> > 18 > >> > 8 4 > >> > [10] .debug_abbrev PROGBITS 00000000 000328 00011d 00 > >> > 0 > >> > 0 1 > >> > [11] .debug_aranges PROGBITS 00000000 000445 000020 00 > >> > 0 > >> > 0 1 > >> > [12] .rela.debug_arang RELA 00000000 000ec8 000018 0c > >> > 18 > >> > 11 4 > >> > [13] .debug_line PROGBITS 00000000 000465 000128 00 > >> > 0 > >> > 0 1 > >> > [14] .rela.debug_line RELA 00000000 000ee0 00000c 0c > >> > 18 > >> > 13 4 > >> > [15] .debug_str PROGBITS 00000000 00058d 00017c 01 > MS > >> > 0 > >> > 0 1 > >> > [16] .comment PROGBITS 00000000 000709 00001b 01 > MS > >> > 0 > >> > 0 1 > >> > [17] .shstrtab STRTAB 00000000 000724 0000aa 00 > >> > 0 > >> > 0 1 > >> > [18] .symtab SYMTAB 00000000 000af0 000120 10 > >> > 19 > >> > 13 4 > >> > [19] .strtab STRTAB 00000000 000c10 000039 00 > >> > 0 > >> > 0 1 > >> > Key to Flags: > >> > W (write), A (alloc), X (execute), M (merge), S (strings) > >> > I (info), L (link order), G (group), T (TLS), E (exclude), x > (unknown) > >> > O (extra OS processing required) o (OS specific), p (processor > >> > specific) > >> > > >> > There are no section groups in this file. > >> > > >> > There are no program headers in this file. > >> > > >> > Relocation section '.rela.text' at offset 0xc4c contains 3 entries: > >> > Offset Info Type Sym.Value Sym. Name + Addend > >> > 00000000 00000509 R_SPARC_HI22 00000000 .rodata.str1.8 + 0 > >> > 00000004 0000050c R_SPARC_LO10 00000000 .rodata.str1.8 + 0 > >> > 0000000c 00000e07 R_SPARC_WDISP30 00000000 printf + 0 > >> > > >> > Relocation section '.rela.debug_frame' at offset 0xc70 contains 2 > >> > entries: > >> > Offset Info Type Sym.Value Sym. Name + Addend > >> > 00000014 00000617 R_SPARC_UA32 00000000 .debug_frame + 0 > >> > 00000018 00000217 R_SPARC_UA32 00000000 .text + 0 > >> > > >> > Relocation section '.rela.debug_info' at offset 0xc88 contains 48 > >> > entries: > >> > Offset Info Type Sym.Value Sym. Name + Addend > >> > 00000006 00000817 R_SPARC_UA32 00000000 .debug_abbrev + 0 > >> > 0000000c 00000b17 R_SPARC_UA32 00000000 .debug_str + 45 > >> > 00000011 00000b17 R_SPARC_UA32 00000000 .debug_str + 10b > >> > 00000015 00000217 R_SPARC_UA32 00000000 .text + 0 > >> > 00000019 00000217 R_SPARC_UA32 00000000 .text + 14 > >> > 0000001d 00000a17 R_SPARC_UA32 00000000 .debug_line + 0 > >> > 0000002b 00000b17 R_SPARC_UA32 00000000 .debug_str + e3 > >> > 00000032 00000b17 R_SPARC_UA32 00000000 .debug_str + 13f > >> > 00000039 00000b17 R_SPARC_UA32 00000000 .debug_str + 121 > >> > 00000040 00000b17 R_SPARC_UA32 00000000 .debug_str + 14d > >> > 00000047 00000b17 R_SPARC_UA32 00000000 .debug_str + 100 > >> > 00000052 00000b17 R_SPARC_UA32 00000000 .debug_str + 1f > >> > 0000005e 00000b17 R_SPARC_UA32 00000000 .debug_str + 1f > >> > 0000006b 00000b17 R_SPARC_UA32 00000000 .debug_str + 148 > >> > 0000007a 00000b17 R_SPARC_UA32 00000000 .debug_str + de > >> > 00000089 00000b17 R_SPARC_UA32 00000000 .debug_str + 162 > >> > 00000098 00000b17 R_SPARC_UA32 00000000 .debug_str + 2c > >> > 000000a7 00000b17 R_SPARC_UA32 00000000 .debug_str + 105 > >> > 000000b6 00000b17 R_SPARC_UA32 00000000 .debug_str + 88 > >> > 000000c8 00000b17 R_SPARC_UA32 00000000 .debug_str + 96 > >> > 000000da 00000b17 R_SPARC_UA32 00000000 .debug_str + bc > >> > 000000ec 00000b17 R_SPARC_UA32 00000000 .debug_str + 0 > >> > 000000fe 00000b17 R_SPARC_UA32 00000000 .debug_str + 168 > >> > 00000110 00000b17 R_SPARC_UA32 00000000 .debug_str + f7 > >> > 0000012b 00000b17 R_SPARC_UA32 00000000 .debug_str + ae > >> > 00000130 00000b17 R_SPARC_UA32 00000000 .debug_str + 40 > >> > 0000014c 00000b17 R_SPARC_UA32 00000000 .debug_str + 26 > >> > 00000165 00000b17 R_SPARC_UA32 00000000 .debug_str + 175 > >> > 00000173 00000b17 R_SPARC_UA32 00000000 .debug_str + 32 > >> > 0000018c 00000b17 R_SPARC_UA32 00000000 .debug_str + 7d > >> > 0000019a 00000b17 R_SPARC_UA32 00000000 .debug_str + 159 > >> > 000001ae 00000b17 R_SPARC_UA32 00000000 .debug_str + f0 > >> > 000001bd 00000b17 R_SPARC_UA32 00000000 .debug_str + a7 > >> > 000001cc 00000b17 R_SPARC_UA32 00000000 .debug_str + 39 > >> > 000001db 00000b17 R_SPARC_UA32 00000000 .debug_str + 76 > >> > 000001f1 00000b17 R_SPARC_UA32 00000000 .debug_str + 136 > >> > 000001ff 00001117 R_SPARC_UA32 00000004 __cgo__0 + 0 > >> > 0000021a 00000b17 R_SPARC_UA32 00000000 .debug_str + ce > >> > 00000228 00001017 R_SPARC_UA32 00000010 __cgodebug_ints + 0 > >> > 0000023f 00000b17 R_SPARC_UA32 00000000 .debug_str + c7 > >> > 00000244 00000b17 R_SPARC_UA32 00000000 .debug_str + d > >> > 00000252 00000f17 R_SPARC_UA32 00000000 __cgodebug_floats + 0 > >> > 00000258 00000b17 R_SPARC_UA32 00000000 .debug_str + a1 > >> > 0000025f 00000217 R_SPARC_UA32 00000000 .text + 0 > >> > 00000263 00000217 R_SPARC_UA32 00000000 .text + 14 > >> > 00000270 00000217 R_SPARC_UA32 00000000 .text + 14 > >> > 00000284 00000b17 R_SPARC_UA32 00000000 .debug_str + 12f > >> > 00000288 00000b17 R_SPARC_UA32 00000000 .debug_str + 12f > >> > > >> > Relocation section '.rela.debug_aranges' at offset 0xec8 contains 2 > >> > entries: > >> > Offset Info Type Sym.Value Sym. Name + Addend > >> > 00000006 00000717 R_SPARC_UA32 00000000 .debug_info + 0 > >> > 00000010 00000217 R_SPARC_UA32 00000000 .text + 0 > >> > > >> > Relocation section '.rela.debug_line' at offset 0xee0 contains 1 > >> > entries: > >> > Offset Info Type Sym.Value Sym. Name + Addend > >> > 0000011b 00000217 R_SPARC_UA32 00000000 .text + 0 > >> > > >> > The decoding of unwind sections for machine type Sparc is not > currently > >> > supported. > >> > > >> > Symbol table '.symtab' contains 18 entries: > >> > Num: Value Size Type Bind Vis Ndx Name > >> > 0: 00000000 0 NOTYPE LOCAL DEFAULT UND > >> > 1: 00000000 0 FILE LOCAL DEFAULT ABS > >> > 2: 00000000 0 SECTION LOCAL DEFAULT 1 > >> > 3: 00000000 0 SECTION LOCAL DEFAULT 3 > >> > 4: 00000000 0 SECTION LOCAL DEFAULT 4 > >> > 5: 00000000 0 SECTION LOCAL DEFAULT 5 > >> > 6: 00000000 0 SECTION LOCAL DEFAULT 6 > >> > 7: 00000000 0 SECTION LOCAL DEFAULT 8 > >> > 8: 00000000 0 SECTION LOCAL DEFAULT 10 > >> > 9: 00000000 0 SECTION LOCAL DEFAULT 11 > >> > 10: 00000000 0 SECTION LOCAL DEFAULT 13 > >> > 11: 00000000 0 SECTION LOCAL DEFAULT 15 > >> > 12: 00000000 0 SECTION LOCAL DEFAULT 16 > >> > 13: 00000000 20 FUNC GLOBAL DEFAULT 1 testc > >> > 14: 00000000 0 NOTYPE GLOBAL DEFAULT UND printf > >> > 15: 00000000 16 OBJECT GLOBAL DEFAULT 3 __cgodebug_floats > >> > 16: 00000010 16 OBJECT GLOBAL DEFAULT 3 __cgodebug_ints > >> > 17: 00000004 4 OBJECT GLOBAL DEFAULT COM __cgo__0 > >> > > >> > No version information found in this file. > >> > Contents of the .debug_frame section: > >> > > >> > 00000000 0000000c ffffffff CIE > >> > Version: 1 > >> > Augmentation: "" > >> > Code alignment factor: 1 > >> > Data alignment factor: -4 > >> > Return address column: 15 > >> > > >> > DW_CFA_def_cfa: r14 ofs 0 > >> > > >> > 00000010 0000000c 00000000 FDE cie=00000000 pc=00000000..00000014 > >> > > >> > Contents of the .debug_info section: > >> > > >> > Compilation Unit @ offset 0x0: > >> > Length: 0x28c (32-bit) > >> > Version: 2 > >> > Abbrev Offset: 0x0 > >> > Pointer Size: 4 > >> > <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit) > >> > <c> DW_AT_producer : (indirect string, offset: 0x45): GNU > C17 > >> > 8.2.1 > >> > 20180814 -mcpu=v9 -gdwarf-2 -g -O2 > >> > <10> DW_AT_language : 12 (ANSI C99) > >> > <11> DW_AT_comp_dir : (indirect string, offset: 0x10b): > >> > /export/home/amandeep > >> > <15> DW_AT_low_pc : 0x0 > >> > <19> DW_AT_high_pc : 0x14 > >> > <1d> DW_AT_stmt_list : 0x0 > >> > <1><21>: Abbrev Number: 2 (DW_TAG_base_type) > >> > <22> DW_AT_byte_size : 4 > >> > <23> DW_AT_encoding : 5 (signed) > >> > <24> DW_AT_name : int > >> > <1><28>: Abbrev Number: 3 (DW_TAG_base_type) > >> > <29> DW_AT_byte_size : 4 > >> > <2a> DW_AT_encoding : 7 (unsigned) > >> > <2b> DW_AT_name : (indirect string, offset: 0xe3): > unsigned > >> > int > >> > <1><2f>: Abbrev Number: 3 (DW_TAG_base_type) > >> > <30> DW_AT_byte_size : 4 > >> > <31> DW_AT_encoding : 5 (signed) > >> > <32> DW_AT_name : (indirect string, offset: 0x13f): long > >> > int > >> > <1><36>: Abbrev Number: 3 (DW_TAG_base_type) > >> > <37> DW_AT_byte_size : 8 > >> > <38> DW_AT_encoding : 5 (signed) > >> > <39> DW_AT_name : (indirect string, offset: 0x121): long > >> > long > >> > int > >> > <1><3d>: Abbrev Number: 3 (DW_TAG_base_type) > >> > <3e> DW_AT_byte_size : 16 > >> > <3f> DW_AT_encoding : 4 (float) > >> > <40> DW_AT_name : (indirect string, offset: 0x14d): long > >> > double > >> > <1><44>: Abbrev Number: 3 (DW_TAG_base_type) > >> > <45> DW_AT_byte_size : 1 > >> > <46> DW_AT_encoding : 6 (signed char) > >> > <47> DW_AT_name : (indirect string, offset: 0x100): char > >> > <1><4b>: Abbrev Number: 4 (DW_TAG_pointer_type) > >> > <4c> DW_AT_byte_size : 4 > >> > <4d> DW_AT_type : <0x44> > >> > <1><51>: Abbrev Number: 5 (DW_TAG_typedef) > >> > <52> DW_AT_name : (indirect string, offset: 0x1f): > __FILE > >> > <56> DW_AT_decl_file : 3 > >> > <57> DW_AT_decl_line : 21 > >> > <58> DW_AT_decl_column : 27 > >> > <59> DW_AT_type : <0x5d> > >> > <1><5d>: Abbrev Number: 6 (DW_TAG_structure_type) > >> > <5e> DW_AT_name : (indirect string, offset: 0x1f): > __FILE > >> > <62> DW_AT_byte_size : 16 > >> > <63> DW_AT_decl_file : 2 > >> > <64> DW_AT_decl_line : 29 > >> > <65> DW_AT_decl_column : 8 > >> > <66> DW_AT_sibling : <0x122> > >> > <2><6a>: Abbrev Number: 7 (DW_TAG_member) > >> > <6b> DW_AT_name : (indirect string, offset: 0x148): _cnt > >> > <6f> DW_AT_decl_file : 2 > >> > <70> DW_AT_decl_line : 35 > >> > <71> DW_AT_decl_column : 7 > >> > <72> DW_AT_type : <0x21> > >> > <76> DW_AT_data_member_location: 2 byte block: 23 0 > >> > (DW_OP_plus_uconst: 0) > >> > <2><79>: Abbrev Number: 7 (DW_TAG_member) > >> > <7a> DW_AT_name : (indirect string, offset: 0xde): _ptr > >> > <7e> DW_AT_decl_file : 2 > >> > <7f> DW_AT_decl_line : 36 > >> > <80> DW_AT_decl_column : 17 > >> > <81> DW_AT_type : <0x122> > >> > <85> DW_AT_data_member_location: 2 byte block: 23 4 > >> > (DW_OP_plus_uconst: 4) > >> > <2><88>: Abbrev Number: 7 (DW_TAG_member) > >> > <89> DW_AT_name : (indirect string, offset: 0x162): > _base > >> > <8d> DW_AT_decl_file : 2 > >> > <8e> DW_AT_decl_line : 38 > >> > <8f> DW_AT_decl_column : 17 > >> > <90> DW_AT_type : <0x122> > >> > <94> DW_AT_data_member_location: 2 byte block: 23 8 > >> > (DW_OP_plus_uconst: 8) > >> > <2><97>: Abbrev Number: 7 (DW_TAG_member) > >> > <98> DW_AT_name : (indirect string, offset: 0x2c): _flag > >> > <9c> DW_AT_decl_file : 2 > >> > <9d> DW_AT_decl_line : 39 > >> > <9e> DW_AT_decl_column : 16 > >> > <9f> DW_AT_type : <0x128> > >> > <a3> DW_AT_data_member_location: 2 byte block: 23 c > >> > (DW_OP_plus_uconst: 12) > >> > <2><a6>: Abbrev Number: 7 (DW_TAG_member) > >> > <a7> DW_AT_name : (indirect string, offset: 0x105): > _file > >> > <ab> DW_AT_decl_file : 2 > >> > <ac> DW_AT_decl_line : 40 > >> > <ad> DW_AT_decl_column : 16 > >> > <ae> DW_AT_type : <0x128> > >> > <b2> DW_AT_data_member_location: 2 byte block: 23 d > >> > (DW_OP_plus_uconst: 13) > >> > <2><b5>: Abbrev Number: 8 (DW_TAG_member) > >> > <b6> DW_AT_name : (indirect string, offset: 0x88): > >> > __orientation > >> > <ba> DW_AT_decl_file : 2 > >> > <bb> DW_AT_decl_line : 42 > >> > <bc> DW_AT_decl_column : 11 > >> > <bd> DW_AT_type : <0x28> > >> > <c1> DW_AT_byte_size : 4 > >> > <c2> DW_AT_bit_size : 2 > >> > <c3> DW_AT_bit_offset : 16 > >> > <c4> DW_AT_data_member_location: 2 byte block: 23 c > >> > (DW_OP_plus_uconst: 12) > >> > <2><c7>: Abbrev Number: 8 (DW_TAG_member) > >> > <c8> DW_AT_name : (indirect string, offset: 0x96): > >> > __ionolock > >> > <cc> DW_AT_decl_file : 2 > >> > <cd> DW_AT_decl_line : 43 > >> > <ce> DW_AT_decl_column : 11 > >> > <cf> DW_AT_type : <0x28> > >> > <d3> DW_AT_byte_size : 4 > >> > <d4> DW_AT_bit_size : 1 > >> > <d5> DW_AT_bit_offset : 18 > >> > <d6> DW_AT_data_member_location: 2 byte block: 23 c > >> > (DW_OP_plus_uconst: 12) > >> > <2><d9>: Abbrev Number: 8 (DW_TAG_member) > >> > <da> DW_AT_name : (indirect string, offset: 0xbc): > >> > __seekable > >> > <de> DW_AT_decl_file : 2 > >> > <df> DW_AT_decl_line : 44 > >> > <e0> DW_AT_decl_column : 11 > >> > <e1> DW_AT_type : <0x28> > >> > <e5> DW_AT_byte_size : 4 > >> > <e6> DW_AT_bit_size : 1 > >> > <e7> DW_AT_bit_offset : 19 > >> > <e8> DW_AT_data_member_location: 2 byte block: 23 c > >> > (DW_OP_plus_uconst: 12) > >> > <2><eb>: Abbrev Number: 8 (DW_TAG_member) > >> > <ec> DW_AT_name : (indirect string, offset: 0x0): > >> > __extendedfd > >> > <f0> DW_AT_decl_file : 2 > >> > <f1> DW_AT_decl_line : 45 > >> > <f2> DW_AT_decl_column : 11 > >> > <f3> DW_AT_type : <0x28> > >> > <f7> DW_AT_byte_size : 4 > >> > <f8> DW_AT_bit_size : 1 > >> > <f9> DW_AT_bit_offset : 20 > >> > <fa> DW_AT_data_member_location: 2 byte block: 23 c > >> > (DW_OP_plus_uconst: 12) > >> > <2><fd>: Abbrev Number: 8 (DW_TAG_member) > >> > <fe> DW_AT_name : (indirect string, offset: 0x168): > >> > __xf_nocheck > >> > <102> DW_AT_decl_file : 2 > >> > <103> DW_AT_decl_line : 46 > >> > <104> DW_AT_decl_column : 11 > >> > <105> DW_AT_type : <0x28> > >> > <109> DW_AT_byte_size : 4 > >> > <10a> DW_AT_bit_size : 1 > >> > <10b> DW_AT_bit_offset : 21 > >> > <10c> DW_AT_data_member_location: 2 byte block: 23 c > >> > (DW_OP_plus_uconst: 12) > >> > <2><10f>: Abbrev Number: 8 (DW_TAG_member) > >> > <110> DW_AT_name : (indirect string, offset: 0xf7): > >> > __filler > >> > <114> DW_AT_decl_file : 2 > >> > <115> DW_AT_decl_line : 47 > >> > <116> DW_AT_decl_column : 11 > >> > <117> DW_AT_type : <0x28> > >> > <11b> DW_AT_byte_size : 4 > >> > <11c> DW_AT_bit_size : 10 > >> > <11d> DW_AT_bit_offset : 22 > >> > <11e> DW_AT_data_member_location: 2 byte block: 23 c > >> > (DW_OP_plus_uconst: 12) > >> > <2><121>: Abbrev Number: 0 > >> > <1><122>: Abbrev Number: 4 (DW_TAG_pointer_type) > >> > <123> DW_AT_byte_size : 4 > >> > <124> DW_AT_type : <0x128> > >> > <1><128>: Abbrev Number: 3 (DW_TAG_base_type) > >> > <129> DW_AT_byte_size : 1 > >> > <12a> DW_AT_encoding : 8 (unsigned char) > >> > <12b> DW_AT_name : (indirect string, offset: 0xae): > >> > unsigned > >> > char > >> > <1><12f>: Abbrev Number: 5 (DW_TAG_typedef) > >> > <130> DW_AT_name : (indirect string, offset: 0x40): FILE > >> > <134> DW_AT_decl_file : 4 > >> > <135> DW_AT_decl_line : 83 > >> > <136> DW_AT_decl_column : 16 > >> > <137> DW_AT_type : <0x51> > >> > <1><13b>: Abbrev Number: 9 (DW_TAG_array_type) > >> > <13c> DW_AT_type : <0x51> > >> > <140> DW_AT_sibling : <0x14b> > >> > <2><144>: Abbrev Number: 10 (DW_TAG_subrange_type) > >> > <145> DW_AT_type : <0x28> > >> > <149> DW_AT_upper_bound : 19 > >> > <2><14a>: Abbrev Number: 0 > >> > <1><14b>: Abbrev Number: 11 (DW_TAG_variable) > >> > <14c> DW_AT_name : (indirect string, offset: 0x26): > __iob > >> > <150> DW_AT_decl_file : 4 > >> > <151> DW_AT_decl_line : 155 > >> > <152> DW_AT_decl_column : 15 > >> > <153> DW_AT_type : <0x13b> > >> > <157> DW_AT_external : 1 > >> > <158> DW_AT_declaration : 1 > >> > <1><159>: Abbrev Number: 9 (DW_TAG_array_type) > >> > <15a> DW_AT_type : <0x128> > >> > <15e> DW_AT_sibling : <0x164> > >> > <2><162>: Abbrev Number: 12 (DW_TAG_subrange_type) > >> > <2><163>: Abbrev Number: 0 > >> > <1><164>: Abbrev Number: 11 (DW_TAG_variable) > >> > <165> DW_AT_name : (indirect string, offset: 0x175): > _sibuf > >> > <169> DW_AT_decl_file : 5 > >> > <16a> DW_AT_decl_line : 208 > >> > <16b> DW_AT_decl_column : 23 > >> > <16c> DW_AT_type : <0x159> > >> > <170> DW_AT_external : 1 > >> > <171> DW_AT_declaration : 1 > >> > <1><172>: Abbrev Number: 11 (DW_TAG_variable) > >> > <173> DW_AT_name : (indirect string, offset: 0x32): > _sobuf > >> > <177> DW_AT_decl_file : 5 > >> > <178> DW_AT_decl_line : 208 > >> > <179> DW_AT_decl_column : 33 > >> > <17a> DW_AT_type : <0x159> > >> > <17e> DW_AT_external : 1 > >> > <17f> DW_AT_declaration : 1 > >> > <1><180>: Abbrev Number: 9 (DW_TAG_array_type) > >> > <181> DW_AT_type : <0x122> > >> > <185> DW_AT_sibling : <0x18b> > >> > <2><189>: Abbrev Number: 12 (DW_TAG_subrange_type) > >> > <2><18a>: Abbrev Number: 0 > >> > <1><18b>: Abbrev Number: 11 (DW_TAG_variable) > >> > <18c> DW_AT_name : (indirect string, offset: 0x7d): > >> > _bufendtab > >> > <190> DW_AT_decl_file : 5 > >> > <191> DW_AT_decl_line : 240 > >> > <192> DW_AT_decl_column : 23 > >> > <193> DW_AT_type : <0x180> > >> > <197> DW_AT_external : 1 > >> > <198> DW_AT_declaration : 1 > >> > <1><199>: Abbrev Number: 11 (DW_TAG_variable) > >> > <19a> DW_AT_name : (indirect string, offset: 0x159): > >> > _lastbuf > >> > <19e> DW_AT_decl_file : 5 > >> > <19f> DW_AT_decl_line : 241 > >> > <1a0> DW_AT_decl_column : 15 > >> > <1a1> DW_AT_type : <0x1a7> > >> > <1a5> DW_AT_external : 1 > >> > <1a6> DW_AT_declaration : 1 > >> > <1><1a7>: Abbrev Number: 4 (DW_TAG_pointer_type) > >> > <1a8> DW_AT_byte_size : 4 > >> > <1a9> DW_AT_type : <0x12f> > >> > <1><1ad>: Abbrev Number: 13 (DW_TAG_variable) > >> > <1ae> DW_AT_name : (indirect string, offset: 0xf0): > optarg > >> > <1b2> DW_AT_decl_file : 5 > >> > <1b3> DW_AT_decl_line : 320 > >> > <1b5> DW_AT_decl_column : 14 > >> > <1b6> DW_AT_type : <0x4b> > >> > <1ba> DW_AT_external : 1 > >> > <1bb> DW_AT_declaration : 1 > >> > <1><1bc>: Abbrev Number: 13 (DW_TAG_variable) > >> > <1bd> DW_AT_name : (indirect string, offset: 0xa7): > optind > >> > <1c1> DW_AT_decl_file : 5 > >> > <1c2> DW_AT_decl_line : 321 > >> > <1c4> DW_AT_decl_column : 12 > >> > <1c5> DW_AT_type : <0x21> > >> > <1c9> DW_AT_external : 1 > >> > <1ca> DW_AT_declaration : 1 > >> > <1><1cb>: Abbrev Number: 13 (DW_TAG_variable) > >> > <1cc> DW_AT_name : (indirect string, offset: 0x39): > opterr > >> > <1d0> DW_AT_decl_file : 5 > >> > <1d1> DW_AT_decl_line : 321 > >> > <1d3> DW_AT_decl_column : 20 > >> > <1d4> DW_AT_type : <0x21> > >> > <1d8> DW_AT_external : 1 > >> > <1d9> DW_AT_declaration : 1 > >> > <1><1da>: Abbrev Number: 13 (DW_TAG_variable) > >> > <1db> DW_AT_name : (indirect string, offset: 0x76): > optopt > >> > <1df> DW_AT_decl_file : 5 > >> > <1e0> DW_AT_decl_line : 321 > >> > <1e2> DW_AT_decl_column : 28 > >> > <1e3> DW_AT_type : <0x21> > >> > <1e7> DW_AT_external : 1 > >> > <1e8> DW_AT_declaration : 1 > >> > <1><1e9>: Abbrev Number: 14 (DW_TAG_subroutine_type) > >> > <1ea> DW_AT_sibling : <0x1f0> > >> > <2><1ee>: Abbrev Number: 15 (DW_TAG_unspecified_parameters) > >> > <2><1ef>: Abbrev Number: 0 > >> > <1><1f0>: Abbrev Number: 16 (DW_TAG_variable) > >> > <1f1> DW_AT_name : (indirect string, offset: 0x136): > >> > __cgo__0 > >> > <1f5> DW_AT_decl_file : 6 > >> > <1f6> DW_AT_decl_line : 1 > >> > <1f7> DW_AT_decl_column : 20 > >> > <1f8> DW_AT_type : <0x203> > >> > <1fc> DW_AT_external : 1 > >> > <1fd> DW_AT_location : 5 byte block: 3 0 0 0 4 > >> > (DW_OP_addr: > >> > 4) > >> > <1><203>: Abbrev Number: 4 (DW_TAG_pointer_type) > >> > <204> DW_AT_byte_size : 4 > >> > <205> DW_AT_type : <0x1e9> > >> > <1><209>: Abbrev Number: 9 (DW_TAG_array_type) > >> > <20a> DW_AT_type : <0x36> > >> > <20e> DW_AT_sibling : <0x219> > >> > <2><212>: Abbrev Number: 10 (DW_TAG_subrange_type) > >> > <213> DW_AT_type : <0x28> > >> > <217> DW_AT_upper_bound : 1 > >> > <2><218>: Abbrev Number: 0 > >> > <1><219>: Abbrev Number: 16 (DW_TAG_variable) > >> > <21a> DW_AT_name : (indirect string, offset: 0xce): > >> > __cgodebug_ints > >> > <21e> DW_AT_decl_file : 6 > >> > <21f> DW_AT_decl_line : 2 > >> > <220> DW_AT_decl_column : 11 > >> > <221> DW_AT_type : <0x209> > >> > <225> DW_AT_external : 1 > >> > <226> DW_AT_location : 5 byte block: 3 0 0 0 10 > >> > (DW_OP_addr: > >> > 10) > >> > <1><22c>: Abbrev Number: 9 (DW_TAG_array_type) > >> > <22d> DW_AT_type : <0x23c> > >> > <231> DW_AT_sibling : <0x23c> > >> > <2><235>: Abbrev Number: 10 (DW_TAG_subrange_type) > >> > <236> DW_AT_type : <0x28> > >> > <23a> DW_AT_upper_bound : 1 > >> > <2><23b>: Abbrev Number: 0 > >> > <1><23c>: Abbrev Number: 3 (DW_TAG_base_type) > >> > <23d> DW_AT_byte_size : 8 > >> > <23e> DW_AT_encoding : 4 (float) > >> > <23f> DW_AT_name : (indirect string, offset: 0xc7): > double > >> > <1><243>: Abbrev Number: 16 (DW_TAG_variable) > >> > <244> DW_AT_name : (indirect string, offset: 0xd): > >> > __cgodebug_floats > >> > <248> DW_AT_decl_file : 6 > >> > <249> DW_AT_decl_line : 6 > >> > <24a> DW_AT_decl_column : 8 > >> > <24b> DW_AT_type : <0x22c> > >> > <24f> DW_AT_external : 1 > >> > <250> DW_AT_location : 5 byte block: 3 0 0 0 0 > >> > (DW_OP_addr: > >> > 0) > >> > <1><256>: Abbrev Number: 17 (DW_TAG_subprogram) > >> > <257> DW_AT_external : 1 > >> > <258> DW_AT_name : (indirect string, offset: 0xa1): > testc > >> > <25c> DW_AT_decl_file : 1 > >> > <25d> DW_AT_decl_line : 6 > >> > <25e> DW_AT_decl_column : 6 > >> > <25f> DW_AT_low_pc : 0x0 > >> > <263> DW_AT_high_pc : 0x14 > >> > <267> DW_AT_frame_base : 2 byte block: 7e 0 (DW_OP_breg14 > >> > (r14): > >> > 0) > >> > <26a> DW_AT_GNU_all_call_sites: 1 > >> > <26b> DW_AT_sibling : <0x281> > >> > <2><26f>: Abbrev Number: 18 (DW_TAG_GNU_call_site) > >> > <270> DW_AT_low_pc : 0x14 > >> > <274> DW_AT_GNU_tail_call: 1 > >> > <275> DW_AT_abstract_origin: <0x281> > >> > <3><279>: Abbrev Number: 19 (DW_TAG_GNU_call_site_parameter) > >> > <27a> DW_AT_location : 1 byte block: 58 (DW_OP_reg8 > >> > (r8)) > >> > <27c> DW_AT_GNU_call_site_value: 2 byte block: 78 0 > >> > (DW_OP_breg8 > >> > (r8): 0) > >> > <3><27f>: Abbrev Number: 0 > >> > <2><280>: Abbrev Number: 0 > >> > <1><281>: Abbrev Number: 20 (DW_TAG_subprogram) > >> > <282> DW_AT_external : 1 > >> > <283> DW_AT_declaration : 1 > >> > <284> DW_AT_MIPS_linkage_name: (indirect string, offset: > 0x12f): > >> > printf > >> > <288> DW_AT_name : (indirect string, offset: 0x12f): > printf > >> > <28c> DW_AT_decl_file : 4 > >> > <28d> DW_AT_decl_line : 215 > >> > <28e> DW_AT_decl_column : 12 > >> > <1><28f>: Abbrev Number: 0 > >> > > >> > Contents of the .debug_abbrev section: > >> > > >> > Number TAG (0x0) > >> > 1 DW_TAG_compile_unit [has children] > >> > DW_AT_producer DW_FORM_strp > >> > DW_AT_language DW_FORM_data1 > >> > DW_AT_comp_dir DW_FORM_strp > >> > DW_AT_low_pc DW_FORM_addr > >> > DW_AT_high_pc DW_FORM_addr > >> > DW_AT_stmt_list DW_FORM_data4 > >> > DW_AT value: 0 DW_FORM value: 0 > >> > 2 DW_TAG_base_type [no children] > >> > DW_AT_byte_size DW_FORM_data1 > >> > DW_AT_encoding DW_FORM_data1 > >> > DW_AT_name DW_FORM_string > >> > DW_AT value: 0 DW_FORM value: 0 > >> > 3 DW_TAG_base_type [no children] > >> > DW_AT_byte_size DW_FORM_data1 > >> > DW_AT_encoding DW_FORM_data1 > >> > DW_AT_name DW_FORM_strp > >> > DW_AT value: 0 DW_FORM value: 0 > >> > 4 DW_TAG_pointer_type [no children] > >> > DW_AT_byte_size DW_FORM_data1 > >> > DW_AT_type DW_FORM_ref4 > >> > DW_AT value: 0 DW_FORM value: 0 > >> > 5 DW_TAG_typedef [no children] > >> > DW_AT_name DW_FORM_strp > >> > DW_AT_decl_file DW_FORM_data1 > >> > DW_AT_decl_line DW_FORM_data1 > >> > DW_AT_decl_column DW_FORM_data1 > >> > DW_AT_type DW_FORM_ref4 > >> > DW_AT value: 0 DW_FORM value: 0 > >> > 6 DW_TAG_structure_type [has children] > >> > DW_AT_name DW_FORM_strp > >> > DW_AT_byte_size DW_FORM_data1 > >> > DW_AT_decl_file DW_FORM_data1 > >> > DW_AT_decl_line DW_FORM_data1 > >> > DW_AT_decl_column DW_FORM_data1 > >> > DW_AT_sibling DW_FORM_ref4 > >> > DW_AT value: 0 DW_FORM value: 0 > >> > 7 DW_TAG_member [no children] > >> > DW_AT_name DW_FORM_strp > >> > DW_AT_decl_file DW_FORM_data1 > >> > DW_AT_decl_line DW_FORM_data1 > >> > DW_AT_decl_column DW_FORM_data1 > >> > DW_AT_type DW_FORM_ref4 > >> > DW_AT_data_member_location DW_FORM_block1 > >> > DW_AT value: 0 DW_FORM value: 0 > >> > 8 DW_TAG_member [no children] > >> > DW_AT_name DW_FORM_strp > >> > DW_AT_decl_file DW_FORM_data1 > >> > DW_AT_decl_line DW_FORM_data1 > >> > DW_AT_decl_column DW_FORM_data1 > >> > DW_AT_type DW_FORM_ref4 > >> > DW_AT_byte_size DW_FORM_data1 > >> > DW_AT_bit_size DW_FORM_data1 > >> > DW_AT_bit_offset DW_FORM_data1 > >> > DW_AT_data_member_location DW_FORM_block1 > >> > DW_AT value: 0 DW_FORM value: 0 > >> > 9 DW_TAG_array_type [has children] > >> > DW_AT_type DW_FORM_ref4 > >> > DW_AT_sibling DW_FORM_ref4 > >> > DW_AT value: 0 DW_FORM value: 0 > >> > 10 DW_TAG_subrange_type [no children] > >> > DW_AT_type DW_FORM_ref4 > >> > DW_AT_upper_bound DW_FORM_data1 > >> > DW_AT value: 0 DW_FORM value: 0 > >> > 11 DW_TAG_variable [no children] > >> > DW_AT_name DW_FORM_strp > >> > DW_AT_decl_file DW_FORM_data1 > >> > DW_AT_decl_line DW_FORM_data1 > >> > DW_AT_decl_column DW_FORM_data1 > >> > DW_AT_type DW_FORM_ref4 > >> > DW_AT_external DW_FORM_flag > >> > DW_AT_declaration DW_FORM_flag > >> > DW_AT value: 0 DW_FORM value: 0 > >> > 12 DW_TAG_subrange_type [no children] > >> > DW_AT value: 0 DW_FORM value: 0 > >> > 13 DW_TAG_variable [no children] > >> > DW_AT_name DW_FORM_strp > >> > DW_AT_decl_file DW_FORM_data1 > >> > DW_AT_decl_line DW_FORM_data2 > >> > DW_AT_decl_column DW_FORM_data1 > >> > DW_AT_type DW_FORM_ref4 > >> > DW_AT_external DW_FORM_flag > >> > DW_AT_declaration DW_FORM_flag > >> > DW_AT value: 0 DW_FORM value: 0 > >> > 14 DW_TAG_subroutine_type [has children] > >> > DW_AT_sibling DW_FORM_ref4 > >> > DW_AT value: 0 DW_FORM value: 0 > >> > 15 DW_TAG_unspecified_parameters [no children] > >> > DW_AT value: 0 DW_FORM value: 0 > >> > 16 DW_TAG_variable [no children] > >> > DW_AT_name DW_FORM_strp > >> > DW_AT_decl_file DW_FORM_data1 > >> > DW_AT_decl_line DW_FORM_data1 > >> > DW_AT_decl_column DW_FORM_data1 > >> > DW_AT_type DW_FORM_ref4 > >> > DW_AT_external DW_FORM_flag > >> > DW_AT_location DW_FORM_block1 > >> > DW_AT value: 0 DW_FORM value: 0 > >> > 17 DW_TAG_subprogram [has children] > >> > DW_AT_external DW_FORM_flag > >> > DW_AT_name DW_FORM_strp > >> > DW_AT_decl_file DW_FORM_data1 > >> > DW_AT_decl_line DW_FORM_data1 > >> > DW_AT_decl_column DW_FORM_data1 > >> > DW_AT_low_pc DW_FORM_addr > >> > DW_AT_high_pc DW_FORM_addr > >> > DW_AT_frame_base DW_FORM_block1 > >> > DW_AT_GNU_all_call_sites DW_FORM_flag > >> > DW_AT_sibling DW_FORM_ref4 > >> > DW_AT value: 0 DW_FORM value: 0 > >> > 18 DW_TAG_GNU_call_site [has children] > >> > DW_AT_low_pc DW_FORM_addr > >> > DW_AT_GNU_tail_call DW_FORM_flag > >> > DW_AT_abstract_origin DW_FORM_ref4 > >> > DW_AT value: 0 DW_FORM value: 0 > >> > 19 DW_TAG_GNU_call_site_parameter [no children] > >> > DW_AT_location DW_FORM_block1 > >> > DW_AT_GNU_call_site_value DW_FORM_block1 > >> > DW_AT value: 0 DW_FORM value: 0 > >> > 20 DW_TAG_subprogram [no children] > >> > DW_AT_external DW_FORM_flag > >> > DW_AT_declaration DW_FORM_flag > >> > DW_AT_MIPS_linkage_name DW_FORM_strp > >> > DW_AT_name DW_FORM_strp > >> > DW_AT_decl_file DW_FORM_data1 > >> > DW_AT_decl_line DW_FORM_data1 > >> > DW_AT_decl_column DW_FORM_data1 > >> > DW_AT value: 0 DW_FORM value: 0 > >> > > >> > Contents of the .debug_aranges section: > >> > > >> > Length: 28 > >> > Version: 2 > >> > Offset into .debug_info: 0x0 > >> > Pointer Size: 4 > >> > Segment Size: 0 > >> > > >> > Address Length > >> > 00000000 00000014 > >> > 00000000 00000000 > >> > > >> > Raw dump of debug contents of section .debug_line: > >> > > >> > Offset: 0x0 > >> > Length: 292 > >> > DWARF Version: 2 > >> > Prologue Length: 268 > >> > Minimum Instruction Length: 4 > >> > Initial value of 'is_stmt': 1 > >> > Line Base: -5 > >> > Line Range: 14 > >> > Opcode Base: 13 > >> > > >> > Opcodes: > >> > Opcode 1 has 0 args > >> > Opcode 2 has 1 args > >> > Opcode 3 has 1 args > >> > Opcode 4 has 1 args > >> > Opcode 5 has 1 args > >> > Opcode 6 has 0 args > >> > Opcode 7 has 0 args > >> > Opcode 8 has 0 args > >> > Opcode 9 has 1 args > >> > Opcode 10 has 0 args > >> > Opcode 11 has 0 args > >> > Opcode 12 has 1 args > >> > > >> > The Directory Table (offset 0x1b): > >> > 1 /export/home/amandeep > >> > 2 /usr/include > >> > 3 > /usr/gnu/lib/gcc/sparc-sun-solaris2.10/8.2.1/include-fixed/iso > >> > 4 /usr/gnu/lib/gcc/sparc-sun-solaris2.10/8.2.1/include-fixed > >> > > >> > The File Name Table (offset 0xb9): > >> > Entry Dir Time Size Name > >> > 1 1 0 0 sol10.go > >> > 2 2 0 0 stdio_impl.h > >> > 3 2 0 0 stdio_tag.h > >> > 4 3 0 0 stdio_iso.h > >> > 5 4 0 0 stdio.h > >> > 6 0 0 0 cgo-dwarf-inference > >> > > >> > Line Number Statements: > >> > [0x00000116] Set column to 14 > >> > [0x00000118] Extended opcode 2: set Address to 0x0 > >> > [0x0000011f] Special opcode 10: advance Address by 0 to 0x0 and > Line > >> > by 5 > >> > to 6 > >> > [0x00000120] Set column to 5 > >> > [0x00000122] Special opcode 6: advance Address by 0 to 0x0 and > Line > >> > by 1 > >> > to 7 > >> > [0x00000123] Advance PC by 20 to 0x14 > >> > [0x00000125] Extended opcode 1: End of Sequence > >> > > >> > > >> > Contents of the .debug_str section: > >> > > >> > 0x00000000 5f5f6578 74656e64 65646664 005f5f63 __extendedfd.__c > >> > 0x00000010 676f6465 6275675f 666c6f61 7473005f godebug_floats._ > >> > 0x00000020 5f46494c 45005f5f 696f6200 5f666c61 _FILE.__iob._fla > >> > 0x00000030 67005f73 6f627566 006f7074 65727200 g._sobuf.opterr. > >> > 0x00000040 46494c45 00474e55 20433137 20382e32 FILE.GNU C17 8.2 > >> > 0x00000050 2e312032 30313830 38313420 2d6d6370 .1 20180814 -mcp > >> > 0x00000060 753d7639 202d6764 77617266 2d32202d u=v9 -gdwarf-2 - > >> > 0x00000070 67202d4f 32006f70 746f7074 005f6275 g -O2.optopt._bu > >> > 0x00000080 66656e64 74616200 5f5f6f72 69656e74 fendtab.__orient > >> > 0x00000090 6174696f 6e005f5f 696f6e6f 6c6f636b ation.__ionolock > >> > 0x000000a0 00746573 7463006f 7074696e 6400756e .testc.optind.un > >> > 0x000000b0 7369676e 65642063 68617200 5f5f7365 signed char.__se > >> > 0x000000c0 656b6162 6c650064 6f75626c 65005f5f ekable.double.__ > >> > 0x000000d0 63676f64 65627567 5f696e74 73005f70 cgodebug_ints._p > >> > 0x000000e0 74720075 6e736967 6e656420 696e7400 tr.unsigned int. > >> > 0x000000f0 6f707461 7267005f 5f66696c 6c657200 optarg.__filler. > >> > 0x00000100 63686172 005f6669 6c65002f 6578706f char._file./expo > >> > 0x00000110 72742f68 6f6d652f 616d616e 64656570 rt/home/amandeep > >> > 0x00000120 006c6f6e 67206c6f 6e672069 6e740070 .long long int.p > >> > 0x00000130 72696e74 66005f5f 63676f5f 5f30006c rintf.__cgo__0.l > >> > 0x00000140 6f6e6720 696e7400 5f636e74 006c6f6e ong int._cnt.lon > >> > 0x00000150 6720646f 75626c65 005f6c61 73746275 g double._lastbu > >> > 0x00000160 66005f62 61736500 5f5f7866 5f6e6f63 f._base.__xf_noc > >> > 0x00000170 6865636b 005f7369 62756600 heck._sibuf. > >> > > >> > > >> > Also, looks like Solaris 11 is very different than Solaris 10. Please > >> > see > >> > the prompt below where "sol10.go" is the file from the first message: > >> > > >> > amandeep@s113ldom1:~$ go build -x sol10.go > >> > WORK=/tmp/go-build038354192 > >> > mkdir -p $WORK/b001/ > >> > cat >$WORK/b001/importcfg.link << 'EOF' # internal > >> > packagefile > >> > > >> > > command-line-arguments=/home/amandeep/.cache/go-build/02/0272a12b534156aa38d92948433fc12ef8c60940db073e83182436827d642e97-d > > > >> > EOF > >> > mkdir -p $WORK/b001/exe/ > >> > cp > >> > > >> > > /home/amandeep/.cache/go-build/02/0272a12b534156aa38d92948433fc12ef8c60940db073e83182436827d642e97-d > > > >> > $WORK/b001/_pkg1_.a > >> > cd $WORK/b001/ > >> > ar x ./_pkg1_.a _cgo_flags > >> > cd . > >> > ar d $WORK/b001/_pkg1_.a _cgo_flags > >> > /usr/gnu/bin/gccgo -o $WORK/b001/exe/a.out "-Wl,-(" > -Wl,--whole-archive > >> > $WORK/b001/_pkg1_.a -Wl,--no-whole-archive "-Wl,-)" > >> > /usr/gnu/libexec/gcc/sparc-sun-solaris2.11/8.2.1/buildid -w > >> > $WORK/b001/exe/a.out # internal > >> > cp $WORK/b001/exe/a.out sol10 > >> > rm -r $WORK/b001/ > >> > > >> > > >> > On Friday, September 14, 2018 at 2:52:21 PM UTC-7, Ian Lance Taylor > >> > wrote: > >> >> > >> >> On Fri, Sep 14, 2018 at 2:16 PM, <aman...@cohesity.com> wrote: > >> >> > It would be the same. Please see below. > >> >> > > >> >> > -bash-3.2$ gcc --version > >> >> > gcc (GCC) 8.2.1 20180814 > >> >> > Copyright (C) 2018 Free Software Foundation, Inc. > >> >> > This is free software; see the source for copying conditions. > There > >> >> > is > >> >> > NO > >> >> > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR > >> >> > PURPOSE. > >> >> > >> >> > >> >> Hmmm, not sure what is happening. Especially not sure why it would > >> >> fail on Solaris 10 but work on Solaris 11, as you suggested earlier. > >> >> I have a feeling this is going to be some configuration error > >> >> somewhere. > >> >> > >> >> I guess the next step in debugging would be to run this command, > >> >> copied from your earlier message, and then look at x.o to see how > >> >> __cgo__0 is defined in the debug info. If you have the readelf > >> >> program from the GNU binutils you could run readelf --debug=all x.o. > >> >> > >> >> Ian > >> >> > >> >> > >> >> gcc -w -Wno-error -o x.o -gdwarf-2 -c -xc -I /b001/ -g -O2 - <<EOF > >> >> > >> >> #line 1 "cgo-builtin-prolog" > >> >> #include <stddef.h> /* for ptrdiff_t and size_t below */ > >> >> > >> >> /* Define intgo when compiling with GCC. */ > >> >> typedef ptrdiff_t intgo; > >> >> > >> >> typedef struct { const char *p; intgo n; } _GoString_; > >> >> typedef struct { char *p; intgo n; intgo c; } _GoBytes_; > >> >> _GoString_ GoString(char *p); > >> >> _GoString_ GoStringN(char *p, int l); > >> >> _GoBytes_ GoBytes(void *p, int n); > >> >> char *CString(_GoString_); > >> >> void *CBytes(_GoBytes_); > >> >> void *_CMalloc(size_t); > >> >> > >> >> __attribute__ ((unused)) > >> >> static size_t _GoStringLen(_GoString_ s) { return s.n; } > >> >> > >> >> __attribute__ ((unused)) > >> >> static const char *_GoStringPtr(_GoString_ s) { return s.p; } > >> >> #line 3 "/export/home/amandeep/sol10.go" > >> >> > >> >> #include <stdio.h> > >> >> > >> >> void testc() { > >> >> printf("Hello cgo"); > >> >> } > >> >> > >> >> #line 1 "cgo-generated-wrapper" > >> >> #line 1 "cgo-dwarf-inference" > >> >> __typeof__(testc) *__cgo__0; > >> >> long long __cgodebug_ints[] = { > >> >> 0, > >> >> 1 > >> >> }; > >> >> double __cgodebug_floats[] = { > >> >> 0, > >> >> 1 > >> >> }; > >> >> EOF > >> > > >> > -- > >> > You received this message because you are subscribed to the Google > >> > Groups > >> > "golang-nuts" group. > >> > To unsubscribe from this group and stop receiving emails from it, > send > >> > an > >> > email to golang-nuts...@googlegroups.com. > >> > For more options, visit https://groups.google.com/d/optout. > > > > -- > > You received this message because you are subscribed to the Google > Groups > > "golang-nuts" group. > > To unsubscribe from this group and stop receiving emails from it, send > an > > email to golang-nuts...@googlegroups.com <javascript:>. > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.