Re: The strange ever-changing structure :)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



CCing dwarves ML

Em Mon, May 12, 2008 at 07:29:17PM +0200, Diego 'Flameeyes' Pettenò escreveu:
> http://www.flameeyes.eu/tmp/dwarves-strange.tbz2
> 
> The rest of the differences are correct, I'm doing some micro-optimisation to 
> the code, but this:
> 
> ../../../src/xine-engine/alphablend.c:
>   struct header_s |  -24
>     data
>      from: uint8_t *             /*     8(0)    48(0) */
>      to:   uint8_t *             /*     8(0)    24(0) */
>  1 struct changed
> 
> 
> I always find in my codiff outputs...

Using readelf we can see that we have two header_s definitions:

One that is local to the blend_yuy2_grow_extra_data function and has 32
bytes:

 <2><5d2b2>: Abbrev Number: 19 (DW_TAG_structure_type)
    <5d2b3>   DW_AT_name        : (indirect string, offset: 0x79c6): header_s   
    <5d2b7>   DW_AT_byte_size   : 32    
    <5d2b8>   DW_AT_decl_file   : 1     
    <5d2b9>   DW_AT_decl_line   : 1549  
    <5d2bb>   DW_AT_sibling     : <0x5d2ec>

And another, that is local to the blend_yuv_grow_extra_data function and
that has 56 bytes.

 <2><5d401>: Abbrev Number: 19 (DW_TAG_structure_type)
    <5d402>   DW_AT_name        : (indirect string, offset: 0x79c6): header_s   
    <5d406>   DW_AT_byte_size   : 56    
    <5d407>   DW_AT_decl_file   : 1     
    <5d408>   DW_AT_decl_line   : 1107  
    <5d40a>   DW_AT_sibling     : <0x5d43b> 

I'm now thinking on how to properly support this... I think that the
data structures in libdwarves are in the right shape, i.e. these structs
already are in separate namespaces, I'll check now how pahole/codiff are
handling this.

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe dwarves" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux