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,  <amand...@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+unsubscr...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to