Commit Graph

10245 Commits

Author SHA1 Message Date
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
Stan Shebs
298f0428b4 Tue May 17 16:45:20 1994 Stan Shebs (shebs@andros.cygnus.com)
* xcoffread.c (read_xcoff_symtab): For C_FILE symbols, only use
	the auxent if the symbol's name is ".file".  From David Edelsohn
	<c1dje@watson.ibm.com>.
1994-05-18 03:13:09 +00:00
Jim Kingdon
20b3c1aae5 * breakpoint.c (breakpoint_1): Fix typo.
* annotate.c (annotate_field_end): Fix typo.

	* Makefile.in: Move annotate.o from COMMON_OBS to OBS.

	* Makefile.in (TSSTART): Remove; no longer used.
1994-05-18 00:59:15 +00:00
Karen Christiansen
8456a631c4 more cleanup 1994-05-18 00:03:28 +00:00
Karen Christiansen
fea1500110 cleanup after 94q2 migration 1994-05-17 23:57:58 +00:00
Ken Raeburn
0f62bdc03b * coff-i960.c (icoff_little_vec, icoff_big_vec): Indicate leading underscore,
for compatibility with Intel tool chain (gnu960v2).
1994-05-17 23:43:48 +00:00
Bill Cox
9cda8e3a44 * Makefile.in (.m.c:): Added .SUFFIXES : .m
so flat_bl.c would make from flat_bl.m file.
1994-05-17 22:56:13 +00:00
Bill Cox
2a12627b21 * ld.bootstrap/bootstrap.exp, lib/ld.exp: Replace error proc
calls with perror calls.
1994-05-17 22:40:29 +00:00
Bill Cox
8f07e53768 * config/mips-gdb.exp, config/udi-gdb.exp, config/vx-gdb.exp,
lib/gdb.exp: Replace error proc calls with perror.
1994-05-17 22:06:15 +00:00
Bill Cox
858665b799 * lib/gas-defs.exp: Replace error proc calls with perror calls. 1994-05-17 21:54:41 +00:00
Bill Cox
087188e0df * config/default.exp, config/unix.exp: Replace error
proc calls with perror.
1994-05-17 21:06:39 +00:00
Jim Kingdon
9c036bd836 * utils.c (vfprintf_maybe_filtered, vfprintf_unfiltered): Call
fputs_unfiltered and exit directly, rather than fatal.  The latter
	calls vfprintf_unfiltered!

	* gdbtypes.h, gdbtypes.c (can_dereference): New function.
	* value.h, printcmd.c (print_value_flags): Move from here...
	* annotate.c: ...to here, and make it use can_dereference.
1994-05-17 20:13:50 +00:00
Jeff Law
ee8b834600 * config/tc-hppa.c (pa_parse_fp_cmp_cond): Report an error
on a partial completer match.
1994-05-17 18:54:50 +00:00
Stan Shebs
60b3e2812a Fix a sanitization screwup. 1994-05-17 16:59:33 +00:00
Stan Shebs
b17fd29d90 Mon May 16 19:00:50 1994 Stan Shebs (shebs@andros.cygnus.com)
* gdb.t00/teststrategy.exp: Reorder so that AIX gdb can print the
	version also, match on casted version strings, and match on
	gdb startup case where the line numbers might be messed up.
1994-05-17 02:10:17 +00:00
Jeff Law
4bd5c39f5c * emultempl/hppaelf.em: Change all references of
.hppa_linker_stubs to .PARISC.stubs.
	* scripttempl/hppaelf.sc: Likewise.
1994-05-16 19:38:39 +00:00
Jeff Law
459ae909b9 * bfd-in2.h: Rebuilt.
* elf32-hppa.c: Change .hppa_linker_stubs to .PARISC.stubs,
	likewise for other PA specific sections.
	(hppa_elf_relocate_unwind_table): Delete unused
	function.
	(elf_hppa_howto_table): Completely new table based on 94-02-02
	draft PA ELF spec.  Change relocation tags appropriately
	throughout elf32-hppa.c
	(hppa_elf_gen_reloc_type): Rewrite and simplify based on 94-02-02
	spec.
	(hppa_elf_reloc): Likewise.
	(hppa_look_for_stubs_in_section): Likewise
	(ELF_MACHINE_CODE): Change to EM_PARISC.
	* elf32-hppa.h: Include "elf/hppa.h".  Change relocation tags
	appropriately throughout elf32-hppa.h.
	(elf32_hppa_reloc_type): New table based on 94-02-02 draft PA ELF
	spec.
	(R_HPPA_ABS_CALL, R_HPPA_COMPLEX*, R_HPPA_UNWIND): Delete definitions.
	* elfcode.h (prep_headers): Use EM_PARISC instead of EM_HPPA.
	* reloc.c (bfd_reloc_code_real): Delete unused HPPA relocations.
	* som.h (R_HPPA_ABS_CALL, R_HPPA_COMPLEX): Delete definitions.

	* libhppa.h (hppa_field_adjust): Avoid adding constant_value into
	the final value twice for LR and RR field selectors.
