[binutils-gdb] Oops - failed to commit change to verilog.c. Trying again.
Nick Clifton
nickc@sourceware.org
Wed Sep 16 15:20:36 GMT 2020
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7def0865921f4256c8ae0fe1aad61d2e8ae64ca9
commit 7def0865921f4256c8ae0fe1aad61d2e8ae64ca9
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Sep 16 16:19:53 2020 +0100
Oops - failed to commit change to verilog.c. Trying again.
* verilog.c (verilog_write_address): Properly handle 64-bit
addresses to avoid truncation of the high part.
Diff:
---
bfd/verilog.c | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/bfd/verilog.c b/bfd/verilog.c
index 9f22bc36bbe..83d4ccca9e5 100644
--- a/bfd/verilog.c
+++ b/bfd/verilog.c
@@ -165,12 +165,25 @@ verilog_set_section_contents (bfd *abfd,
static bfd_boolean
verilog_write_address (bfd *abfd, bfd_vma address)
{
- char buffer[12];
+ char buffer[20];
char *dst = buffer;
bfd_size_type wrlen;
/* Write the address. */
*dst++ = '@';
+#ifdef BFD64
+ if (address >= (bfd_vma)1 << 32)
+ {
+ TOHEX (dst, (address >> 56));
+ dst += 2;
+ TOHEX (dst, (address >> 48));
+ dst += 2;
+ TOHEX (dst, (address >> 40));
+ dst += 2;
+ TOHEX (dst, (address >> 32));
+ dst += 2;
+ }
+#endif
TOHEX (dst, (address >> 24));
dst += 2;
TOHEX (dst, (address >> 16));
More information about the Binutils-cvs
mailing list