This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug debug/41357] libgomp build fail



------- Comment #8 from davek at gcc dot gnu dot org  2009-09-15 14:07 -------
(In reply to comment #6)
> (In reply to comment #1)
> > The cause is that DW_TAG_variable references gomp_tls_data instead of
> > ___emutls_v.gomp_tls_data.
> > 
> 
>   Here's an example:

  No, that's not it, that's not it at all, sorry.  Here's the relevant part of
the debug info from iter.s in the libgomp build dir, with a bit of surrounding
context:

        .byte   0x1
        .ascii "gomp_iter_dynamic_next_locked\0"
        .byte   0x1
        .byte   0x90
        .byte   0x1
        .long   0x7c3
        .long   LFB24
        .long   LFE24
        .secrel32       LLST13
        .long   0xc77
        .uleb128 0x1d
        .secrel32       LASF4
        .byte   0x1
        .byte   0x90
        .long   0xbc2
        .secrel32       LLST14
        .uleb128 0x1e
        .ascii "pend\0"
        .byte   0x1
        .byte   0x90
        .long   0xbc2
        .secrel32       LLST15
        .uleb128 0x24
        .ascii "thr\0"
        .byte   0x1
        .byte   0x92
   vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
        .long   0xa79
        .long   _gomp_tls_data
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        .uleb128 0x25
        .ascii "ws\0"
        .byte   0x1
        .byte   0x93
        .long   0x4e7
        .byte   0x1
        .byte   0x52
        .uleb128 0x26
        .secrel32       LASF5
        .byte   0x1
        .byte   0x94
        .long   0xe0
        .byte   0x1
        .byte   0x51
        .uleb128 0x20
        .ascii "end\0"

Here's what objdump -W has to say about that:

 <1><bc8>: Abbrev Number: 28 (DW_TAG_subprogram)
    <bc9>   DW_AT_external    : 1       
    <bca>   DW_AT_name        : gomp_iter_dynamic_next_locked   
    <be8>   DW_AT_decl_file   : 1       
    <be9>   DW_AT_decl_line   : 144     
    <bea>   DW_AT_prototyped  : 1       
    <beb>   DW_AT_type        : <0x7c3> 
    <bef>   DW_AT_low_pc      : 0x250   
    <bf3>   DW_AT_high_pc     : 0x2a7   
    <bf7>   DW_AT_frame_base  : 0x1bc   (location list)
    <bfb>   DW_AT_sibling     : <0xc77> 
 <2><bff>: Abbrev Number: 29 (DW_TAG_formal_parameter)
    <c00>   DW_AT_name        : (indirect string, offset: 0x20): pstart 
    <c04>   DW_AT_decl_file   : 1       
    <c05>   DW_AT_decl_line   : 144     
    <c06>   DW_AT_type        : <0xbc2> 
    <c0a>   DW_AT_location    : 0x200   (location list)
 <2><c0e>: Abbrev Number: 30 (DW_TAG_formal_parameter)
    <c0f>   DW_AT_name        : pend    
    <c14>   DW_AT_decl_file   : 1       
    <c15>   DW_AT_decl_line   : 144     
    <c16>   DW_AT_type        : <0xbc2> 
    <c1a>   DW_AT_location    : 0x214   (location list)
 <2><c1e>: Abbrev Number: 36 (DW_TAG_variable)
    <c1f>   DW_AT_name        : thr     
    <c23>   DW_AT_decl_file   : 1       
    <c24>   DW_AT_decl_line   : 146     
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
    <c25>   DW_AT_type        : <0xa79> 
    <c29>   DW_AT_const_value : 0x0     
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (n.b. unrelocated value)
 <2><c2d>: Abbrev Number: 37 (DW_TAG_variable)
    <c2e>   DW_AT_name        : ws      
    <c31>   DW_AT_decl_file   : 1       
    <c32>   DW_AT_decl_line   : 147     
    <c33>   DW_AT_type        : <0x4e7> 
    <c37>   DW_AT_location    : 1 byte block: 52        (DW_OP_reg2)
 <2><c39>: Abbrev Number: 38 (DW_TAG_variable)
    <c3a>   DW_AT_name        : (indirect string, offset: 0x44): start  
    <c3e>   DW_AT_decl_file   : 1       
    <c3f>   DW_AT_decl_line   : 148     
    <c40>   DW_AT_type        : <0xe0>  
    <c44>   DW_AT_location    : 1 byte block: 51        (DW_OP_reg1)
 <2><c46>: Abbrev Number: 32 (DW_TAG_variable)
    <c47>   DW_AT_name        : end     
    <c4b>   DW_AT_decl_file   : 1       
    <c4c>   DW_AT_decl_line   : 148     
    <c4d>   DW_AT_type        : <0xe0>  
    <c51>   DW_AT_location    : 0x228   (location list)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41357


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]