summaryrefslogtreecommitdiff
path: root/opcodes/avr-dis.c
diff options
context:
space:
mode:
Diffstat (limited to 'opcodes/avr-dis.c')
-rw-r--r--opcodes/avr-dis.c7
1 files changed, 6 insertions, 1 deletions
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':