Commit graph

10275 commits

Author SHA1 Message Date
Ken Raeburn
488442d458 put current timestamp on merge log 1994-05-27 17:06:21 +00:00
Ken Raeburn
c06e55d99a changes from gas-2.3/binutils-2.4 dist (details in branch log msgs, changelogs) 1994-05-27 16:58:05 +00:00
Ian Lance Taylor
60e8a53407 * ldlang.c (entry_symbol): Make static.
(lang_add_entry): Add cmdline argument.
	* ldlang.h (lang_add_entry): Change prototype.
	* ldgram.y (statement_anywhere): Change lang_add_entry call.
	* lexsup.c (parse_args): Likewise.
1994-05-27 15:39:11 +00:00
Ian Lance Taylor
29371b1feb * ldlang.c (lang_add_entry): Only set the entry symbol if it has
not been set already.
1994-05-27 05:09:31 +00:00
Steve Chamberlain
3d3e5651cf * interp.c (trap): Fix irix incompatibility.
* run.c (main): open without specifying file type.
1994-05-27 02:06:14 +00:00
Jim Kingdon
1fd6553177 * Makefile.in: Add all-gui target (but not yet build by "all"). 1994-05-26 23:55:34 +00:00
Jim Kingdon
667fb5c3a7 * Makefile.in: Replace libgdb.a with libgdb-files. Make "all"
build it.
1994-05-26 23:46:00 +00:00
Jeff Law
ada45a2a82 * som.c (som_prep_headers): Do not set the system_id here, private
bfd data has not been copied yet.
	(som_write_headers): Instead do it here.
1994-05-26 16:13:47 +00:00
Bill Cox
66dea5074e * config.sub: Move deletion of patch suffix from here...
* configure.in: To here, at Ian's suggestion.  The top-
	  level scripts might need to know of a patch level.
1994-05-26 15:59:22 +00:00
Per Bothner
06f98d4908 * Makefile.in (TARGET_FLAGS_TO_PASS): Fix syntax of
sanitize-chill comments.
1994-05-26 00:12:21 +00:00
Bill Cox
b28575936e * config.sub: Strip off patch suffix so rtl is recognized
as a sunos4.1.3 machine, even though it's been patched.
1994-05-25 16:23:13 +00:00
Thomas Lord
8eb7b7c354 Make all the libgdb objects even when building gdb. This is because
cyscm links against ../../gdb/{...}.o

