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.
Stan Shebs [Fri, 6 May 1994 20:39:25 +0000 (20:39 +0000)]
Fri May 6 13:30:22 1994 Stan Shebs (shebs@andros.cygnus.com)
* 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 jrs@world.std.com (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.
Ken Raeburn [Wed, 4 May 1994 06:19:26 +0000 (06:19 +0000)]
* obj-coff.h (TARGET_FORMAT) [TC_I960]: Select little endian version.
* obj-coffbfd.h (TARGET_FORMAT) [TC_I960]: Ditto.
* obj-coff.c (coff_frob_section): Round up the size of every section to a
multiple of the alignment, so that BFD doesn't surprise us.
Eliminate many simple differences between the two COFF back ends:
* obj-coffbfd.c: Removed all uses of DEFUN and DEFUN_VOID. Made minor
stylistic changes, deleted some register declarations.
(stack_top): Deleted.
(symbol_to_chars): Use absolute_section and reg_section instead of the
corresponding SEG_* symbols.
(obj_coff_endef, tag_find_or_make, fixup_segment): Likewise.
(stack typedef, stack_init, stack_delete, stack_push, stack_pop): Moved to just
after pseudo-op table. All functions now static.
(stack_delete): Removed declaration.
(tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just after stack
functions.
* obj-coffbfd.h: Reordered some declarations and macros.
(stack_init, stack_delete, stack_push, stack_pop): Don't declare.
(stack typedef): Deleted.
(SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test.
(SYM_AUXENT): New macro.
(SA_GET_*, SA_SET_*): Define in terms of SYM_AUXENT when feasible.
(SF_GET_*, SF_SET_*): Define in terms of SF_GET when feasible.
(SA_GET_SYM_TAGNDX, SA_GET_SYM_ENDNDX, SA_SET_SYM_TAGNDX, SA_SET_SYM_ENDNDX,
object_headers typedef, data_section_header, text_section_header): Delete
non-BFD_HEADERS versions, since we always define that symbol now.
* obj-coff.c (stack_top): Deleted.
(obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size, obj_coff_scl,
obj_coff_tag, obj_coff_type, obj_coff_val): Change argument name from "ignored"
to "ignore".
(obj_coff_val): Use frag_now_fix.
(obj_pseudo_table): Removed IGNORE_DEBUG version, since it doesn't get used.
(stack typedef, stack_init, stack_delete, stack_push, stack_pop): Moved to just
after pseudo-op table. All functions now static.
(tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just after stack
functions.
* obj-coff.h: Reordered some declarations and macros. Protected against
multiple inclusions.
(stack_init, stack_delete, stack_push, stack_pop): Don't declare.
(stack typedef): Deleted.
(SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test.
(stdoutput): Deleted declaration.
(TARGET_FORMAT) [TC_I386]: Don't define if already defined.
Ken Raeburn [Wed, 4 May 1994 05:45:43 +0000 (05:45 +0000)]
* configure.in (i[34]86-*-sco*): Move to be with other i386 targets.
(romp-*-*): New target. Skip various binary utilities.
(vax-*-*): New target. Don't build newlib.
(vax-*-vms): Renamed from *-*-vms. Don't build opcodes or newlib.
Jim Kingdon [Tue, 3 May 1994 15:13:26 +0000 (15:13 +0000)]
* procfs.c (procfs_wait): Reinstate code which deduces the signal
from the fault, #ifndef FAULTED_USE_SIGINFO.
* config/sparc/tm-sun4sol2.h: Define FAULTED_USE_SIGINFO.
* subsegs.h (segment_info_type): Use fix_tail field even if
BFD_ASSEMBLER.
* subsegs.c (subseg_change): Initialize fix_tail field.
(subseg_get): Likewise.
* write.c (frags_chained): New static variable.
(fix_new_internal): If frags_chained is set, use fix_root and
fix_tail from seg_info (now_seg), rather than frchain_now.
(chain_frchains_together_1): Set fix_tail field.
(chain_frchains_together): Set frags_chained.
Stan Shebs [Sat, 30 Apr 1994 00:04:43 +0000 (00:04 +0000)]
Fri Apr 29 15:56:18 1994 Stan Shebs (shebs@andros.cygnus.com)
* xcoffexec.c: Reformat to standards and lint.
(language.h): Include.
(exec_close): Declare arg "quitting".
(file_command): Declare arg "from_tty".
(map_vmap): Cast xmalloc result to PTR.
* rs6000-nat.c: Reformat to standards and lint.
(exec_one_dummy_insn): Use char array for saved instruction.
(fixup_breakpoints): Declare.
(vmap_ldinfo): Be more informative in fatal error messages.
(xcoff_relocate_symtab): Define to return void.
* xcoffsolib.h: Reformat to standards, improve comments.
* config/rs6000/nm-rs6000.h (xcoff_relocate_symtab): Declare.