2003-04-28 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_merge_symbol): Call elf_backend_copy_indirect_symbol
to copy any information related to dynamic linking when we flip
the indirection.
ld/testsuite/
2003-04-28 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp (picflag): Set PIC flag for compiler.
(build_vers_lib): Support PIC.
(build_vers_lib_no_pic): New. Change all calls to build_vers_lib
to build_vers_lib_no_pic.
(build_vers_lib_pic): New.
Add tests vers26a, vers26b1, vers26b2 and vers26b3 for versioned
definition vs. normal definition in different files.
* ld-elfvers/vers26a.c: New file.
* ld-elfvers/vers26a.dsym: Likewise.
* ld-elfvers/vers26a.map: Likewise.
* ld-elfvers/vers26a.ver: Likewise.
* ld-elfvers/vers26b.c: Likewise.
* ld-elfvers/vers26b.dsym: New empty file.
* ld-elfvers/vers26b.ver: Likewise.
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.
* elf32-m68hc11.c (m68hc11_elf_relax_section): Clear prev_insn_group
when we couldn't relax something.
* ld-m68hc11/bug-3331.d: New test.
* ld-m68hc11/bug-3331.s: New file.
* d10v-tdep.c (print_insn): Delete function.
(display_trace): Use TARGET_PRINT_INSN.
(_initialize_d10v_tdep): Do not set tm_print_insn.
(d10v_gdbarch_init): Set print_insn.
* d10v-tdep.c (d10v_extract_return_value): Delete call to printf.
(_initialize_d10v_tdep): Use add_setshow_boolean_cmd.
(d10v_frame_unwind_cache): Use FRAME_OBSTACK_CALLOC.
(NR_DMAP_REGS, A0_REGNUM): Delete, replaced by ...
(nr_dmap_regs, a0_regnum): ... new functions.
(d10v_print_registers_info): Use a0_regnum, use register_size.
(d10v_register_byte): Delete function.
(d10v_register_raw_size): Delete function.
(d10v_register_type): Use a0_regnum.
(d10v_print_registers_info): Use a0_regnum.
(D10V_SP_REGNUM): Rename _SP_REGNUM, replace it and SP_REGNUM.
(d10v_gdbarch_init): Do not set register_byte or
register_raw_size, use D10V_SP_REGNUM to set sp_regnum.
(d10v_pointer_to_address): Use extract_unsigned_integer instead of
extract_address.
(trace_command): Use XCALLOC.
(print_insn): Delete reference to tm_print_insn.
(saved_regs_unwinder): Use store_unsigned_integer instead of
store_address.
* frame.h (FRAME_OBSTACK_CALLOC): Define
* elflink.h (elf_merge_symbol): When we find a regular definition
for an indirect symbol, flip the indirection so that the old
direct symbol now points to the new definition.
* cp-support.c (cp_find_first_component): Accept 'operator' in
more locations.
2003-04-23 David Carlton <carlton@bactrian.org>
* gdb.c++/maint.exp (test_first_component): Add tests for
'operator' in more locations.