Added a new target: libgdb-files.  It creates a file of that name
containing a list of files for libgdb.  If the variable LIBGDBPREFIX
is set, each file name has that prepended.
1994-05-25 15:39:12 +00:00
Jim Kingdon
a13d789c7f Mention gdb-testers-request as well as gdb-testers. (not in ChangeLog
because gdb distributions should not contain references to snapshots).
1994-05-24 23:56:30 +00:00
Ian Lance Taylor
5315c42827 Make MIPS ELF use new ELF backend linker. No shared library
support yet.
	* elf32-mips.c (bfd_mips_elf32_swap_gptab_in): New function.
	(bfd_mips_elf32_swap_gptab_out): New function.
	(mips_elf_object_p): If last symbol is LOCAL, set elf_bad_symtab.
	(mips_elf_final_write_processing): Set sh_info field for .gptab.*
	sections.
	(mips_elf_fake_sections): Set sh_entsize for .gptab.* sections.
	(mips_elf_read_ecoff_info): Read and free external symbols last,
	not first, for clarity.
	(struct mips_elf_link_hash_entry): Define new structure.
	(struct mips_elf_link_hash_table): Define new structure.
	(mips_elf_link_hash_lookup): Define new macro.
	(mips_elf_link_hash_traverse): Define new macro.
	(mips_elf_hash_table): Define new macro.
	(mips_elf_link_hash_newfunc): New static function.
	(mips_elf_link_hash_table_create): New static function.
	(mips_elf_add_symbol_hook): New static function.
	(struct extsym_info): Define new structure.
	(mips_elf_get_extr, mips_elf_set_index): Remove.
	(mips_elf_output_extsym): New static function.
	(gptab_compare): New static function.
	(mips_elf_final_link): Rewrite to use ELF backend linker, and to
	merge gptab information in input files.
	(mips_elf_relocate_hi16): New static function.
	(mips_elf_relocate_section): New static function.
	(bfd_elf32_bfd_link_hash_table_create): Define as macro before
	including elf32-target.h.
	(elf_backend_relocate_section): Likewise.
	(elf_backend_add_symbol_hook): Likewise.
	* elf.c (_bfd_elf_link_hash_newfunc): Rename from
	elf_link_hash_newfunc and make globally visible.  Change caller.
	(_bfd_elf_link_hash_table_init): New function, broken out of
	_bfd_elf_link_hash_table_create.
	(_bfd_elf_link_hash_table_create): Use
	_bfd_elf_link_hash_table_init.
	* libelf.h (struct elf_obj_tdata): Add new field bad_symtab.
	(elf_bad_symtab): Define new accessor macro.
	(_bfd_elf_link_hash_newfunc): Declare.
	(_bew_elf_link_hash_table_init): Declare.
	* elfcode.h (elf_object_p): Call backend object_p hook after
	swapping in all the section headers.
	(map_program_segments): Correct typo: Internal for External.
	(elf_link_add_object_symbols): If elf_bad_symtab is set, read all
	the symbols.  Skip STB_LOCAL symbols rather than giving an error.
	(elf_bfd_final_link): If elf_bad_symtab is set, allocate space for
	all symbols, not just locals.
	(elf_link_output_extsym): Only skip a symbol not mentioned by a
	regular file if it is mentioned by a dynamic object.
	(elf_link_input_bfd): If elf_bad_symtab is set, read all the
	symbols.
1994-05-24 20:44:50 +00:00
Ian Lance Taylor
f49f58c6a8 * emulparams/elf32mipb.sh (OTHER_READONLY_SECTIONS): Don't give
.reginfo an address.
	(OTHER_READWRITE_SECTIONS): Don't give .lit4 or .lit8 an address.
	(OTHER_SECTIONS): Define for .gptab.sdata and .gptab.sbss.
	* scripttempl/elf.sc: Use OTHER_SECTIONS at end of script.
1994-05-24 20:21:27 +00:00
Bill Cox
90fba5fa0f * Revert the previous changes. Please see Rob's directory
/lisa/test/rob/progressive/gdb/testsuite for these fixes.
1994-05-21 17:24:22 +00:00
Ian Lance Taylor
a193acc0cc * as.h: Don't declare parameters for strstr. 1994-05-20 22:02:39 +00:00
Ian Lance Taylor
c8588f2f74 * coff-mips.c (mips_relocate_section): Add MIPS_R_JMPADDR overflow
checking.
1994-05-20 20:17:50 +00:00
Jeff Law
88bbe402bb * som.c (som_set_reloc_info): Do not set any relocation info
for SOM fixups which are never passed to BFD.
1994-05-20 19:43:18 +00:00
Ian Lance Taylor
08eceac316 Remove mention of keep-powerpc-netware: PowerPC NetWare is no longer
sanitized.
1994-05-20 18:26:18 +00:00
Ian Lance Taylor
eb8f714f21 Remove sanitization of PowerPC NetWare 1994-05-20 18:25:30 +00:00
Ian Lance Taylor
0bc179ada1 Remove sanitization of PowerPC NetWare. 1994-05-20 18:25:02 +00:00
Ian Lance Taylor
7ce8b9d18d Removed sanitization of PowerPC NetWare. Also rebuilt Makefile
dependencies.
1994-05-20 18:22:45 +00:00
Ian Lance Taylor
d5e29b6090 Remove sanitization of PowerPC NetWare. 1994-05-20 18:09:48 +00:00
Ian Lance Taylor
95b77361ab * elf32-i386.c (elf_i386_size_dynamic_sections): Add DT_DEBUG to
the dynamic linking information for the benefit of the debugger.
	From Peter Schauer.
	* elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
