This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Fix buglet in mmix consistency error message
- From: Hans-Peter Nilsson <hp at bitrange dot com>
- To: binutils at sourceware dot org
- Date: Tue, 20 Oct 2015 07:41:20 -0400 (EDT)
- Subject: Fix buglet in mmix consistency error message
- Authentication-results: sourceware.org; auth=none
Noted in the --extract-symbols thread.
Looking at the diff in retrospect, I introduced a spacing
issue, oops. Will fix that together with the other patch.
bfd:
* mmo.c (mmo_write_symbols_and_terminator): Correct printed value
of Main in error message.
diff --git a/bfd/mmo.c b/bfd/mmo.c
index b269ffb..484a370 100644
--- a/bfd/mmo.c
+++ b/bfd/mmo.c
@@ -2896,16 +2896,17 @@ mmo_write_symbols_and_terminator (bfd *abfd)
&& (table[i]->flags & (BSF_DEBUGGING|BSF_GLOBAL)) == BSF_GLOBAL)
{
asymbol *mainsym = table[i];
- memcpy (table + 1, orig_table, i * sizeof (asymbol *));
+ bfd_vma mainvalue
+ = (mainsym->value
+ + mainsym->section->output_section->vma
+ + mainsym->section->output_offset);
+ memcpy (table + 1, orig_table, i * sizeof (asymbol *));
table[0] = mainsym;
/* Check that the value assigned to :Main is the same as the entry
address. The default linker script asserts this. This is as
good a place as any to check this consistency. */
- if ((mainsym->value
- + mainsym->section->output_section->vma
- + mainsym->section->output_offset)
- != bfd_get_start_address (abfd))
+ if (mainvalue != bfd_get_start_address (abfd))
{
/* Arbitrary buffer to hold the printable representation of a
vma. */
@@ -2913,7 +2914,7 @@ mmo_write_symbols_and_terminator (bfd *abfd)
char vmas_start[40];
bfd_vma vma_start = bfd_get_start_address (abfd);
- sprintf_vma (vmas_main, mainsym->value);
+ sprintf_vma (vmas_main, mainvalue);
sprintf_vma (vmas_start, vma_start);
(*_bfd_error_handler)
brgds, H-P