1994-05-16 19:34:13 +00:00
Jeff Law
3315c7c714 * config/tc-hppa.c: Change .hppa_unwind to .PARISC.unwind
throughout code.
	(is_complex): Delete definition and support for complex relocation
	types.
	(tc_gen_reloc): Delete special unwind crud for ELF.  Simplify and
	rewrite ELF code based on 94-02-02 PA ELF draft spec.
	(pa_build_unwind_subspace): Use standard PARISC_DIR32 relocs for
	the unwind descriptors.
1994-05-16 19:29:56 +00:00
Jeff Law
a0546d5ed3 * gas/hppa/reloc/reloc.exp: Tweak expected output to match new
ELF code.
	* gas/hppa/reloc/roundmode.s: Avoid "S" and "D" modes, ELF does
	not support them.
	* gas/hppa/unsorted/unsorted.exp: Tweak expected output to match
	new ELF code.
1994-05-16 19:25:51 +00:00
Jeff Law
ab0453e05d * common.h (EM_HPPA): Delete.
(EM_PARISC): Add.
	* hppa.h: New file.
1994-05-16 19:23:59 +00:00
Jeff Law
85579659a5 Fix typo in last check-in. 1994-05-16 16:35:36 +00:00
Jeff Law
c3cb04b440 * libhppa.h (hppa_field_adjust): Avoid adding constant_value into
the final value twice for LR and RR field selectors.
1994-05-16 16:13:34 +00:00
Stan Shebs
16d2cc8084 Sat May 14 15:13:52 1994 Stan Shebs (shebs@andros.cygnus.com)
* inflow.c (job_control, attach_flag, generic_mourn_inferior):
	Remove, needed for both native and cross.
	* target.c (attach_flag, generic_mourn_inferior): Put here.
	* utils.c (job_control): Put here.
	(terminal.h): Don't include anymore.
1994-05-14 23:12:29 +00:00
Jim Kingdon
d8fc877318 * source.c (find_source_lines): Always use code that was #ifdef
BROKEN_LARGE_ALLOCA.  Do the cleanup before returning, rather than
	leaving it on the chain.  Reindent much of this function.
	* config/sparc/{xm-sun4sol2.h,xm-sun4os4.h},
	config/i386/{xm-sun386.h,xm-i386m3.h,xm-i386mach.h},
	config/m68k/{sun3os4.h,xm-news.h,xm-hp300hpux.h},
	config/ns32k/xm-ns32km3.h: Remove all references to
	BROKEN_LARGE_ALLOCA; with the above change it is no longer needed.
	* main.c, fork-child.c, many config files: Remove all
	SET_STACK_LIMIT_HUGE code; with the above changes it should no
	longer be needed.

	* symtab.c (lookup_partial_symbol): Use if and abort, not assert.
	This avoids __eprintf troubles.

	* main.c (main): Surround in #ifndef MAIN_OVERRIDE.  Move
	initialization code which needs to be called even if we bypass the
	command line stuff into gdb_init.
	* utils.c (fputs_unfiltered): Surround in #ifndef
	FPUTS_UNFILTERED_OVERRIDE.
	* Makefile.in (libgdb.a): New target.

	* utils.c: Rearrange I/O stuff a bit so that all output goes
	through fputs_unfiltered.  Use vasprintf; removes arbitrary limit
	which made %s not work with arbitrarily large strings.
	* printcmd.c (printf_command): Use printf_filtered, not
	printf_unfiltered and printf, now that arbitrary limit is gone.
1994-05-14 19:37:57 +00:00
Jim Kingdon
cb9461ffc2 * aoutx.h (add_to_stringtab): Use BFD_ASSERT not assert. This
avoids __eprintf troubles.
1994-05-14 16:19:58 +00:00
Ian Lance Taylor
1a5b12f719 * bucomm.c: Check ANSI_PROTOTYPES rather than __STDC__. 1994-05-14 03:26:26 +00:00
Ian Lance Taylor
0d898d0338 * bout.c (b_out_bfd_reloc_type_lookup): Handle BFD_RELOC_CTOR. 1994-05-14 03:16:13 +00:00
David Edelsohn
0693d363df * compile.c (decode): Fix typo (16 bit branches).
(*): Some white space clean up.
1994-05-14 01:36:52 +00:00
Bill Cox
0c575f2d8b * config/mt-i960-vx (LDFLAGS): Add '-r' option for test links.
(CFLAGS): Delete it from here.
1994-05-14 01:09:17 +00:00
Steve Chamberlain
9db94ff5c4 Passdown -S to linker. 1994-05-13 20:30:54 +00:00
Steve Chamberlain
753d5049fd * Makefile.in (Move HOST_PREFIX_1 and friends up so
they can be overriden by templates.
1994-05-13 20:29:48 +00:00