1994-05-20 16:14:35 +00:00
Ian Lance Taylor
497c543457 * elf.c (_bfd_elf_make_section_from_shdr): New function, based on
code repeated three times in bfd_section_from_shdr in elfcode.h.
	* libelf.h (_bfd_elf_make_section_from_shdr): Declare.
	* elfcode.h (bfd_section_from_shdr): Use new function
	_bfd_elf_make_section_from_shdr to create BFD sections.  If a
	reloc section does not use the main symbol table, or it is part of
	the process image, treat it as a normal section, not relocs.
	* elf32-mips.c (mips_elf_section_from_shdr): Use new function
	_bfd_elf_make_section_from_shdr.
1994-05-20 16:04:59 +00:00
Steve Chamberlain
09985c960d Really fix INSTALL_LAST this time.. 1994-05-20 15:28:26 +00:00
Jim Kingdon
429f1c9f46 * target.c, target.h: New variables target_activity_function and
target_activity_fd.
	* inflow.c, inferior.h: New functions set_sigio_trap and
	clear_sigio_trap.
	* inftarg.c (child_wait), procfs.c (wait_fd): Call them.
1994-05-20 03:43:39 +00:00
Ian Lance Taylor
6731b89c4b Make map_program_segments tend to call abort rather than trash the
stack in unhandled cases.  Still covered by previous ChangeLog entry.
1994-05-19 21:58:45 +00:00
Ian Lance Taylor
7a0c782d39 * elf32-target.h, elf64-target.h: Change ar_max_namelen value from
15 to 14 to match SVR4 ar.
1994-05-19 21:39:15 +00:00
Ian Lance Taylor
f8cc598ecd * configure.in: Use ld for i[34]86-*-sysv4* and sparc-*-solaris2*.
Don't set use_gnu_ld to no for *-*-sysv4; that only controls
	whether we pass down --with-gnu-ld anyhow.
1994-05-19 21:16:30 +00:00
Bill Cox
2f10998399 * Makefile.in, configure.in, config/mips-gdb.exp,
config/mt-a29k-udi, config/mt-i386-aout, config/mt-i960-nindy,
          config/mt-sparc-aout, config/udi-gdb.exp, config/unix-gdb.exp,
          config/unknown.exp, gdb.t00/default.exp, gdb.t00/help.exp,,
	  gdb.t00/teststrategy.exp, gdb.t01/Makefile.in, gdb.t02/Makefile.in,
	  gdb.t02/whatis.exp, gdb.t03/Makefile.in, gdb.t03/gdbme.c,
	  gdb.t04/Makefile.in, gdb.t05/Makefile.in, gdb.t06/Makefile.in,
	  gdb.t06/break.exp, gdb.t06/signals.c, gdb.t06/signals.exp,
	  gdb.t08/Makefile.in, gdb.t08/opaque.exp, gdb.t09/Makefile.in,
	  gdb.t10/Makefile.in, gdb.t11/Makefile.in, gdb.t12/Makefile.in,
	  gdb.t13/Makefile.in, gdb.t15/Makefile.in, gdb.t15/funcargs.exp,
	  gdb.t15/gdbme.c, gdb.t15/return.exp, gdb.t16/Makefile.in,
	  gdb.t17/Makefile.in, gdb.t17/callfuncs.exp, gdb.t17/gdbme.c,
	  gdb.t20/Makefile.in, gdb.t21/Makefile.in, gdb.t21/cplusfuncs.exp,
	  gdb.t22/Makefile.in, gdb.t22/virtfunc.exp, gdb.t23/Makefile.in,
	  gdb.t24/demangle.exp, lib/gdb.exp:  Check in Rob's testing
	  changes from 94Q1.
