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]

[patch 0/3] Fix some FAILS for: unordered .debug_info references to .debug_ranges


Hi,

as I did not run the testsuite for all the targets there are now some new
FAILs on less-usual arches for the new test:
	unordered .debug_info references to .debug_ranges
from
	[patch] Support unordered .debug_info references to .debug_ranges
	http://sourceware.org/ml/binutils/2009-07/msg00123.html

Attached patches fix some of those, there remain the following FAILs which are
IMO bugs in the targets and I did not fix them as it is out of my scope/time.


Thanks,
Jan

------------------------------------------------------------------------------
d30v-elf FAIL

Pointers get aligned even in the .debuginfo where no alignment should occur.
The pointer at offset 8 should have been at offset 6.  readelf then cannot cope
with such aligned content:

Contents of section .debug_info:
 0000 00000018 00020000 00000000 04010000  ................
 0010 00000010 02410000 00000000           .....A......    

Relocation section '.rela.debug_info' at offset 0x494 contains 1 entries:
 Offset     Info    Type                Sym. Value  Symbol's Name + Addend
00000008  00000f0c R_D30V_32_NORMAL       00000000   .debug_abbrev + 0

readelf: Warning: Bogus end-of-siblings marker detected at offset b in .debug_info section
readelf: Warning: DIE at offset c refers to abbreviation number 4 which does not exist
readelf: Warning: Unable to load/parse the .debug_info section, so cannot interpret the .debug_ranges section.

------------------------------------------------------------------------------
moxie-elf FAIL
pj-elf FAIL

readelf should know how to both read and process the relocation:

readelf: Error: Missing knowledge of 32-bit reloc types used in DWARF sections of machine number 65261

Relocation section '.rela.debug_info' at offset 0x490 contains 1 entries:
 Offset     Info    Type                Sym. Value  Symbol's Name + Addend
00000006  00000f01 unrecognized: 1       00000000   .debug_abbrev + 0

------------------------------------------------------------------------------
ia64-hp-hpux11.23 FAIL

Like above.

readelf: Warning: unable to apply unsupported reloc type 100 to section .debug_ranges
readelf: Warning: unable to apply unsupported reloc type 100 to section .debug_ranges
readelf: Warning: unable to apply unsupported reloc type 100 to section .debug_ranges
readelf: Warning: unable to apply unsupported reloc type 100 to section .debug_ranges
readelf: Warning: unable to apply unsupported reloc type 100 to section .debug_info
readelf: Warning: There is a hole [0x8 - 0x10] in .debug_ranges section.

------------------------------------------------------------------------------
mep-elf UNRESOLVED

This error is common even for other testcases on this target.

Assembler messages:
Fatal error: selected target format 'elf32-mep-little' unknown

------------------------------------------------------------------------------
mmix-elf UNRESOLVED

This error is common even for other testcases on this target.
There are many such errors like:
ERROR: .../binutils-all/group*.s: assembly failed

