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]

Re: alpha-linux gas testsuite failure


On 09/16/2010 10:13 PM, Alan Modra wrote:
> Hi Richard,
>   In case you haven't noticed, alpha-linux is failing one gas test.
> 
> ../as-new   -o dump.o /src/binutils-current/gas/testsuite/gas/elf/dwarf2-2.s
> Executing on host: sh -c {../as-new   -o dump.o /src/binutils-current/gas/testsuite/gas/elf/dwarf2-2.s 2>&1}  /dev/null gas.out (tim
> spawn [open ...]
> /home/alan/build/gas/alpha-linux/gas/testsuite/../../binutils/readelf  -w dump.o
> Executing on host: sh -c {/home/alan/build/gas/alpha-linux/gas/testsuite/../../binutils/readelf  -w dump.o >dump.out 2>gas.stderr}  
> spawn [open ...]
> regexp_diff match failure
> regexp "^    <10>   DW_AT_high_pc     : 0x.     $"
> line   "    <10>   DW_AT_high_pc     : 0x10     "
> regexp_diff match failure
> regexp "^    <44>   DW_AT_high_pc     : 0x.     $"
> line   "    <44>   DW_AT_high_pc     : 0x10     "
> FAIL: DWARF2 2
> 
> It's not just a testsuite oddity.  Relocs are being generated against
> a local symbol and the value of the sym is also appearing in the
> addend.  Since you don't use bfd_elf_generic_reloc on alpha, you get
> to write lots of horrible stuff in tc_gen_reloc and/or md_apply_fix to
> work around bfd_install_relocation brain damage..
> 

I don't see this failure.  I'm not even sure I'm getting that far.

First off, --nocompress-debug-sections doesn't work.  I still get

  [ 8] .zdebug_abbrev    PROGBITS         0000000000000000  000000dc
       000000000000004d  0000000000000000           0     0     1

At present all I can get is

$ ../../binutils/readelf -wi dump.o
Contents of the .debug_info section:

  Compilation Unit @ offset 0x0:
   Length:        0x4e (32-bit)
   Version:       2
   Abbrev Offset: 0
   Pointer Size:  4
 <0><b>: Abbrev Number: 1
readelf: Warning: DIE at offset b refers to abbreviation number 1 which does not exist

But the relocations themselves appear sane:

Relocation section '.rela.debug_info' at offset 0x878 contains 6 entries:
  Offset          Info           Type           Sym. Value    Sym. Name + Addend
000000000006  000e00000001 R_ALPHA_REFLONG   0000000000000000 .Labbrev1_begin + 0
00000000000c  000f00000001 R_ALPHA_REFLONG   0000000000000000 .Lline1_begin + 0
000000000010  000900000001 R_ALPHA_REFLONG   0000000000000008 .Lend_text1 + 8
000000000014  000600000001 R_ALPHA_REFLONG   0000000000000004 .Lbegin_text1 + 4
000000000040  000700000001 R_ALPHA_REFLONG   0000000000000004 .Lbegin_func_cu1 + 4
000000000044  000800000001 R_ALPHA_REFLONG   0000000000000008 .Lend_func_cu1 + 8

So I'm not sure what problem you're seeing.

Do note that ".L" is *not* a local symbol prefix on Alpha.
For that you have to use "$".  So it's quite expected that
these aren't reduced to ".text + offset".  But that should
not really affect anything; readelf ought to be able to 
cope, I should think.


r~


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