1994-05-19 19:58:04 +00:00
Ian Lance Taylor
f9c57637e4 * config/tc-sparc.c (md_section_align): Don't change the size if
OBJ_ELF.
1994-05-19 19:44:02 +00:00
Ian Lance Taylor
2a9fa50cd8 Add support for ELF shared libraries.
* ld.h (ld_config_type): Add field dynamic_link.
	* ldmain.c (main): Initialize config.dynamic_link to false.  Warn
	on attempts to use -r with -relax, -call_shared or -s.
	* lexsup.c (longopts): Separate OPTION_CALL_SHARED from
	OPTION_NON_SHARED.  Add OPTION_IGNORE.  Adjust macro values
	accordingly.  Add "dy" and "non_shared" options.  Change "Qy" to
	OPTION_IGNORE for now.  Handle OPTION_CALL_SHARED and
	OPTION_NON_SHARED by setting dynamic_link field accordingly.
	Handle OPTION_IGNORE by ignoring it.  Clear dynamic_link field for
	-r and -Ur.
	* ldfile.c (ldfile_open_file): If config.dynamic_link is true, try
	opening a file with a .so extension first.
	* emultempl/elf32.em: New file.
	* emulparams/elf32_sparc.sh (TEXT_START_ADDR): Change to 0x10000.
	(NONPAGED_TEXT_START_ADDR): Likewise.
	(TEMPLATE_NAME): Define as elf32.
	(DATA_PLT): Define.
	* emulparams/elf_i386.sh (TEMPLATE_NAME): Define as elf32.
	* scripttempl/elf.sc: Add placement for new dynamic sections.
	Don't use CREATE_OBJECT_SYMBOLS.  Define _etext, _edata and _end
	outside of any section.  Don't use ALIGN(8); just let one section
	VMA follow another.  Put .dynbss in .bss.  Don't mention debugging
	sections; they'll be handled correctly anyhow.
	* Makefile.in (eelf_i386.c): Depend upon elf32.em, not generic.em.
