aboutsummaryrefslogtreecommitdiff
path: root/bfd/elflink.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2006-06-12 11:12:51 +0000
committerNick Clifton <nickc@redhat.com>2006-06-12 11:12:51 +0000
commitd07676f875b3fa1a3d527b4040c36740e6f3c395 (patch)
tree310b3b3a9b6d2a2e3930374d66e7ac140db43c42 /bfd/elflink.c
parent13dce8ef13f529c0629901966243f2ea23cc9494 (diff)
downloadgdb-d07676f875b3fa1a3d527b4040c36740e6f3c395.zip
gdb-d07676f875b3fa1a3d527b4040c36740e6f3c395.tar.gz
gdb-d07676f875b3fa1a3d527b4040c36740e6f3c395.tar.bz2
PR binutils/2735
* elflink.c (elf_link_add_object_symbols): Fix the warning message about mismatched alignments to allow for the case where the common alignment has been deduced from the section alignment. * bfd.c (_bfd_default_error_handler): Update comment to explain why bfd and asection varargs are out of order. Explicitly catch and abort on NULL bfd and asection arguments.
Diffstat (limited to 'bfd/elflink.c')
-rw-r--r--bfd/elflink.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/bfd/elflink.c b/bfd/elflink.c
index c5b1007..f4c63f4 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -3922,11 +3922,21 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
}
if (normal_align < common_align)
- (*_bfd_error_handler)
- (_("Warning: alignment %u of symbol `%s' in %B"
- " is smaller than %u in %B"),
- normal_bfd, common_bfd,
- 1 << normal_align, name, 1 << common_align);
+ {
+ /* PR binutils/2735 */
+ if (normal_bfd == NULL)
+ (*_bfd_error_handler)
+ (_("Warning: alignment %u of common symbol `%s' in %B"
+ " is greater than the alignment (%u) of its section %A"),
+ common_bfd, h->root.u.def.section,
+ 1 << common_align, name, 1 << normal_align);
+ else
+ (*_bfd_error_handler)
+ (_("Warning: alignment %u of symbol `%s' in %B"
+ " is smaller than %u in %B"),
+ normal_bfd, common_bfd,
+ 1 << normal_align, name, 1 << common_align);
+ }
}
/* Remember the symbol size and type. */