This is the mail archive of the binutils@sourceware.org mailing list for the binutils 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]

Bugs in s12z test suite.


I'm trying to triage the bugs which "make check" is complaining about in
s12z and could use some help understanding what's going on.

Running objdump -Wi on tmpdir/dw2-1-compressed.o

gives:

Contents of the .debug_info section:

  Compilation Unit @ offset 0x0:
   Length:        0x4e (32-bit)
   Version:       2
   Abbrev Offset: 0x0
   Pointer Size:  4
 <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
    <c>   DW_AT_stmt_list   : 0x0
    <10>   DW_AT_high_pc     : 0x10
    <14>   DW_AT_low_pc      : 0x8
...

whereas the test expects:

  Compilation Unit @ offset 0x0:
   Length:        0x4e (32-bit)
   Version:       2
   Abbrev Offset: 0x0
   Pointer Size:  4
 <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
    <c>   DW_AT_stmt_list   : 0x0
    <10>   DW_AT_high_pc     : 0x8
    <14>   DW_AT_low_pc      : 0x4


Note that these last two values are double what the test wants.

Using gdb to investigate it seems that objdump is calling apply_reloc on
these values.   This is wrong isn't it?

What is happening is that the datum is read (it's value is say 0x4) and
the reloc is applied (the addend is 0x4) so the result 0x8 and in general
many (all) of these test failures result from the value being double what
the test expects.

Why is the reloc being applied by objdump?  The value was relocated when
the  file was written.  It's not apppropriate for it to be relocated again.
Or have I missed something?

Can someone explain to me what's going on?

J'



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