2003-05-20 Jakub Jelinek <jakub@redhat.com>
* elflink.h (elf_link_output_extsym): Only issue error about !=
STV_DEFAULT symbols if they are bfd_link_hash_undefined.
2003-05-20 H.J. Lu <hongjiu.lu@intel.com>
* elflink.c (_bfd_elf_merge_symbol): Check ELF_LINK_DYNAMIC_DEF
when removing the old definition for symbols with non-default
visibility.
ld/testsuite/
2003-05-20 Jakub Jelinek <jakub@redhat.com>
* ld-elfvsb/common.c: New file.
* ld-elfvsb/elfvsb.exp: Add common.
2003-05-20 H.J. Lu <hongjiu.lu@intel.com>
* ld-elfvsb/sh3.c: New file.
* ld-elfvsb/test.c: Likewise.
* ld-elfvsb/elfvsb.exp: Add new weak hidden symbol tests.
* config/default.exp (gcc_ld_flag): New. Make the newly built
linker available to gcc.
* lib/ld-lib.exp (default_ld_simple_link): Pass $gcc_ld_flag
to gcc.
* ld-elfvers/vers.exp: Use "ld_simple_link $CC" to build shared
libraries.
* ld-elfvsb/elfvsb.exp: Likewise.
* ld-elfweak/elfweak.exp: Likewise.
* ld-shared/shared.exp: Likewise.
* ld-elfvers/vers.exp: Use "-Wl,-rpath,." to build shared
libraries.
* ld-elfvsb/elfvsb.exp: Likewise.
* ld-elfvsb/elfvsb.exp: Remove xfail for powerpc-*-linux*.
* ld-elfweak/elfweak.exp: Use PIC for shared libraries.
to linker script.
* ld-elfvsb/elfvsb.exp (visibility_run): Add setup_xfails for s390x.
* ld-selective/selective.exp: Disable for s390 and s390x.
* ld-shared/elf-offset.ld: Add .rel.eh_frame and .rela.eh_frame
to linker script.
* ld-shared/shared.exp (shared_test): Add setup_xfails for s390x.
* ld-undefined/undefined.exp (checkund): Remove setup_xfail for s390x.
2003-04-27 H.J. Lu <hjl@gnu.org>
* elf-bfd.h (ELF_LINK_DYNAMIC_DEF): New.
(ELF_LINK_DYNAMIC_WEAK): New.
* elflink.h (elf_merge_symbol): Add one argument to indicate if
a symbol should be skipped. Ignore definitions in dynamic
objects for symbols with non-default visibility.
(elf_add_default_symbol): Adjusted.
(elf_link_add_object_symbols): Check if a symbol should be
skipped. Don't merge the visibility field with the one from
a dynamic object.
(elf_link_check_versioned_symbol): Use undef_bfd.
(elf_link_output_extsym): Warn if a forced local symbol is
referenced from dynamic objects. Make non-weak undefined symbol
with non-default visibility a fatal error.
ld/testsuite/
2003-04-27 H.J. Lu <hjl@gnu.org>
* ld-elfvsb/elfvsb.dat: Updated.
* ld-elfvsb/elfvsb.exp: Likewise.
* ld-elfvsb/main.c: Likewise.
* ld-elfvsb/sh1.c: Likewise.
* ld-elfvsb/sh2.c: Likewise.
* ld-bootstrap/bootstrap.exp: Rebuild tmpdir/ld2 with tmpdir/ld3
on Linux/mips.
* ld-elfvers/vers.exp: Also run on istarget Linux/mips.
* ld-elfvsb/elfvsb.exp: Likewise.
* ld-shared/shared.exp: Likewise.
* ld-selective/selective.exp: Mark selective2, selective3,
selective4 and selective5 xfail on Linux/mips.
* ld-shared/main.c: Skip invalid -Bsymbolic tests on Linux/mips.
* symbolic.dat: Remove invalid -Bsymbolic tests on Linux/mips.
* ld-srec/srec.exp: Add Linux/mips to xfail.
* ld-bootstrap/bootstrap.exp: Rebuild tmpdir/ld2 with tmpdir/ld3
for -static on ia64.
* ld-checks/checks.exp: Don't run on ia64-*-elf* nor
ia64-*-linux*.
* ld-elfvers/vers.exp: Also run ia64-*-elf* and ia64-*-linux*.
* ld-elfvsb/elfvsb.exp: Use i?86-*-*. Also run on ia64-*-linux*.
Set up expected failures for ia64-*-linux*.
* ld-shared/shared.exp: Likewise.
* 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.