From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24461 invoked by alias); 22 Feb 2005 20:21:22 -0000 Mailing-List: contact binutils-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sources.redhat.com Received: (qmail 24413 invoked from network); 22 Feb 2005 20:21:13 -0000 Received: from unknown (HELO dmz.algor.co.uk) (62.254.210.145) by sourceware.org with SMTP; 22 Feb 2005 20:21:13 -0000 Received: from alg158.algor.co.uk ([62.254.210.158] helo=olympia.mips.com) by dmz.algor.co.uk with esmtp (Exim 3.35 #1 (Debian)) id 1D3gbL-0004QU-00; Tue, 22 Feb 2005 20:25:47 +0000 Received: from perivale.mips.com ([192.168.192.200]) by olympia.mips.com with esmtp (Exim 3.36 #1 (Debian)) id 1D3gWI-0006bn-00; Tue, 22 Feb 2005 20:20:34 +0000 Received: from macro (helo=localhost) by perivale.mips.com with local-esmtp (Exim 3.36 #1 (Debian)) id 1D3gWI-0005MX-00; Tue, 22 Feb 2005 20:20:34 +0000 Date: Tue, 22 Feb 2005 23:30:00 -0000 From: "Maciej W. Rozycki" To: Eric Christopher cc: binutils@sources.redhat.com, "Maciej W. Rozycki" Subject: Re: [PATCH] Bad DWARF2 line information for MIPS16 In-Reply-To: <1109023627.5031.22.camel@localhost.localdomain> Message-ID: References: <1109023627.5031.22.camel@localhost.localdomain> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-MTUK-Scanner: Found to be clean X-MTUK-SpamCheck: not spam (whitelisted), SpamAssassin (score=-4.621, required 4, AWL, BAYES_00) X-SW-Source: 2005-02/txt/msg00522.txt.bz2 On Mon, 21 Feb 2005, Eric Christopher wrote: > OK. Well, I had applied it, but then I discovered it failed for NewABI targets, like mips64*-linux-gnu, due to RELA relocations being involved. Shame on me... I've prepared the obvious fix of forcing the o32 ABI, but rather than stopping at that, I've decided to keep n32 tested, too, so I've made another test for the latter and covered relocation setup as well. Here's the result. Tested for mipsel-linux-gnu, mips64-elf, mips64el-elf, mips64-linux-gnu, mips64el-linux-gnu with no regressions and the two latters fixed. 2005-02-22 Maciej W. Rozycki * gas/mips/mips16-dwarf2.d: Pass -mabi=32. Include relocation information. * gas/mips/mips16-dwarf2-n32.d: New test to check DWARF2 line information for MIPS16 for the n32 ABI. * gas/mips/mips.exp. Run the new test. OK to apply? Maciej binutils-2.15.94-20050222-mips16-dwarf2-newabi.patch diff -up --recursive --new-file binutils-2.15.94-20050222.macro/gas/testsuite/gas/mips/mips.exp binutils-2.15.94-20050222/gas/testsuite/gas/mips/mips.exp --- binutils-2.15.94-20050222.macro/gas/testsuite/gas/mips/mips.exp 2005-02-22 14:32:13.000000000 +0000 +++ binutils-2.15.94-20050222/gas/testsuite/gas/mips/mips.exp 2005-02-22 18:56:37.000000000 +0000 @@ -749,5 +749,8 @@ if { [istarget mips*-*-*] } then { if { $elf && !$no_mips16 } { run_dump_test "mips16-dwarf2" + if $has_newabi { + run_dump_test "mips16-dwarf2-n32" + } } } diff -up --recursive --new-file binutils-2.15.94-20050222.macro/gas/testsuite/gas/mips/mips16-dwarf2-n32.d binutils-2.15.94-20050222/gas/testsuite/gas/mips/mips16-dwarf2-n32.d --- binutils-2.15.94-20050222.macro/gas/testsuite/gas/mips/mips16-dwarf2-n32.d 1970-01-01 00:00:00.000000000 +0000 +++ binutils-2.15.94-20050222/gas/testsuite/gas/mips/mips16-dwarf2-n32.d 2005-02-22 20:00:02.000000000 +0000 @@ -0,0 +1,58 @@ +#readelf: -r -wl +#name: MIPS16 DWARF2 +#as: -march=mips3 -mabi=n32 -mips16 -no-mdebug -g0 +#source: mips16-dwarf2.s + +Relocation section '\.rela\.debug_info' at offset .* contains 4 entries: + *Offset * Info * Type * Sym\.Value * Sym\. Name \+ Addend +0+0006 * 0+..02 * R_MIPS_32 * 0+0000 * \.debug_abbrev \+ 0 +0+000c * 0+..02 * R_MIPS_32 * 0+0000 * \.debug_line \+ 0 +0+0010 * 0+..02 * R_MIPS_32 * 0+0000 * \.text \+ 0 +0+0014 * 0+..02 * R_MIPS_32 * 0+0000 * \.text \+ 910 + +Relocation section '\.rela\.debug_line' at offset .* contains 1 entries: + *Offset * Info * Type * Sym\.Value * Sym\. Name \+ Addend +0+0030 * 0+..02 * R_MIPS_32 * 0+0000 * .text \+ 1 + +Dump of debug contents of section \.debug_line: + + Length: 64 + DWARF Version: 2 + Prologue Length: 35 + Minimum Instruction Length: 1 + Initial value of 'is_stmt': 1 + Line Base: -5 + Line Range: 14 + Opcode Base: 10 + \(Pointer size: 4\) + + Opcodes: + Opcode 1 has 0 args + Opcode 2 has 1 args + Opcode 3 has 1 args + Opcode 4 has 1 args + Opcode 5 has 1 args + Opcode 6 has 0 args + Opcode 7 has 0 args + Opcode 8 has 0 args + Opcode 9 has 1 args + + The Directory Table is empty\. + + The File Name Table: + Entry Dir Time Size Name + 1 0 0 0 mips16-dwarf2\.s + + Line Number Statements: + Extended opcode 2: set Address to 0x0 + Special opcode 5: advance Address by 0 to 0x0 and Line by 0 to 1 + Special opcode 34: advance Address by 2 to 0x2 and Line by 1 to 2 + Special opcode 34: advance Address by 2 to 0x4 and Line by 1 to 3 + Special opcode 62: advance Address by 4 to 0x8 and Line by 1 to 4 + Special opcode 34: advance Address by 2 to 0xa and Line by 1 to 5 + Special opcode 62: advance Address by 4 to 0xe and Line by 1 to 6 + Special opcode 62: advance Address by 4 to 0x12 and Line by 1 to 7 + Advance PC by 2286 to 900 + Special opcode 6: advance Address by 0 to 0x900 and Line by 1 to 8 + Advance PC by 15 to 90f + Extended opcode 1: End of Sequence diff -up --recursive --new-file binutils-2.15.94-20050222.macro/gas/testsuite/gas/mips/mips16-dwarf2.d binutils-2.15.94-20050222/gas/testsuite/gas/mips/mips16-dwarf2.d --- binutils-2.15.94-20050222.macro/gas/testsuite/gas/mips/mips16-dwarf2.d 2005-02-22 12:32:26.000000000 +0000 +++ binutils-2.15.94-20050222/gas/testsuite/gas/mips/mips16-dwarf2.d 2005-02-22 20:00:11.000000000 +0000 @@ -1,8 +1,19 @@ -#readelf: -wl +#readelf: -r -wl #name: MIPS16 DWARF2 -#as: -mips16 -no-mdebug -g0 +#as: -mabi=32 -mips16 -no-mdebug -g0 #source: mips16-dwarf2.s +Relocation section '\.rel\.debug_info' at offset .* contains 4 entries: + *Offset * Info * Type * Sym\.Value * Sym\. Name +0+0006 * 0+..02 * R_MIPS_32 * 0+0000 * \.debug_abbrev +0+000c * 0+..02 * R_MIPS_32 * 0+0000 * \.debug_line +0+0010 * 0+..02 * R_MIPS_32 * 0+0000 * \.text +0+0014 * 0+..02 * R_MIPS_32 * 0+0000 * \.text + +Relocation section '\.rel\.debug_line' at offset .* contains 1 entries: + *Offset * Info * Type * Sym\.Value * Sym\. Name +0+0030 * 0+..02 * R_MIPS_32 * 0+0000 * \.text + Dump of debug contents of section \.debug_line: Length: 64