1994-05-19 18:25:10 +00:00
Ian Lance Taylor
013dec1ad9 Add support for ELF shared libraries. Loosely based on work by
Eric Youngdale <ericy@cais.com>.
	* libelf.h (struct elf_backend_data): Add new fields for dynamic
	linking: elf_backend_create_dynamic_sections,
	elf_backend_adjust_dynamic_symbol,
	elf_backend_size_dynamic_sections,
	elf_backend_finish_dynamic_symbol,
	elf_backend_finish_dynamic_sections.
	(struct elf_link_hash_entry): Change type of align field to
	bfd_size_type.  Add fields dynindx, dynstr_index, weakdef,
	elf_link_hash_flags.
	(struct elf_link_hash_table): Add fields dynobj, dynsymcount,
	dynstr, bucketcount.
	(bfd_elf32_swap_reloc_in, bfd_elf32_swap_reloc_out): Declare.
	(bfd_elf32_swap_reloca_in, bfd_elf32_swap_reloca_out): Declare.
	(bfd_elf32_swap_dyn_in, bfd_elf32_swap_dyn_out): Declare.
	(bfd_elf32_add_dynamic_entry): Declare.
	(bfd_elf64_swap_reloc_in, bfd_elf64_swap_reloc_out): Declare.
	(bfd_elf64_swap_reloca_in, bfd_elf64_swap_reloca_out): Declare.
	(bfd_elf64_swap_dyn_in, bfd_elf64_swap_dyn_out): Declare.
	(bfd_elf64_add_dynamic_entry): Declare.
	* elfcode.h (Elf_External_Dyn): Define.
	(elf_swap_reloc_in): Define as macro using NAME.  Make externally
	visible.
	(elf_swap_reloc_out): Likewise.
	(elf_swap_reloca_in, elf_swap_reloca_out): Likewise.
	(elf_swap_dyn_in, elf_swap_dyn_out): Define as macro using NAME
	and as new externally visible function.
	(elf_fake_sections): Set section type of dynamic sections based on
	section names.
	(elf_write_phdrs): Remove.
	(assign_file_position_for_section): Add new align argument.
	Change all callers.
	(get_program_header_size): New static function.
	(struct seg_info): Remove.
	(map_program_segments): Completely rewrite.
	(assign_file_positions_except_relocs): Completely rewrite.
	(assign_file_positions_for_relocs): Don't set a file position for
	sections which already have one.  Don't bother to align the file
	position here.
	(section_from_elf_index): Handle SHT_HASH and SHT_DYNAMIC
	section types.
	(elf_section_from_bfd_section): Likewise.
	(elf_slurp_symbol_table): If section_from_elf_index fails, just
	use bfd_abs_section rather than returning an error.
	(elf_sizeof_headers): Make useful.
	(elf_link_record_dynamic_symbol): New static function.
	(elf_link_add_object_symbols): Handle dynamic objects.
	(elf_link_create_dynamic_sections): New static function.
	(elf_add_dynamic_entry): Define as macro using NAME and as new
	externally visible function.
	(NAME(bfd_elf,record_link_assignment)): New function.
	(elf_buckets): New static variable.
	(NAME(bfd_elf,size_dynamic_sections)): New function.
	(struct elf_final_link_info): Add dynsym_sec and hash_sec fields.
	(elf_bfd_final_link): Handle dynamic linking.  Create a section
	symbol for all ELF sections, not all BFD sections.  Store section
	symbol index in target_index field, not index field.  Traverse
	over global symbols even if stripping.
	(elf_link_output_extsym): Output dynamic symbols.  Mark symbols
	defined by dynamic objects as undefined.
	(elf_link_input_bfd): Ignore dynamic objects.  Use target_index
	field for section relocs, and make sure it is set.
	(elf_reloc_link_order): Use target_index field for section relocs,
	and make sure it is set.
	* elf.c (elf_link_hash_newfunc): Initialize dynindx, dynstr_index,
	weakdef and elf_link_hash_flags fields.
	(_bfd_elf_link_hash_table_create): Initialize dynobj, dynsymcount,
	dynstr and bucketcount fields.
	* elf32-target.h: Initialize new dynamic linking fields.
	* elf64-target.h: Likewise.
	* elf32-i386.c: New functions for dynamic linking support.
	* elf32-sparc.c: Likewise.
	* bfd-in.h (bfd_elf32_record_link_assignment): Declare.
	(bfd_elf64_record_link_assignment): Declare.
	(bfd_elf32_size_dynamic_sections): Declare.
	(bfd_elf64_size_dynamic_sections): Declare.
	* bfd-in2.h: Rebuilt.
1994-05-19 18:23:40 +00:00
Steve Chamberlain
4be9e22a91 Change INSTALL_LASTness. 1994-05-19 16:31:33 +00:00
Steve Chamberlain
a987271c7e Thu May 19 09:29:12 1994 Steve Chamberlain (sac@cygnus.com)
* Makefile.in (INSTALL_LAST): Change operation so it works
	on more flavors of make.
	* configure.in (go32): Don't build libg++ or libio.
1994-05-19 16:31:06 +00:00
Jeff Law
2c4bbe475b * mh-hpux (CC): Add -Wp,-H256000 to avoid "too much defining"
errors from the HPUX 8 compilers.
1994-05-19 06:35:55 +00:00
Bill Cox
d7096b9269 * config/mt-lynx, config/mt-m68k, config/mt-mips-ecoff,
config/mt-slite, config/mt-unix, config/mt-vxworks: Add
	  Rob's new testing fragments.
