Ken Raeburn [Wed, 11 May 1994 23:10:34 +0000 (23:10 +0000)]
* ldver.c (ldversion): Updated version number.
* cdtest-foo.cc: Use explicit "#pragma implementation".
* cdtest-bar.cc: Renamed from cdtest-func.cc.
* Makefile.in: References to cdtest-func.o changed to cdtest-bar.o.
Ian Lance Taylor [Wed, 11 May 1994 20:29:21 +0000 (20:29 +0000)]
Don't create unnecessary output sections.
* ldlang.c (out_bfd_get_section_by_name): Remove.
(wild_section): Call bfd_get_section_by_name rather than
our_bfd_get_section_by_name. Don't call wild_doit if there is no
section.
(lang_create_output_section_statements): Remove.
(map_input_to_output_sections): For several cases, call init_os if
it has not already been called.
(lang_size_sections): If output section was not created, skip it.
(lang_process): Don't call lan_create_output_section_statements.
(lang_place_orphans): Skip files with just_syms_flags set to true.
* ld.texinfo: Document change.
Ian Lance Taylor [Tue, 10 May 1994 18:33:44 +0000 (18:33 +0000)]
* ldlang.c (wild_doit): Don't bother initializing the vma and
section size. Don't special case SEC_SHARED_LIBRARY.
(lang_size_sections): Handle SEC_COFF_SHARED_LIBRARY sections
specially.
Ian Lance Taylor [Tue, 10 May 1994 18:29:19 +0000 (18:29 +0000)]
* section.c (SEC_COFF_SHARED_LIBRARY): Renamed from
SEC_SHARED_LIBRARY for clarity. Changed all uses.
* bfd-in2.h: Rebuilt.
* coffcode.h (sec_to_styp_flags): If SEC_COFF_SHARED_LIBRARY is
set, set STYP_NOLOAD.
* coffgen.c (coff_section_from_bfd_index): Don't get an assertion
failure because of a bad shared library.
* linker.c (_bfd_generic_link_add_one_symbol): If hashp and *hashp
are not NULL, assume the caller has already looked up the symbol
in the hash table and has stored the entry in *hashp.
(generic_link_add_symbol_list): Set h to NULL before calling
_bfd_generic_link_add_one_symbol.
* ecoff.c (ecoff_link_add_externals): Likewise.
* readline.c (_rl_set_screen_size): Don't compile if __GO32__ is
defined.
* rltty.c (control_meta_key): Likewise.
* parens.c: If __GO32__ is defined, undefine FD_SET.
* signals.c: Include SIGWINCH handling in the set of things which
is not done if HANDLE_SIGNALS is not set.
* elfcode.h: Include bfdlink.h. Added several new functions to do
linking.
(ELF_R_TYPE): Define.
(bfd_add_to_strtab): Return unsigned long. Change check for
realloc failure.
(elf_fake_sections): Check return value of bfd_add_to_strtab.
(elf_compute_section_file_positions): Add link_info argument.
Call elf_backend_begin_write_processing hook and prep_headers
here. Only call swap_out_syms if link_info is NULL. Set up
.shstrtab section here. Pass dosyms argument to
assign_file_positions_except_relocs. Set output_has_begun flag.
(assign_file_positions_for_symtab_and_strtabs): Add dosyms
argument, and use it to control setting .symtab and .strtab file
positions.
(assign_file_positions_except_relocs): Add dosyms argument, and
pass it on.
(prep_headers): Check return value of bfd_add_to_strtab.
(swap_out_syms): Likewise. Also, don't set up .shstrtab here.
(NAME(bfd_elf,write_object_contents)): Some calls moved into
elf_compute_section_file_positions.
(elf_set_section_contents): Likewise.
(elf_slurp_symbol_table): SHN_LORESERV corrected to SHN_LORESERVE.
* libelf.h: Include bfdlink.h.
(struct elf_backend_data): Add fields collect,
elf_add_symbol_hook, elf_backend_relocate_section.
(struct bfd_elf_section_data): Add field rel_hashes.
(struct elf_obj_tdata): Remove fields internal_syms and symbols.
Add field sym_hashes.
(obj_symbols, obj_internal_syms): Remove definitions.
(elf_sym_hashes): Define.
(struct elf_link_hash_entry): Define.
(struct elf_link_hash_table): Define.
(elf_link_hash_lookup): Define.
(elf_link_hash_traverse): Define.
(elf_hash_table): Define.
(_bfd_elf_link_hash_table_create): Declare.
(bfd_elf32_bfd_link_add_symbols): Declare.
(bfd_elf32_bfd_final_link): Declare.
(bfd_elf64_bfd_link_add_symbols): Declare.
(bfd_elf64_bfd_final_link): Declare.
* elf.c: Include bfdlink.h.
(elf_link_hash_newfunc): New function.
(_bfd_elf_link_hash_table_create): New function.
* elf32-target.h (elf_backend_relocate_section): If not defined,
define as 0 and use generic linker. Otherwise, use ELF backend
linker.
(elf_backend_collect): If not defined, define as false.
(elf_backend_add_symbol_hook): If not defined, define as 0.
(elf32_bed): Initialize new fields.
* elf64-target.h: Same changes as elf32-target.h.
* elf32-i386.c: Include bfdlink.h.
(elf_i386_relocate_section): New function.
(elf_backend_relocate_section): Define.
* elf32-sparc.c: Include bfdlink.h.
(elf_info_to_howto): Change type of dst from Elf32_Internal_Rela
to Elf_Internal_Rela (they're the same type anyhow).
(elf_sparc_relocate_section): New function.
(elf_backend_relocate_section): Define.
* elf32-mips.c (elf_backend_collect): Define.
Jim Kingdon [Sun, 8 May 1994 01:21:24 +0000 (01:21 +0000)]
Fix typo in gdb-goto-first-gdb-instance.
Re-write gdb-look-for-tagged-buffer to avoid recursion (I was getting
errors because of too much nesting, obviously elisp lacks tail
recursion optimization)
Fix toggle-bp-this-line for new ways of communicating with gdb and
rename to gdb-toggle-bp-this-line.
* configure.in (host==go32): Configure dosrel too.
* Makefile.in (INTALL_TARGET): Call INSTALL_LAST last.
(HOST_CC, HOST_PREFIX, HOST_PREFIX_1): Undefine, they should
be set by incoming names or templates.
(INSTALL_LAST): New rule.
* config/mh-go32: New fragment.
* Makefile.in (kdb): Remove old init.c creation commands.
* configure.in (sparclite): Match on sparclite*.
* sparclite/aload.c (main): Only change section addresses for
a.out format object files.
* ldfile.c (ldfile_open_command_file): Set bfd_error_system_call
before calling einfo, since we are reporting an fopen failure.
From [email protected] (Rick Sladkey).
Ken Raeburn [Fri, 6 May 1994 06:55:35 +0000 (06:55 +0000)]
* emultempl/generic.em: Use "e" rather than "em_" as prefix for filename.
* emultempl/gld960.em, emultempl/gld960c.em, emultempl/lnk960.em,
emultempl/hppaelf.em, emultempl/m88kbcs.em, emultempl/vanilla.em: Ditto.
* Makefile.in: Changed all generated file names.
(ldemul-list.h): Depend on Makefile, not config.status. Changed sed patterns
to handle new filenames.
Ken Raeburn [Fri, 6 May 1994 00:12:22 +0000 (00:12 +0000)]
* config/mh-lynxrs6k: Renamed from mh-lynxosrs6k, to make it unique in 8.3
naming schemes.
* configure.in (appdirs): New variable. Currently empty, but will be used in
gas distribution. If nonempty, lists a set of directories at least one of
which must get configured, or top level configuration is considered to have
failed.
(rs6000-*-lynxos*): Use new file name.
Ken Raeburn [Fri, 6 May 1994 00:03:11 +0000 (00:03 +0000)]
* symbols.c (symbol_new) [BFD_ASSEMBLER]: Don't permit additions to the symbol
table if it's already been set in the output bfd.
(symbol_begin) [! EMIT_SECTION_SYMBOLS] [RELOC_REQUIRES_SYMBOL]: Don't use
bfd_abs_section.symbol for gas absolute symbol.
Ken Raeburn [Thu, 5 May 1994 21:38:25 +0000 (21:38 +0000)]
* config/obj-coff*.*: Merged coffbfd versions into coff versions, with a single
"#ifdef BFD_ASSEMBLER" controlling most of it for now. Deleted obj-coffbfd.*
files.
* configure.in: Always use obj-coff.* for COFF targets.
Jim Kingdon [Thu, 5 May 1994 04:35:09 +0000 (04:35 +0000)]
* infrun.c (proceed, normal_stop, wait_for_inferior), breakpoint.c
(print_it_normal): Add annotations for the inferior starting and
stopping, and for all the various messages related to how it
stopped.
Jim Kingdon [Thu, 5 May 1994 04:25:03 +0000 (04:25 +0000)]
* annotate.texi: Change edition to 0.5 and date to May 1994.
Add index.
(Frames): New node, for frame annotation.
(Displays): New node, for display annotation.
Per Bothner [Thu, 5 May 1994 00:19:33 +0000 (00:19 +0000)]
Add partial support for g++ code compiled with -fvtable-thunks.
* c-valprint.c (c_val_print): Add vtblprint support
when using thunks.
* cp-valprint.c (cp_is_vtbl_member): A vtable can be an array of
pointers (if using thunks) as well as array of structs (otherwise).
* cp-valprint.c (vtbl_ptr_name_old, vtbl_ptr_name): Move to global
level, and make the latter non-static (so define_symbol can use it).
* stabsread.c (define_symbol): If the type being defined is a
pointer type named "__vtbl_ptr_type", set the TYPE_NAME to that name.
* symtab.h (VTBL_PREFIX_P): Allow "_VT" as well as "_vt".
* values.c (value_virtual_fn_field): Handle thunks.
* values.c (value_headof): Minor efficiency hack.
* values.c (value_headof): Incomplete thunk support. FIXME.
Stu Grossman [Wed, 4 May 1994 21:42:06 +0000 (21:42 +0000)]
* chardefs.h, rldefs.h: Move decls of string funcs from chardefs.h
to rldefs.h so that they don't pollute apps that include
readline.h.
* history.c: include rldefs.h to get decls of string funcs.
* config/m68k.mt (EMUL): Set to m68kaout.
* emulparams/m68kaout.sh: New file.
* Makefile.in (ALL_EMULATIONS): Add em_m68kaout.o.
(em_m68kaout.c): New target.
* ldlang.c (lang_size_sections): If dot moves because of an
assignment, don't try to insert a pad into the absolute output
section, just change the address of the default memory region
instead.
Jim Kingdon [Wed, 4 May 1994 14:20:32 +0000 (14:20 +0000)]
* core.c (memory_error), symtab.c (cplusplus_hint, decode_line_1),
language.c (type_error, range_error): Use filtered output.
* utils.c (error_begin): Update comment to tell people to use
filtered output.