diff options
author | Nick Clifton <nickc@redhat.com> | 2006-06-12 11:12:51 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2006-06-12 11:12:51 +0000 |
commit | d07676f875b3fa1a3d527b4040c36740e6f3c395 (patch) | |
tree | 310b3b3a9b6d2a2e3930374d66e7ac140db43c42 /bfd/elflink.c | |
parent | 13dce8ef13f529c0629901966243f2ea23cc9494 (diff) | |
download | gdb-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.c | 20 |
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. */ |