1994-05-19 00:06:29 +00:00
David Edelsohn
fe031f82c4 * interp.c (sim_*): Make result void where there isn't one.
(sim_set_pc): Delete.
	(sim_info): Delete printf_fn arg, all callers changed.
	Call printf_filtered instead.
	(sim_close): New function.
	(sim_load): New function.
	(sim_create_inferior): Renamed from sim_set_args, all callers changed.
	* run.c: #include <varargs.h>, "remote-sim.h".
	(printf_filtered): New function.
1994-05-18 21:37:08 +00:00
David Edelsohn
3a1d485df5 * compile.c: #include "bfd.h".
(sim_*): Set result type to void where there isn't one.
	(sim_resume, default case): Set cpu.exception to SIGILL.
	(sim_trace): Delete.
	(sim_set_pc): Delete.
	(sim_info): Delete printf_fn arg, all callers changed.
	Call printf_filtered.
	(set_h8300h): New arg `flag', all callers changed.
	(sim_close): New function.
	(sim_load): New function.
	(sim_create_inferior): Renamed from sim_set_args, all callers changed.
	* run.c: #include <varargs.h>, "remote-sim.h".
	(printf_filtered): New function.
1994-05-18 20:55:12 +00:00
David Edelsohn
47424e7931 * remote-sim.h (sim_verbose): Delete.
Document callbacks needed.
	(sim_*): Change result to void where there isn't one.
	(sim_open): Clarify argument and error response.
	(sim_close): Declare.
	(sim_load): Change bfd_handle argument to file name.  Clarify result.
	(sim_create_inferior): Renamed from sim_set_args.
	(sim_set_pc): Delete.
	(sim_info): Delete printf_fn argument.
	* remote-sim.c (gdbsim_kill): Add comment describing purpose.
	(gdbsim_load): Try sim_load first.
	(gdbsim_create_inferior): Call sim_create_inferior.
	(gdbsim_open): Handle args == NULL.  Update call to sim_open.
	(gdbsim_close): Call sim_close.
	(gdbsim_files_info): Update call to sim_info.
	(gdbsim_ops): Realign comments.
1994-05-18 20:42:06 +00:00
David Edelsohn
bc67bf9606 (decode_format): Allow TARGET_PTR_BIT to be non-constant. 1994-05-18 20:04:23 +00:00
Ian Lance Taylor
d43a0b2e43 Expand my entry a bit. 1994-05-18 17:32:52 +00:00
Ian Lance Taylor
188ce70585 * Makefile.in (install): Redirect output of ln to /dev/null. 1994-05-18 17:18:23 +00:00
Ian Lance Taylor
ac7f7dfeb9 * Makefile.in (install): Redirect ln output to /dev/null. If ln
fails on gasp, install gasp.new, not gasp.
1994-05-18 17:11:19 +00:00
Ian Lance Taylor
66957ce49a Comment changes. 1994-05-18 16:59:26 +00:00
Ian Lance Taylor
82492ca110 * som.c: Don't include <sys/dir.h> or <sys/user.h>.
(som_reloc_queue_find): Call memcmp instead of bcmp.
	(som_bfd_reloc_type_lookup): Change first argument to bfd *.
	(compare_syms): Change types of arguments to const void *.
	(bfd_section_from_som_symbol): Removed unused local found.
	(som_write_armap): Add elength, map, orl_count and int arguments.
	(som_write_armap): Use %ld and cast to long for getuid result.
1994-05-18 15:32:15 +00:00
Jeff Law
44e8d616e5 * config/tc-hppa.c (pa_ip): Use R_HPPA_ABS_CALL, not R_HPPA for
absolute calls.
1994-05-18 15:18:23 +00:00
Jeff Law
673acecaa5 * elf32-hppa.h (R_HPPA_ABS_CALL): Define.
* elf32-hppa.c (hppa_elf_gen_reloc_type): Handle absolute calls.

	* som.h (R_HPPA_ABS_CALL): Define.
	* som.c (hppa_som_gen_reloc_type): Delete complex relocation types.
1994-05-18 15:13:27 +00:00