This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: alpha-linux gas testsuite failure
- From: Richard Henderson <rth at redhat dot com>
- To: Alan Modra <amodra at gmail dot com>, Binutils <binutils at sourceware dot org>
- Date: Fri, 17 Sep 2010 12:45:29 -0700
- Subject: Re: alpha-linux gas testsuite failure
- References: <20100917051307.GB16874@bubble.grove.modra.org>
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~