From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3895 invoked by alias); 1 Nov 2010 12:30:23 -0000 Received: (qmail 3880 invoked by uid 22791); 1 Nov 2010 12:30:20 -0000 X-SWARE-Spam-Status: No, hits=-0.8 required=5.0 tests=AWL,BAYES_40,TW_BJ,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 01 Nov 2010 12:30:12 +0000 Received: (qmail 9039 invoked from network); 1 Nov 2010 12:30:09 -0000 Received: from unknown (HELO tp.orcam.me.uk) (macro@127.0.0.2) by mail.codesourcery.com with ESMTPA; 1 Nov 2010 12:30:09 -0000 Date: Mon, 01 Nov 2010 12:30:00 -0000 From: "Maciej W. Rozycki" To: binutils@sourceware.org Subject: [PATCH] objdump: Don't skip NOPs at labels Message-ID: User-Agent: Alpine 1.10 (DEB 962 2008-03-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org X-SW-Source: 2010-11/txt/msg00006.txt.bz2 Hi, While trying to determine why a GAS testcase regressed after some changes I have discovered that a NOP in a branch or jump delay slot is not disassembled by `objdump' if it's got a label assigned and is followed by further NOPs that cause the tool to produce "..." instead. To illustrate: $ cat label.s .set noreorder bal foo bar: nop nop nop foo: nop nop nop $ mips-sde-elf-as -32 -o dump.o label.s $ mips-sde-elf-objdump -dr --prefix-addresses --show-raw-insn dump.o dump.o: file format elf32-tradbigmips Disassembly of section .text: 00000000 0411ffff bal 00000000 ... ... This happens because code is disassembled in chunks limited by consecutive symbols and any trailing delay slot information from the preceding chunk is discarded at the beginning of a new chunk. While the immediate fix would simply be keeping the delay slot information, I have contemplated the current structure of our code a bit and come to the conclusion it may actually make sense to disassemble instructions at labels unconditionally. They signify a piece of code after all, even if in the middle of a block of NOPs, and then the labels wouldn't be lost from output in the prefix-addresses mode this way. To continue with the example, the new output would look as follows: $ mips-sde-elf-objdump -dr --prefix-addresses --show-raw-insn dump.o dump.o: file format elf32-tradbigmips Disassembly of section .text: 00000000 04110003 bal 00000010 00000004 00000000 nop ... 00000010 00000000 nop ... An actual implementation follows, including testsuite adjustments as necessary. What do you think? I realise this change affects other ports and I have refrained from updating the relevant testsuites deliberately to save myself extra effort before everyone is happy with my proposal. I think it will be reasonable if I update some of the mainstream platforms once I get a go-ahead with this change (assuming that I do, that is) and let the more exotic platform maintainers update their ports themselves; this looks like a 2.22 material to me, so there'll be plenty of time. 2010-11-01 Maciej W. Rozycki binutils/ * objdump.c (disassemble_bytes): Never skip a NOP at the beginning. gas/testsuite/ * gas/mips/branch-misc-1.d: Adjust for NOP/... handling changes. * gas/mips/branch-misc-1.s: Likewise. * gas/mips/branch-misc-2-64.d: Likewise. * gas/mips/branch-misc-2.d: Likewise. * gas/mips/branch-misc-2pic-64.d: Likewise. * gas/mips/branch-misc-2pic.d: Likewise. * gas/mips/branch-self.d: Likewise. * gas/mips/jalr2.d: Likewise. * gas/mips/mips-abi32-pic.d: Likewise. * gas/mips/mips-abi32-pic.s: Likewise. * gas/mips/mips-abi32-pic2.d: Likewise. * gas/mips/mips-abi32-pic2.s: Likewise. * gas/mips/mips-abi32.d: Likewise. * gas/mips/mips-abi32.s: Likewise. * gas/mips/mips-gp32-fp32-pic.d: Likewise. * gas/mips/mips-gp32-fp32-pic.s: Likewise. * gas/mips/mips-gp32-fp32.d: Likewise. * gas/mips/mips-gp32-fp32.s: Likewise. * gas/mips/mips-gp32-fp64-pic.d: Likewise. * gas/mips/mips-gp32-fp64-pic.s: Likewise. * gas/mips/mips-gp32-fp64.d: Likewise. * gas/mips/mips-gp32-fp64.s: Likewise. * gas/mips/mips-gp64-fp32-pic.d: Likewise. * gas/mips/mips-gp64-fp32-pic.s: Likewise. * gas/mips/mips-gp64-fp32.d: Likewise. * gas/mips/mips-gp64-fp32.s: Likewise. * gas/mips/mips-gp64-fp64-pic.d: Likewise. * gas/mips/mips-gp64-fp64-pic.s: Likewise. * gas/mips/mips-gp64-fp64.d: Likewise. * gas/mips/mips-gp64-fp64.s: Likewise. * gas/mips/mips16-64.d: Likewise. * gas/mips/mips16.d: Likewise. * gas/mips/mips16@branch-self.d * gas/mips/relax-swap1-mips1.d: Likewise. * gas/mips/relax-swap1-mips2.d: Likewise. * gas/mips/relax-swap1.s: Likewise. * gas/mips/relax-swap2.d: Likewise. * gas/mips/relax-swap2.s: Likewise. ld/testsuite/ * ld-mips-elf/branch-misc-1.d: Adjust for NOP/... handling changes. Maciej binutils-objdump-ds.patch Index: binutils-fsf-trunk-quilt/binutils/objdump.c =================================================================== --- binutils-fsf-trunk-quilt.orig/binutils/objdump.c 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/binutils/objdump.c 2010-10-28 20:28:26.000000000 +0100 @@ -1523,8 +1523,8 @@ disassemble_bytes (struct disassemble_in if (data[z] != 0) break; if (! disassemble_zeroes - && (inf->insn_info_valid == 0 - || inf->branch_delay_insns == 0) + && (inf->insn_info_valid != 0 + && inf->branch_delay_insns == 0) && (z - addr_offset * opb >= skip_zeroes || (z == stop_offset * opb && z - addr_offset * opb < skip_zeroes_at_end))) Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/branch-misc-1.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/branch-misc-1.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/branch-misc-1.d 2010-10-28 20:28:26.000000000 +0100 @@ -8,8 +8,11 @@ .*: +file format .*mips.* Disassembly of section .text: +0+0000 <[^>]*> 00000000 nop \.\.\. +0+0014 <[^>]*> 00000000 nop \.\.\. +0+0028 <[^>]*> 00000000 nop \.\.\. 0+003c <[^>]*> 0411fff0 bal 00000000 0+0040 <[^>]*> 00000000 nop @@ -24,6 +27,9 @@ 0+0064 <[^>]*> 04110010 bal 000000a8 0+0068 <[^>]*> 00000000 nop \.\.\. +0+0080 <[^>]*> 00000000 nop \.\.\. +0+0094 <[^>]*> 00000000 nop \.\.\. +0+00a8 <[^>]*> 00000000 nop \.\.\. Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/branch-misc-1.s =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/branch-misc-1.s 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/branch-misc-1.s 2010-10-28 20:28:26.000000000 +0100 @@ -24,4 +24,5 @@ l6: # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... - .space 8 + .align 2 + .space 12 Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/branch-misc-2-64.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/branch-misc-2-64.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/branch-misc-2-64.d 2010-10-28 20:28:26.000000000 +0100 @@ -9,8 +9,11 @@ .*: +file format .*mips.* Disassembly of section .text: +0+0000 <[^>]*> 00000000 nop \.\.\. +0+0014 <[^>]*> 00000000 nop \.\.\. +0+0028 <[^>]*> 00000000 nop \.\.\. 0+003c <[^>]*> 04110000 bal 0000000000000040 [ ]*3c: R_MIPS_PC16 g1\+0xfffffffffffffffc @@ -43,7 +46,9 @@ [ ]*64: R_MIPS_NONE \*ABS\*\+0xfffffffffffffffc 0+0068 <[^>]*> 00000000 nop \.\.\. +0+0080 <[^>]*> 00000000 nop \.\.\. +0+0094 <[^>]*> 00000000 nop \.\.\. 0+00a8 <[^>]*> 10000000 b 00000000000000ac [ ]*a8: R_MIPS_PC16 x1\+0xfffffffffffffffc Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/branch-misc-2.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/branch-misc-2.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/branch-misc-2.d 2010-10-28 20:28:26.000000000 +0100 @@ -8,8 +8,11 @@ .*: +file format .*mips.* Disassembly of section .text: +0+0000 <[^>]*> 00000000 nop \.\.\. +0+0014 <[^>]*> 00000000 nop \.\.\. +0+0028 <[^>]*> 00000000 nop \.\.\. 0+003c <[^>]*> 0411ffff bal 0000003c [ ]*3c: R_MIPS_PC16 g1 @@ -30,7 +33,9 @@ [ ]*64: R_MIPS_PC16 g6 0+0068 <[^>]*> 00000000 nop \.\.\. +0+0080 <[^>]*> 00000000 nop \.\.\. +0+0094 <[^>]*> 00000000 nop \.\.\. 0+00a8 <[^>]*> 1000ffff b 000000a8 [ ]*a8: R_MIPS_PC16 x1 Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/branch-misc-2pic-64.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/branch-misc-2pic-64.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/branch-misc-2pic-64.d 2010-10-28 20:28:26.000000000 +0100 @@ -9,8 +9,11 @@ .*: +file format .*mips.* Disassembly of section .text: +0+0000 <[^>]*> 00000000 nop \.\.\. +0+0014 <[^>]*> 00000000 nop \.\.\. +0+0028 <[^>]*> 00000000 nop \.\.\. 0+003c <[^>]*> 04110000 bal 0000000000000040 [ ]*3c: R_MIPS_PC16 g1\+0xfffffffffffffffc @@ -43,7 +46,9 @@ [ ]*64: R_MIPS_NONE \*ABS\*\+0xfffffffffffffffc 0+0068 <[^>]*> 00000000 nop \.\.\. +0+0080 <[^>]*> 00000000 nop \.\.\. +0+0094 <[^>]*> 00000000 nop \.\.\. 0+00a8 <[^>]*> 10000000 b 00000000000000ac [ ]*a8: R_MIPS_PC16 x1\+0xfffffffffffffffc Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/branch-misc-2pic.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/branch-misc-2pic.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/branch-misc-2pic.d 2010-10-28 20:28:26.000000000 +0100 @@ -9,8 +9,11 @@ .*: +file format .*mips.* Disassembly of section .text: +0+0000 <[^>]*> 00000000 nop \.\.\. +0+0014 <[^>]*> 00000000 nop \.\.\. +0+0028 <[^>]*> 00000000 nop \.\.\. 0+003c <[^>]*> 0411ffff bal 0000003c [ ]*3c: R_MIPS_PC16 g1 @@ -31,7 +34,9 @@ [ ]*64: R_MIPS_PC16 g6 0+0068 <[^>]*> 00000000 nop \.\.\. +0+0080 <[^>]*> 00000000 nop \.\.\. +0+0094 <[^>]*> 00000000 nop \.\.\. 0+00a8 <[^>]*> 1000ffff b 000000a8 [ ]*a8: R_MIPS_PC16 x1 Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/jalr2.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/jalr2.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/jalr2.d 2010-10-28 20:28:26.000000000 +0100 @@ -38,4 +38,5 @@ .*: 8fbc0010 lw gp,16\(sp\) .* : +.*: 00000000 nop \.\.\. Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-abi32-pic.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-abi32-pic.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-abi32-pic.d 2010-10-28 20:28:26.000000000 +0100 @@ -96,4 +96,5 @@ 158: 00a02021 move a0,a1 0+015c <[^>]*>: - ... + 15c: 00000000 nop + \.\.\. Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-abi32-pic.s =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-abi32-pic.s 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-abi32-pic.s 2010-10-28 20:28:26.000000000 +0100 @@ -141,4 +141,5 @@ shared: .word 11 end: # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... - .space 8 + .align 2 + .space 12 Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-abi32-pic2.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-abi32-pic2.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-abi32-pic2.d 2010-10-28 20:28:26.000000000 +0100 @@ -71,4 +71,5 @@ 0+0c0 <[^>]*> 3c010001 lui at,0x1 0+0c4 <[^>]*> 003d0821 addu at,at,sp 0+0c8 <[^>]*> 8c3c0000 lw gp,0\(at\) +0+0cc <[^>]*> 00000000 nop \.\.\. Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-abi32-pic2.s =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-abi32-pic2.s 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-abi32-pic2.s 2010-10-28 20:28:26.000000000 +0100 @@ -104,4 +104,5 @@ end: # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... - .space 8 + .align 2 + .space 12 Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-abi32.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-abi32.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-abi32.d 2010-10-28 20:28:27.000000000 +0100 @@ -75,4 +75,5 @@ 104: 00a02021 move a0,a1 0+0108 <[^>]*>: - ... + 108: 00000000 nop + \.\.\. Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-abi32.s =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-abi32.s 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-abi32.s 2010-10-28 20:28:27.000000000 +0100 @@ -97,4 +97,5 @@ shared: .word 11 end: # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... - .space 8 + .align 2 + .space 12 Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp32-fp32-pic.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-gp32-fp32-pic.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp32-fp32-pic.d 2010-10-28 20:28:27.000000000 +0100 @@ -96,4 +96,5 @@ 158: 00a02021 move a0,a1 0+015c <[^>]*>: - ... + 15c: 00000000 nop + \.\.\. Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp32-fp32-pic.s =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-gp32-fp32-pic.s 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp32-fp32-pic.s 2010-10-28 20:28:27.000000000 +0100 @@ -141,4 +141,5 @@ shared: .word 11 end: # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... - .space 8 + .align 2 + .space 12 Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp32-fp32.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-gp32-fp32.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp32-fp32.d 2010-10-28 20:28:27.000000000 +0100 @@ -75,4 +75,5 @@ 104: 00a02021 move a0,a1 0+0108 <[^>]*>: - ... + 108: 00000000 nop + \.\.\. Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp32-fp32.s =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-gp32-fp32.s 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp32-fp32.s 2010-10-28 20:28:27.000000000 +0100 @@ -97,4 +97,5 @@ shared: .word 11 end: # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... - .space 8 + .align 2 + .space 12 Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp32-fp64-pic.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-gp32-fp64-pic.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp32-fp64-pic.d 2010-10-28 20:28:27.000000000 +0100 @@ -97,4 +97,5 @@ 158: 46231040 add.d \$f1,\$f2,\$f3 0+015c <[^>]*>: - ... + 15c: 00000000 nop + \.\.\. Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp32-fp64-pic.s =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-gp32-fp64-pic.s 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp32-fp64-pic.s 2010-10-28 20:28:27.000000000 +0100 @@ -139,4 +139,5 @@ shared: .word 11 end: # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... - .space 8 + .align 2 + .space 12 Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp32-fp64.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-gp32-fp64.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp32-fp64.d 2010-10-28 20:28:27.000000000 +0100 @@ -75,4 +75,5 @@ 100: 46231040 add.d \$f1,\$f2,\$f3 0+0104 <[^>]*>: - ... + 104: 00000000 nop + \.\.\. Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp32-fp64.s =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-gp32-fp64.s 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp32-fp64.s 2010-10-28 20:28:27.000000000 +0100 @@ -94,4 +94,5 @@ shared: .word 11 end: # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... - .space 8 + .align 2 + .space 12 Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp64-fp32-pic.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-gp64-fp32-pic.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp64-fp32-pic.d 2010-10-28 20:28:27.000000000 +0100 @@ -128,4 +128,5 @@ 1d4: 00000000 nop 0+01d8 <[^>]*>: - ... + 1d8: 00000000 nop + \.\.\. Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp64-fp32-pic.s =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-gp64-fp32-pic.s 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp64-fp32-pic.s 2010-10-28 20:28:27.000000000 +0100 @@ -165,4 +165,5 @@ shared: .word 11 end: # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... - .space 8 + .align 2 + .space 12 Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp64-fp32.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-gp64-fp32.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp64-fp32.d 2010-10-28 20:28:27.000000000 +0100 @@ -97,4 +97,5 @@ 158: 14200000 bnez at,15c <[^>]*> 0+015c <[^>]*>: - ... + 15c: 00000000 nop + \.\.\. Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp64-fp32.s =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-gp64-fp32.s 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp64-fp32.s 2010-10-28 20:28:27.000000000 +0100 @@ -108,4 +108,5 @@ shared: .word 11 end: # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... - .space 8 + .align 2 + .space 12 Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp64-fp64-pic.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-gp64-fp64-pic.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp64-fp64-pic.d 2010-10-28 20:28:27.000000000 +0100 @@ -128,4 +128,5 @@ 1d8: 46231040 add.d \$f1,\$f2,\$f3 0+01dc <[^>]*>: - ... + 1dc: 00000000 nop + \.\.\. Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp64-fp64-pic.s =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-gp64-fp64-pic.s 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp64-fp64-pic.s 2010-10-28 20:28:27.000000000 +0100 @@ -164,4 +164,5 @@ shared: .word 11 end: # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... - .space 8 + .align 2 + .space 12 Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp64-fp64.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-gp64-fp64.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp64-fp64.d 2010-10-28 20:28:27.000000000 +0100 @@ -98,4 +98,5 @@ 15c: 46231040 add.d \$f1,\$f2,\$f3 0+0160 <[^>]*>: - ... + 160: 00000000 nop + \.\.\. Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp64-fp64.s =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips-gp64-fp64.s 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips-gp64-fp64.s 2010-10-28 20:28:27.000000000 +0100 @@ -106,4 +106,5 @@ shared: .word 11 end: # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... - .space 8 + .align 2 + .space 12 Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips16-64.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips16-64.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips16-64.d 2010-10-28 20:28:27.000000000 +0100 @@ -683,4 +683,5 @@ 866: 6500 nop 0+000868 : - ... + 868: 00000000 nop + \.\.\. Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips16.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips16.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips16.d 2010-10-28 20:28:27.000000000 +0100 @@ -680,4 +680,5 @@ 866: 6500 nop 0+000868 : - ... + 868: 00000000 nop + \.\.\. Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/relax-swap1-mips1.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/relax-swap1-mips1.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/relax-swap1-mips1.d 2010-10-28 20:28:27.000000000 +0100 @@ -306,4 +306,5 @@ 0+03d8 <[^>]*> jalr v0,v1 0+03dc <[^>]*> nop \.\.\. +0+203e0 <[^>]*> nop \.\.\. Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/relax-swap1-mips2.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/relax-swap1-mips2.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/relax-swap1-mips2.d 2010-10-28 20:28:27.000000000 +0100 @@ -273,4 +273,5 @@ 0+0354 <[^>]*> jalr v0,v1 0+0358 <[^>]*> nop \.\.\. +0+2035c <[^>]*> nop \.\.\. Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/relax-swap1.s =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/relax-swap1.s 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/relax-swap1.s 2010-10-28 20:28:27.000000000 +0100 @@ -147,5 +147,7 @@ .space 0x20000 # to make a 128kb loop body bar: + # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... - .space 8 + .align 2 + .space 12 Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/relax-swap2.d =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/relax-swap2.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/relax-swap2.d 2010-10-28 20:28:27.000000000 +0100 @@ -132,4 +132,5 @@ 0+01a0 <[^>]*> jr at 0+01a4 <[^>]*> nop \.\.\. +0+201a8 <[^>]*> nop \.\.\. Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/relax-swap2.s =================================================================== --- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/relax-swap2.s 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/relax-swap2.s 2010-10-28 20:28:27.000000000 +0100 @@ -46,5 +46,7 @@ .space 0x20000 # to make a 128kb loop body bar: + # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... - .space 8 + .align 2 + .space 12 Index: binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/branch-misc-1.d =================================================================== --- binutils-fsf-trunk-quilt.orig/ld/testsuite/ld-mips-elf/branch-misc-1.d 2010-10-28 20:01:43.000000000 +0100 +++ binutils-fsf-trunk-quilt/ld/testsuite/ld-mips-elf/branch-misc-1.d 2010-10-28 20:28:28.000000000 +0100 @@ -8,8 +8,11 @@ #... Disassembly of section \.text: +0*20000000 <[^>]*> 00000000 nop \.\.\. +0*20000014 <[^>]*> 00000000 nop \.\.\. +0*20000028 <[^>]*> 00000000 nop \.\.\. 0*2000003c <[^>]*> 0411fff0 bal 0*20000000 <[^>]*> 0*20000040 <[^>]*> 00000000 nop @@ -24,7 +27,10 @@ 0*20000064 <[^>]*> 04110010 bal 0*200000a8 <[^>]*> 0*20000068 <[^>]*> 00000000 nop \.\.\. +0*20000080 <[^>]*> 00000000 nop \.\.\. +0*20000094 <[^>]*> 00000000 nop \.\.\. +0*200000a8 <[^>]*> 00000000 nop \.\.\. #pass