testranges.s: Assembler messages:
testranges.s:11: Error: junk at end of line, first unrecognized character is `,'
testranges.s:22: Error: junk at end of line, first unrecognized character is `,'
testranges.s:41: Error: junk at end of line, first unrecognized character is `,'

------------------------------------------------------------------------------
xtensa-elf FAIL

Some fixes are attached but there still remains this FAIL.  IMO because the
RELA (not REL) relocations for .debug_ranges should contain the offsets (1, 2,
0, 2) as their "Addend"s.  This way RELA resolving clears .debug_ranges.

Contents of the .debug_ranges section:

    Offset   Begin    End
    00000000 <End of list>
readelf: Warning: There is a hole [0x8 - 0x10] in .debug_ranges section.
    00000010 <End of list>

Contents of section .debug_ranges:
 0000 00000001 00000002 00000000 00000000  ................
 0010 00000000 00000002 00000000 00000000  ................

Relocation section '.rela.debug_ranges' at offset 0x4dc contains 4 entries:
 Offset     Info    Type                Sym. Value  Symbol's Name + Addend
00000000  00000101 R_XTENSA_32            00000000   .text + 0
00000004  00000101 R_XTENSA_32            00000000   .text + 0
00000010  00000101 R_XTENSA_32            00000000   .text + 0
00000014  00000101 R_XTENSA_32            00000000   .text + 0

On a more common arch "Addend"s are filled in:

Relocation section '.rela.debug_ranges' at offset 0x630 contains 4 entries:
    Offset             Info             Type               Symbol's Value  Symbol's Name + Addend
0000000000000000  000000010000000a R_X86_64_32            0000000000000000 .text + 1
0000000000000004  000000010000000a R_X86_64_32            0000000000000000 .text + 2
0000000000000010  000000010000000a R_X86_64_32            0000000000000000 .text + 0
0000000000000014  000000010000000a R_X86_64_32            0000000000000000 .text + 2

------------------------------------------------------------------------------
sh64-superh-linux-gnu FAIL

I did not see why .text starts at 0x1 (and not 0x0 as usual).  Maybe the test
should be disabled instead.

Contents of the .debug_ranges section:

    Offset   Begin    End
    00000000 00000002 00000003
    00000000 <End of list>
    00000010 00000001 00000003
    00000010 <End of list>

Contents of section .debug_ranges:
 0000 02000000 03000000 00000000 00000000  ................
 0010 01000000 03000000 00000000 00000000  ................

Relocation section '.rela.debug_ranges' at offset 0x460 contains 4 entries:
 Offset     Info    Type                Sym. Value  Symbol's Name + Addend
00000000  00000101 R_SH_DIR32             00000000   .text + 0
00000004  00000101 R_SH_DIR32             00000000   .text + 0
00000010  00000101 R_SH_DIR32             00000000   .text + 0
00000014  00000101 R_SH_DIR32             00000000   .text + 0

------------------------------------------------------------------------------
Targets under the test:

alpha-dec-vms alpha-linux-gnu alpha-netbsd alpha-unknown-freebsd4.7
alpha-unknown-osf4.0 am33_2.0-linux arc-elf arm-aout arm-eabi arm-elf
arm-epoc-pe arm-netbsdelf arm-nto arm-pe arm-rtems arm-vxworks arm-wince-pe
avr-elf bfin-elf c30-aout c4x-coff calmrisc16-elf calmrisc32-elf cr16-elf
cr16c-elf cris-elf crx-elf cy16-elf d10v-elf d30v-elf dlx-elf fido-elf
fr30-elf frv-elf frv-linux frv-uclinux h8300-coff h8300-elf hppa-linux-gnu
hppa64-hp-hpux11.11 hppa64-hp-hpux11.23 i386-elf i386-netware
i386-unknown-go32 i686-pc-cygwin i686-pc-elf i686-pc-linux-gnu i960-coff
ia64-elf ia64-hp-hpux11.23 ia64-linux ia64-linux-gnu ia64-x-freebsd5 ip2k-elf
ip4k-elf iq2000-elf lm32-elf m32c-elf m32r-elf m68hc11-elf m68hc12-elf
m68k-aout m68k-coff m68k-elf m68k-linux-gnu m68k-rtems m68k-uclinux m88k-coff
maxq-coff mcore-elf mcore-pe mep-elf mingw32-pe mips-elf mips-sgi-irix5
mips-wrs-vxworks mips64-linux mips64vr-elf mips64vrel-elf mipsel-linux-gnu
mipsisa32-elf mipsisa64-elf mmix-elf mmix-mmixware mn10200-elf mn10300-elf
moxie-elf msp430-elf mt-elf nios-elf ns32k-netbsd openrisc-elf or32-coff
or32-elf pdp11-dec-bsd pj-elf powerpc-eabisim powerpc-eabispe powerpc-elf
powerpc-ibm-aix4.3.3.0 powerpc-linux-gnu powerpc-nto powerpc-wrs-vxworks
powerpc64-linux-gnu ppc-linux rs6000-aix4.3.3 rx-elf s390-linux s390x-ibm-tpf
sh-coff sh-elf sh-hms sh-linux sh-nto sh-symbianelf sh64-elf
sh64-superh-linux-gnu shl-unknown-netbsdelf1.6T sparc-elf sparc-linux-gnu
sparc64-linux-gnu sparc64-netbsd spu-elf tic54x-coff tx39-elf v850-elf
v850e-elf vax-netbsdelf x86_64-linux x86_64-mingw32 x86_64-pc-linux-gnu
x86_64-pc-mingw64 xscale-elf xstormy16-elf xtensa-elf z8k-coff

------------------------------------------------------------------------------
Targets no longer supported as primary target:
c30-aout calmrisc16-elf calmrisc32-elf cr16c-elf cy16-elf h8300-coff i960-coff
ip4k-elf m68k-aout m68k-coff m88k-coff maxq-coff nios-elf or32-coff rx-elf
sh-coff sh-hms x86_64-pc-mingw64

------------------------------------------------------------------------------
These targets:
i686-pc-cygwin mingw32-pe x86_64-mingw32

fail on
./configure --target=$TARGET --enable-targets=all; make

with
	config/tc-i386.c: In function 'i386_target_format':
	config/tc-i386.c:8099: error: duplicate case value
	config/tc-i386.c:8088: error: previously used here

This failure was already present before my patch
	[patch 1/4] Fix compilation for i386-unknown-go32 with secondary as elf
	http://sourceware.org/ml/binutils/2009-08/msg00152.html

and I will post a separate patch for it.


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