* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
flags into resulting BFD.
[ld/testsuite/]
* ld-mips-elf/mips16-1.d,
* ld-mips-elf/mips16-1[ab].s: New test.
* ld-mips-elf/mips-elf.exp: Run it.
(mips_elf64_higher_reloc,mips_elf64_highest_reloc,
mips_elf64_gprel16_reloca): Remove prototypes.
(mips16_jump_reloc,mips16_gprel_reloc): Add functions.
(UNUSED_RELOC): Replace by EMPTY_RELOC.
(mips_elf64_howto_table_rel): Use special R_MIPS_HI16 handling. Remove
wrong comments. Remove disfunctional support of R_MIPS_HIGHER and
R_MIPS_HIGHEST.
(mips_elf64_howto_table_rela): Fix handling of R_MIPS_GPREL16 and
R_MIPS_GOT16. Remove wrong comments.
(elf_mips16_jump_howto,elf_mips16_gprel_howto,
elf_mips_gnu_vtinherit_howto,elf_mips_gnu_vtentry_howto): New, code
from elf32-mips.c.
(mips_elf64_hi16_reloc): Fix formatting.
(mips_elf64_higher_reloc,mips_elf64_highest_reloc): Remove.
(mips_elf64_got16_reloc): Fix formatting. Remove superfluous code.
Better comment. Fall back to R_MIPS_GOT_DISP instead of abort().
(mips_elf64_gprel16_reloc): Make static. Add check for
partial_inplace.
(mips_elf64_gprel16_reloca): Remove.
(mips_elf64_literal_reloc): New function.
(mips_elf64_gprel32_reloc): Fix formatting.
(mips_elf64_shift6_reloc): Fix comment. Make static.
(mips16_jump_reloc,mips16_gprel_reloc): New functions, code from
elf32-mips.c.
(elf_reloc_map,mips_reloc_map): New mapping table, similiar as in
elf32-mips.c
(bfd_elf64_bfd_reloc_type_lookup): Use the mapping table. Enable GNU
specific relocations.
(mips_elf64_rtype_to_howto): Enable GNU specific relocations.
(mips_elf64_object_p): Invert logic to check for SGI-ish ABI.
(ELF_MAXPAGESIZE): Add comment.
as elf_link_record_local_dynamic_symbol.
(_bfd_elf64_link_record_local_dynamic_symbol): Likewise.
(elf_link_record_local_dynamic_symbol): Declare. Now returns int.
* elflink.h (elf_link_record_local_dynamic_symbol): Move to..
* elflink.c: .. here. Use bfd_elf_get_elf_syms. Check whether an
attempt is made to record a symbol in a discarded section, and
return `2' in that case.
2002-07-14 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_link_assign_sym_version): Hide the default
definition if there is a hidden versioned definition.
ld/
2002-07-14 H.J. Lu <hjl@gnu.org>
* ld.texinfo: Document a .symver takes precedence over a
version script.
dynamic reference test in assertion when initializing GOT with
static contents. Just assert that there are either no dynamic
sections, the symbol is defined in the regular objects or that the
symbol is undef weak. Tweak comment.
(elf_cris_finish_dynamic_symbol): Emit .got reloc for a program
only if the symbol isn't defined in the program and isn't undef
weak.
(elf_cris_adjust_dynamic_symbol): Simplify condition for getting
rid of PLT entry: only do it if the symbol isn't defined in a DSO.
When doing so, clear ELF_LINK_HASH_NEEDS_PLT. Tweak comments.
(elf_cris_discard_excess_program_dynamics): Don't consider
ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs.
(ppc64_elf_howto_table): Use ONES here to avoid warnings. Fill in
missing src_mask fields. Tweak R_PPC64_NONE, R_PPC64_COPY. Fill
in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32.
NULL sym_hashes to just before use.
<case R_CRIS_32_GOTREL>: In test for local symbol, accept also
symbol with non-default visibility.
<case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto.
<case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
Ditto.
(cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for
symbol with non-default visibility.
(cris_elf_check_relocs): At tests for local symbol before
increasing h->plt.refcount, also check for non-default
visibility. Ditto when checking for local symbol to eliminate
pc-relative runtime relocs.