* cofflink.c (_bfd_coff_generic_relocate_section): Correct
	comment.

gas
	* config/obj-coff.c (obj_coff_weak): Set auxiliary record
	of NT weak externals to IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY.
This commit is contained in:
Danny Smith 2005-08-17 08:58:01 +00:00
parent 61bf9ae086
commit 27198fa9f3
3 changed files with 11 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2005-08-17 Danny Smith <dannysmith@users.sourceforge.net>
* cofflink.c (_bfd_coff_generic_relocate_section): Correct
comment.
2005-08-17 Alan Modra <amodra@bigpond.net.au>
* elflink.c (_bfd_elf_define_linkage_sym): Don't call

View File

@ -2937,9 +2937,11 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd,
Note that weak symbols without aux records are a GNU
extension.
FIXME: All weak externals are treated as having
characteristics IMAGE_WEAK_EXTERN_SEARCH_LIBRARY (2).
There are no known uses of the other two types of
weak externals. */
characteristic IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY (1).
These behave as per SVR4 ABI: A library member
will resolve a weak external only if a normal
external causes the library member to be linked.
See also linker.c: generic_link_check_archive_element. */
asection *sec;
struct coff_link_hash_entry *h2 =
input_bfd->tdata.coff_obj_data->sym_hashes[

View File

@ -1093,7 +1093,7 @@ obj_coff_weak (int ignore ATTRIBUTE_UNUSED)
the value of the weak symbol itself. */
S_SET_STORAGE_CLASS (symbolP, C_NT_WEAK);
S_SET_NUMBER_AUXILIARY (symbolP, 1);
SA_SET_SYM_FSIZE (symbolP, IMAGE_WEAK_EXTERN_SEARCH_LIBRARY);
SA_SET_SYM_FSIZE (symbolP, IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY);
alternateP = symbol_find_or_make (weak_name2altname (name));
S_SET_EXTERNAL (alternateP);