From 52f16a0ef42872c78d551b416d281a7188ebf007 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 12 Apr 2006 13:09:10 +0000 Subject: [PATCH] PR binutils/2454 * avr-dis.c (avr_operand): Arrange for a comment to appear before the symolic form of an address, so that the output of objdump -d can be reassembled. --- opcodes/ChangeLog | 7 +++++++ opcodes/avr-dis.c | 7 ++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 030118a574..0f098705ac 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,10 @@ +2006-04-12 Hochstein + + PR binutils/2454 + * avr-dis.c (avr_operand): Arrange for a comment to appear before + the symolic form of an address, so that the output of objdump -d + can be reassembled. + 2006-04-10 DJ Delorie * m32c-asm.c: Regenerate. diff --git a/opcodes/avr-dis.c b/opcodes/avr-dis.c index 1530084418..7938dcadba 100644 --- a/opcodes/avr-dis.c +++ b/opcodes/avr-dis.c @@ -139,7 +139,12 @@ avr_operand (unsigned int insn, unsigned int insn2, unsigned int pc, int constra case 'h': *sym = 1; *sym_addr = ((((insn & 1) | ((insn & 0x1f0) >> 3)) << 16) | insn2) * 2; - sprintf (buf, "0x"); + /* See PR binutils/2545. Ideally we would like to display the hex + value of the address only once, but this would mean recoding + objdump_print_address() which would affect many targets. */ + sprintf (buf, "%#lx", * sym_addr); + sprintf (comment, "0x"); + break; case 'L':