setting ever. Sanity check the version number. Sort out copying
flags and other information when adding an indirect symbol.
(NAME(bfd_elf,size_dynamic_sections)): Preserve any dynamic
symbols added by the backend. Clear the entire contents of the
versym section.
(elf_export_symbol): Ignore indirect symbols.
(elf_link_output_extsym): Accept a section without an owner in an
assert.
* elfcode.h (elf_slurp_symbol_table): Add a sanity check on the
version count. Correct the allocation of x_versymp.
the magic sections used for SHN_MIPS_TEXT and SHN_MIPS_DATA.
Don't return bfd_und_section_ptr when info->shared.
(mips_elf_final_link): Set the alignment of .rtproc to 4, not 12.
(mips_elf_create_dynamic_sections): Correct type: ^= for &=.
(mips_elf_check_relocs): Resolve an indirect symbol in
sym_hashes.
(mips_elf_finish_dynamic_symbol): Don't change SHN_ABS into
SHN_MIPS_TEXT or SHN_MIPS_DATA.
output section is absolute when the input section is not
absolute.
* ldlex.l: Accept whitespace in VERS_START state. Warn about
invalid characters in VERS_* states.
ELF or COFF, you are permitted to switch into the section.
(Comm): Rewrite description of common symbols.
(Lcomm): Mention that some targets permit a third argument.
* configure, configure.in: Allow gdbserver to be configured
for cross-target environments.
* gdbserver/Makefile.in: Add simulator support.
* gdbserver/configure.in: Eliminate assumption that host == target.
Simplify using gdb/configure.tgt and gdb/configure.host.
Fix other minor configuration errors.
* gdbserver/low-sparc.c: Fix compile error.
* gdbserver/remote-utils.c: Eliminate assumption that registers
and addresses are four bytes. Fix minor compile errors and warnings.
* gdbserver/server.c: Rewrite numerous instances of identical code
for starting inferior processes to call new function start_inferior.
Eliminate assumption that registers and addresses are four bytes.
* gdbserver/server.h: Add missing prototypes to eliminate compiler
warnings.
* gdbserver/low-sim.c: New file to mate gdbserver with simulators.
* config/mips/vr5000.mt: Add Vr5000 simulator support to gdbserver.
* config/i386/linux.mh: Eliminate gdbserver support as a first step
in moving such support from host to target makefile fragments.
* config/i386/linux.mt: Move gdbserver support here from linux.mh.
* elf-bfd.h (ELF_LINK_FORCED_LOCAL): Define.
* elf.c (bfd_elf_print_symbol): Correct errors in last change.
* elflink.h (elf_link_add_object_symbols): Handle cases in which a
versioned symbol appears in both a regular and a shared object.
(elf_link_assign_sym_version): Set ELF_LINK_FORCED_LOCAL when
appropriate. Improve error message.
(struct elf_outext_info): Rename from elf_finfo_failed. Change
all uses. Add localsyms field.
(elf_bfd_final_link): When generating a shared library, call
elf_link_output_extsym to output all local symbols.
(elf_link_output_extsym): Handle symbols which were forced to
become local.
* symtab.h (INIT_SAL): New macro to initialize symtab_and_line,
to insure consistant initialization of unused fields to zero.
* symtab.c: replace initializations of sals with new macro INIT_SAL.
* breakpoint.c: ditto.
* infrun.c: ditto.
* infcmd.c: ditto.
* source.c: add call to INIT_SAL macro.
* config/obj-elf.h (struct elf_obj_sy): Define.
(OBJ_SYMFIELD_TYPE): Define to elf_obj_sy struct. Change all
users.
* config/obj-elf.c (obj_elf_symver): Just record the name.
(obj_symbol_new_hook): Initialized versioned_name field.
(elf_frob_symbol): If there is a versioned_name, either rename the
symbol, or add an alias with that name.
* elf-bfd.h (elf_symbol_type): Add version field.
* elfcode.h (elf_slurp_symbol_table): Set version field.
* elflink.h (elf_link_add_object_symbols): When creating an
indirect symbol for a default version symbol, set DEF_DYNAMIC if
appropriate. Set up an indirection from the nondefault version of
the symbol as well.
(NAME(bfd_elf,size_dynamic_sections)): Call
elf_link_assign_sym_version before checking whether there are any
versions. Always record the version name as a dynamic symbol.
Initialize counters.
(elf_link_assign_sym_version): After finding a version, see if a
symbol should be forced to local scope. Create a new version
definition if appropriate.
(elf_link_output_extsym): Correct indirect symbol handling.
* elf.c (bfd_elf_print_symbol): Print version information.
(bfd_section_from_shdr): Turn version sections into BFD sections.
(elf_fake_sections): Only copy cverdefs and cverrefs into sh_info
if sh_info is not already set.
(_bfd_elf_copy_private_section_data): Copy sh_info for version
sections.
* elflink.c (_bfd_elf_link_record_dynamic_symbol): Tell
_bfd_stringtab_add to copy the name into permanent memory if
appropriate.
* gdb.base/help.exp: Ditto.
* gdb.base/list.exp: Ditto.
* gdb.base/signals.exp: Ditto.
* config/monitor.exp(gdb_load): If gdb,use_standard_load is
set, use remote_ld to download the testcase instead of
the GDB loader.
_bfd_coff_compute_section_file_positions to return a boolean
value. Change all callers.
(coff_compute_section_file_positions): Change return type to
boolean. If the size of the last section changed, then output a
zero byte at the end of the file.
* libcoff.h: Rebuild.
PR 11806.
for at least 6 output symbols.
(xcoff_write_global_symbol): When emitting TOC entry relocs, also
emit a TC csect to represent the space they take up. For an XO
symbol, just emit a reference, not a csect.
PR 11793.
(md_convert_frag): Implement.
(md_assemble): Handle relaxable operands/instructions correctly.
(md_estimate_size_before_relax): Implement.
* config/tc-mn10300.h (TC_GENERIC_RELAX_TABLE): Define.
Branch relaxing for the mn10300. Reduces the code size of our libraries by
about 11%.
relocs. Replace them with generic PCREL_{8,16,32} relocs.
(elf32_mn10300_howto_table): Likewise.
(elf32_mn10300_reloc_map): Likewise.
(bfd_elf32_mn10300_reloc): Delete unused function.
Simplify the mn10300 port. Stuff I noticed while working on the mn10200.