* elf32-arm.h (elf32_arm_size_dynamic_sections): Also set
DF_TEXTREL if DT_TEXTREL is set.
* elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
* elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
* elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
* elf32-mips.c (_bfd_mips_elf_size_dynamic_sections): Likewise.
* elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
* elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
* elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
* elf64-ia64.c (elf64_ia64_size_dynamic_sections): Likewise.
* elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise.
* bfd/elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also
set DF_SYMBOLIC for symbolic link. Also set DT_RUNPATH if
DT_RPATH is set.
Set the DT_FLAGS and DT_FLAGS_1 entries if necessary.
* bfd-in.h (bfd_elf_set_dt_needed_soname): New.
* bfd-in2.h: Rebuild.
* elf-bfd.h (elf_obj_tdata): Add dt_soname.
(elf_dt_soname): New.
* elf.c (bfd_elf_set_dt_needed_soname): New.
* elflink.h (elf_link_add_object_symbols): Add the DT_NEEDED
entry if the shared object loaded by DT_NEEDED is used to
resolve the reference in a regular object.
* readelf.c (get_dynamic_type): Change "AUXILARY" to
"AUXILIARY".
(process_dynamic_segment): Print out strings for DT_CONFIG,
DT_DEPAUDIT, DT_AUDIT and DT_RUNPATH.
Enable the support for Traditional MIPS.
* elf32-mips.c (IRIX_COMPAT): Recognize bfd_elf32_tradbigmips_vecand
return ict_none appropriately for traditional mips targets.
(STUB_LW): Change 0x8f998000 to 0x8f998010 for traditional mips.
(STUB_MOVE): Conditionalize for traditonal mips.
(STUB_LI16): Likewise.
(_bfd_mips_elf_modify_segment_map): Conditionalize to avoid making
room for RTPROC header.
(_bfd_mips_elf_modify_segment_map): For a normal mips executable set
the permission for the PT_DYNAMIC as read, write and execute.
(mips_elf_calculate_relocation): Check for the symbol _DYNAMIC_LINKING
for traditonal mips.
(_bfd_mips_elf_create_dynamic_sections): Add the symbol
_DYNAMIC_LINKING for traditonal mips.
(_bfd_mips_elf_create_dynamic_sections): Add the symbol __RLD_MAP
in case of traditonal mips.
(_bfd_mips_elf_adjust_dynamic_symbol): Create a stub only if a PLT
entry is required. For a function if PLT is not required then set the
corresponding hash table entry to 0.
(_bfd_mips_elf_size_dynamic_sections): Add DT_DEBUG entry for
traditonal mips.
(_bfd_mips_elf_finish_dynamic_symbol): for a undefined symbol in a
shared object set the value to 0.
(_bfd_mips_elf_finish_dynamic_symbol): Check for the symbol
_DYNAMIC_LINKING for traditonal mips.
(_bfd_mips_elf_finish_dynamic_symbol): Check for the symbol __RLD_MAP
for traditonal mips.
order for dynamic library '-lfoo' on pei386: libfoo.dll.a,
foo.dll.a, libfoo.a, libfoo.dll, foo.dll. This fixes compatibility
errors introduced by the old dynamic lib search order.
* ld-elfvsb/elfvsb.exp (support_protected): New variable. Check
and set to "yes" if the protected visibility is expected to
pass.
(visibility_run): Set expected to fail for the "protected"
and "protected_undef_def" tests only if $support_protected is
"no".
* ld-elfvsb/main.c (PROTECTED_CHECK): Check for the protected
visibility support if defined.
* ld-elfvsb/elfvsb.exp (visibility_run): Set expected failure
for "protected_undef_def".
* ld-elfvsb/main.c: Don't define HIDDEN_UNDEF_TEST when
PROTECTED_WEAK_TEST is defined.
Don't define PROTECTED_UNDEF_TEST when PROTECTED_WEAK_TEST is
defined.
Define PROTECTED_TEST when PROTECTED_UNDEF_TEST is defined.
* ld-elfvsb/sh1.c (visibility): Mark protected only if
PROTECTED_TEST, PROTECTED_UNDEF_TEST or PROTECTED_WEAK_TEST
is defined.
(visibility_var): Likewise.