Commit Graph

15505 Commits

Author SHA1 Message Date
David Edelsohn
2cb1807e13 (sparc_ip): Recognize %asr0.
Yes, matra really wants this.
1996-02-21 17:25:13 +00:00
Ian Lance Taylor
5c59ec4318 regenerate configure scripts with autoconf 2.7 1996-02-21 17:18:42 +00:00
Ian Lance Taylor
c8cd6f237b * Makefile.in (all): Simplify.
(clean, mostlyclean): SUBDIRS may contain whitespace; fix the loop
	as in the all target.
	(distclean, maintainer-clean, realclean): Likewise.
	(install): Likewise.
1996-02-21 17:02:23 +00:00
Michael Meissner
eada1efcaf Update to 1995-02-20 release 1996-02-21 16:47:06 +00:00
Jeff Law
d3b0a49d0e Minor tweak. 1996-02-21 08:22:42 +00:00
Jeff Law
464c6c5f3f * solib.c (solib_break_names): Define for Solaris and Linux.
(enable_break): For SVR4 systems, first try to use the debugger
        interfaces in the dynamic linker to track shared library events
        as they happen, then fall back to BKPT_AT_SYMBOL code.  Convert
        BKPT_AT_SYMBOL code to use shared library event breakpoints.
        (solib_create_inferior_hook): Simplify BKPT_AT_SYMBOL code,
        it no longer needs to restart/wait on the inferior.
        * symfile.c (find_lowest_section): No longer static.
        * symfile.h (find_lowest_section): Corresponding changes.
Wraps up 7763 work, simplifies BKPT_AT_SYMBOL code somewhat, and allows
debugging of startup code.
1996-02-21 07:04:03 +00:00
Jeff Law
9263da6f13 Commit misplaced ChangeLog entry. 1996-02-21 06:41:25 +00:00
David Edelsohn
2e5e6879d5 * config/tc-sparc.c (parse_keyword_arg): Accept leading '%'.
(sparc_ip): Accept %asr[1..31] for v8 and %asr[%16..31] for v9.
	Recognize [uU] format args as sparclet cpregs.
1996-02-21 05:50:22 +00:00
David Edelsohn
e86d5cf30f * config/tc-sparc.c (parse_keyword_arg): Accept leadling '%'.
(sparc_ip): Accept %asr[1..31] for v8 and %asr[%16..31] for v9.
	Recognize [uU] format args as sparclet cpregs.
1996-02-21 05:50:03 +00:00
David Edelsohn
38399547ba * sparc-opc.c (v8,v6notv9): Add MASK_SPARCLET.
(sparc_opcode_archs): Add MASK_V8 to sparclet entry.
	(sparc_opcodes): Add sparclet insns.
	(sparclet_cpreg_table): New static local.
	(sparc_{encode,decode}_sparclet_cpreg): New functions.
	* sparc-dis.c (print_insn_sparc): Handle sparclet cpregs.
1996-02-21 05:47:27 +00:00
David Edelsohn
8c3f315e6a * sparc.h (sparc_{encode,decode}_sparclet_cpreg): Declare.
Mark operand letters uU as in use.
1996-02-21 04:47:16 +00:00
Fred Fish
8a25c34c7a * gdb.base/signals.exp: Change setup_xfail for "alpha-*-osf2"
to "alpha-*-osf2*" and add comment.
	* gdb.base/a1-selftest.exp (test_with_self): Remove "alpha-dec-osf2*"
 	setup_xfail for "step over execarg initialization" and
 	"step over corearg initialization".
	* gdb.base/callfuncs.exp (do_function_calls): Restore setup_xfail
	for "hppa*-*-*", "sparc-*-*", "mips*-*-*", and "alpha-dec-osf2*".
	* gdb.base/corefile.exp: Add "alpha-dec-osf2*" setup_xfail when not
 	gcc compiled for "print coremaker_bss", "print coremaker_ro",
	"print func2::coremaker_local", and "backtrace in corefile.exp".
	* gdb.base/signals.exp: Build and source signals.ci.
	(test_handle_all_print): Add setup_xfail for "alpha-dec-osf2*".
	Change "alpha-dec-osf2*" setup_xfail for "bt in signals.exp"
	to be for gcc only.
	* lib/gdb.exp: Move verbose statements outside conditionals.
1996-02-21 03:40:05 +00:00
Fred Fish
e7107962d1 * config/alpha/tm-alpha.h (COERCE_FLOAT_TO_DOUBLE): Define to 1.
* config/mips/tm-mips.h: Ditto.
	* config/pa/tm-hppa.h: Ditto.
	* config/rs6000/tm-rs6000.h: Ditto.
	* config/sparc/tm-sparc.h: Ditto.
1996-02-21 03:38:45 +00:00
Fred Fish
45c5fa7891 * valops.c (COERCE_FLOAT_TO_DOUBLE): Define default value.
(value_arg_coerce): Use COERCE_FLOAT_TO_DOUBLE.
1996-02-21 03:36:07 +00:00
Ian Lance Taylor
8a2e1fdd3c * config/tc-sh.c (sh_handle_align): Don't emit R_SH_ALIGN relocs
in bss_section.
PR 9044.
1996-02-21 03:30:01 +00:00
Ian Lance Taylor
fe6fc35fdb * sunos.c (SUNOS_CONSTRUCTOR): Define.
(sunos_add_one_symbol): Don't let a symbol from a dynamic object
	override a constructor symbol.  Set SUNOS_CONSTRUCTOR when
	appropriate.
1996-02-21 02:51:02 +00:00
J.T. Conklin
eb224848cd * config/{i386,ns32k}/nbsd.mh (NATDEPFILES): Remove core-aout.o. 1996-02-21 02:00:10 +00:00
J.T. Conklin
48d27324a4 * config/nm-nbsd.h (FETCH_INFERIOR_REGISTERS): Defined.
* config/xm-nbsd.h (CC_HAS_LONG_LONG, PRINTF_HAS_LONG_LONG):
#ifdef'd out definitions ---  Causes serious gdb failures on
the i386.  Need to investigate further before enabling.

* i386b-nat.c (fetch_inferior_registers, store_inferior_registers,
fetch_core_registers): New functions.  These functions are defined
if FETCH_INFERIOR_REGISTERS is set.  Registers are fetched/stored
with ptrace PT_GETREGS/PT_SETREGS.
1996-02-21 01:52:37 +00:00
J.T. Conklin
d271dd0591 * config.in: Regenerated. 1996-02-21 01:02:10 +00:00
Stu Grossman
95f6f9269f * findvar.c (extract_floating store_floating): Replace `long
double' with `DOUBLEST'.
1996-02-21 00:57:10 +00:00
J.T. Conklin
871a3f3b24 * bfd.c (tdata): Add netbsd_core_data.
* bfd-in2.h: Regenerated.
1996-02-21 00:29:38 +00:00
Fred Fish
8b495156a4 * gdb.c++/misc.cc: Add test code from Mike Stump.
* gdb.c++/misc.exp: Add test to print s.a, for Mike Stump.
1996-02-20 23:51:27 +00:00
Ian Lance Taylor
fc7b6582a9 * configure.tgt: Correct gldi960 to gld960. 1996-02-20 21:12:02 +00:00
Fred Fish
d378530148 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
Remove duplicate definition of gp.
1996-02-20 16:31:32 +00:00
J.T. Conklin
cb91ea567f * config/xm-nbsd.h (CC_HAS_LONG_LONG, PRINTF_HAS_LONG_LONG):
Define.
1996-02-20 07:11:38 +00:00
Fred Fish
dafd5ad4f0 Add bcache.c and bcache.h 1996-02-20 07:00:40 +00:00
Ian Lance Taylor
81bdcecf63 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Don't
assume that we can set the GP value and then get the same value,
	since it won't be true if the output file is neither ELF nor
	ECOFF.
	* coff-mips.c (mips_adjust_reloc_in): Don't bother to use
	_bfd_get_gp_value here.
	(mips_gprel_reloc): Don't assume we can set and get the GP value.
	* elf32-mips.c (mips_elf_hi16_reloc): Get gp value from
	mips_elf_final_gp.
	(mips_elf_lo16_reloc): Likewise.
	(mips_elf_final_gp): Add pgp parameter.  Set it to the GP value.
	Don't require that the BFD be ELF.
	(mips_elf_gprel16_reloc): Get gp value from mips_elf_final_gp.
	(mips_elf_gprel32_reloc): Likewise.
	(mips_elf_relocate_section): Don't assume we can set and get the
	GP value.
	(mips_elf_finish_dynamic_symbol): Don't bother to use
	_bfd_get_gp_value here.

	* elf32-mips.c (mips_elf_create_procedure_table): Initialize sv.
	Don't change epdr between malloc and free.  Be careful not to free
	NULL pointers.  Zero out the first RPDR.
1996-02-19 21:12:48 +00:00
Fred Fish
0708e99fc2 * dwarfread.c (add_partial_symbol): Use ADD_PSYMBOL_ADDR_TO_LIST
for CORE_ADDR values.
	(new_symbol): Use SYMBOL_VALUE_ADDRESS for CORE_ADDR values.
	* symfile.h (add_psymbol_{,addr}to_list): Add prototypes.
1996-02-19 20:46:43 +00:00
Ian Lance Taylor
21965655ed * config/tc-sparc.h (TC_RELOC_RTSYM_LOC_FIXUP): Check S_IS_WEAK as
well as S_IS_EXTERNAL.
	(tc_fix_adjustable): Likewise.
	* config/tc-sparc.c (md_apply_fix): In OBJ_ELF case, check for
	S_IS_WEAK as well as S_IS_EXTERNAL when deciding whether to return
	early.
	(tc_gen_reloc): Check S_IS_WEAK as wel as S_IS_EXTERNAL when
	deciding whether to convert BFD_RELOC_32_PCREL_S2 if PIC.
1996-02-19 19:29:17 +00:00
Ian Lance Taylor
7b61165adc * configure.host: On Linux, only pass -rpath option if $(libdir)
is neither /lib nor /usr/lib.  From Alan Modra
	<alan@mullet.Levels.UniSA.Edu.Au>.
1996-02-19 17:45:28 +00:00
Ian Lance Taylor
60a49e7f8a * elf-bfd.h (struct elf_obj_tdata): Rename dt_needed_name to
dt_name.
	(elf_dt_name): Rename from elf_dt_needed_name.
	* elf.c (bfd_elf_set_dt_needed_name): Use elf_dt_name, not
	elf_dt_needed_name.
	(bfd_elf_get_dt_soname): New function.
	* elflink.h (elf_link_add_object_symbols): Use elf_dt_name, not
	elf_dt_needed_name.  Save the SONAME back in elf_dt_name.
	* bfd-in.h (bfd_elf_get_dt_soname): Declare.
	* bfd-in2.h: Rebuild.
1996-02-19 17:41:04 +00:00
Ian Lance Taylor
169df8d594 * emultempl/elf32.em (gld${EMULATION_NAME}_check_needed): Check
the SONAME if it is available.
	(gld${EMULATION_NAME}_stat_needed): Use the SONAME, not the
	filename, when checking for conflicting library versions.  Don't
	assume that the suffix is only numbers and dots.
1996-02-19 17:40:42 +00:00
Jeff Law
ff7f8f2d1e * symtab.h (looup_minimal_symbol_solib_trampoline): Declare.
Minor build nit.

        * breakpoint.h (remove_solib_event_breakpoints): Declare.
        * breakpoint.c (remove_solib_event_breakpoints): New function.
        * somsolib.c (solib_create_inferior_hook): Remove all solib event
        breakpoints before inserting any new ones.  Use a solib event
        breakpoint for the breakpoint at "_start".
        Remove extraneous "\n" from calls to warning.
Don't leave bogus breakpoints in the breakpoint chain.  Simplify
solib_create_inferior_hook and allow for debugging of startup code
(more 7763 related changes).

        * breakpoint.c (breakpoint_1): Add missing "sigtramp" to bptypes
        name array.
Another minor nit.
1996-02-19 17:38:32 +00:00
Ian Lance Taylor
a9c5cc539e * configure.in: Set and substitute SHLIB_DEP.
* configure: Rebuild.
	* Makefile.in (SHLIB_DEP): New variable.
	(LIBIBERTY_LISTS, BFD_LIST): New variables.
	(stamp-piclist): Depend upon LIBIBERTY_LISTS and BFD_LIST.  If
	COMMON_SHLIB, add them to piclist with appropriate modifications.
	($(SHLIB)): Depend upon $(SHLIB_DEP).  Don't check COMMON_SHLIB
	here: just use piclist.
1996-02-19 17:34:43 +00:00
Ian Lance Taylor
b6ae0f1031 * Makefile.in: Make everything which depends upon all-bfd also
depend upon all-opcodes, in case --with-commonbfdlib is used.
1996-02-19 16:46:39 +00:00
Ian Lance Taylor
c653b37092 * ld.texinfo: Mention that -R can be used for -rpath. 1996-02-19 16:17:33 +00:00
David Edelsohn
b268e26104 * elf32-sparc.c (elf32_sparc_reloc_type_lookup): Renamed from
_bfd_sparc_elf_reloc_type_lookup.
	(bfd_elf32_bfd_reloc_type_lookup): Update.
	* elf64-sparc.c (SPARC64_OLD_RELOCS): Define.
	(sparc64_elf_howto_table): Define.
	(sparc_reloc_map): Define.
	(sparc64_elf_reloc_type_lookup): New function.
	(sparc_elf_wdisp16_reloc): New function.
	(elf_info_to_howto): Use sparc64_elf_howto_table.
	(sparc64_elf_relocate_section): Likewise.
	(bfd_elf64_bfd_reloc_type_lookup): Update.
1996-02-19 10:58:20 +00:00
David Edelsohn
753075b261 * gas/sparc/{asi,membar,prefetch,rdpr,synth64,wrpr}.d: Pass -Av9
to gas.
	* gas/sparc/addend.exp: Execute for any sparc cpu.
	* gas/sparc/{mismatch.exp,mism-1.s}: New test.
1996-02-19 10:48:27 +00:00
David Edelsohn
d8b42b96d1 * config/tc-sparc.c (max_architecture): Change to sparclite for
32 bit arch.
	(default_compatible): Delete.
	(sparc_ffs): New function.
	(md_begin): Only call SPARC_OPCODE_CONFLICT_P once.
	(sparc_ip): Rewrite architecture match and bump logic.
1996-02-19 10:43:01 +00:00
David Edelsohn
b62e64e9da * sparc-dis.c (MASK_V9,V9_ONLY_P,V9_P): Define.
(print_insn_sparc): Rewrite v9/not-v9 tests.
	(compare_opcodes): Likewise.
	* sparc-opc.c (MASK_<ARCH>): Define.
	(v6,v7,v8,sparclite,v9,v9a): Redefine.
	(sparclet,v6notv9): Define.
	(sparc_opcode_archs): Delete member `conflicts'.  Add `supported'.
	(sparc_opcodes): Delete F_NOTV9, use v6notv9 instead.
1996-02-19 10:15:15 +00:00
Peter Schauer
08dc1eeb45 * mipsread.c (mipscoff_symfile_read): Unconditionally add
alpha coff dynamic symbols for all symbol files.  Makes skipping
	over the trampoline code work when stepping from a function in a
	shared library into a function in a different shared library.
1996-02-18 23:09:04 +00:00
Ian Lance Taylor
7925f4d4b9 * configure.in: Check for 'do not mix' from native linker before
trying to use -rpath.
	* configure: Rebuild.
1996-02-18 20:07:36 +00:00
Ian Lance Taylor
9e2ef09802 * configure.host: Check for 'do not mix' from native linker before
trying to use -rpath.
1996-02-18 20:06:40 +00:00
Stu Grossman
1d6afd7fc1 * config/sparc/tm-sparc.h: Define PS_FLAG_CARRY. Define
RETURN_VALUE_ON_STACK to return long doubles on the stack.
1996-02-18 17:34:09 +00:00
Fred Fish
176b2bee3f * Makefile.in (ch-exp.o): Add dependencies.
(various): Add gdb_string.h to dependencies that need it.
1996-02-17 23:51:55 +00:00
Fred Fish
dcb6a7c007 * symmisc.c (print_symbol_bcache_statistics): Update description for
printing byte cache statistics.
1996-02-17 17:35:36 +00:00
Stu Grossman
aa220473ba * Add native support for long double data type.
* c-exp.y (%union):  Change dval to typed_val_float.  Use DOUBLEST
	to store actual data.  Change types of INT and FLOAT tokens to
	typed_val_int and typed_val_float respectively.  Create new token
	DOUBLE_KEYWORD to specify the string `double'.  Make production
	for FLOAT use type determined by parse_number.  Add production for
	"long double" data type.
	* (parse_number):  Use sscanf to parse numbers as float, double or
	long double depending upon the type of typed_val_float.dval.  Also
	allow user to specify `f' or `l' suffix to explicitly specify
	float or long double constants.  Change typed_val to
	typed_val_int.
	* (yylex):  Change typed_val to typed_val_int.  Also, scan for
	"double" keyword.
	* coffread.c (decode_base_type):  Add support for T_LNGDBL basic
	type.
	* configure, configure.in:  Add check for long double support in
	the host compiler.
	* defs.h:  Define DOUBLEST appropriatly depending on whether
	HAVE_LONG_DOUBLE (from autoconf) is defined.  Also, fix prototypes
	for functions that handle this type.
	* expression.h (union exp_element):  doubleconst is now type
	DOUBLEST.
	* m2-exp.y f-exp.y (%union):  dval becomes type DOUBLEST.
	* findvar.c (extract_floating):  Make return value be DOUBLEST.
	Also, add support for numbers with size of long double.
	* (store_floating):  Arg `val' is now type DOUBLEST.  Handle all
	floating types.
	* parser-defs.h parse.c (write_exp_elt_dblcst):  Arg expelt is now
	DOUBLEST.
	* valarith.c (value_binop):  Change temp variables v1, v2 and v to
	type DOUBLEST.  Coerce type of result to long double if either op
	was of that type.
	* valops.c (value_arg_coerce):  If argument type is bigger than
	double, coerce to long double.
	* (call_function_by_hand):  If REG_STRUCT_HAS_ADDR is defined, and
	arg type is float and > 8 bytes, then use pointer-to-object
	calling conventions.
	* valprint.c (print_floating):  Arg doub is now type DOUBLEST.
	Use appropriate format and precision to print out floating point
	values.
	* value.h:  Fixup prototypes for value_as_double,
	value_from_double, and unpack_double to use DOUBLEST.
	* values.c (record_latest_value):  Remove check for invalid
	floats.  Allow history to store them so that people may examine
	them in hex if they want.
	* (value_as_double unpack_double):  Change return value to DOUBLEST.
	* (value_from_double):  Arg `num' is now DOUBLEST.
	* (using_struct_return):  Use RETURN_VALUE_ON_STACK macro (target
	specific) to expect certain types to always be returned on the stack.
1996-02-17 00:07:35 +00:00
Fred Fish
a7e254eca3 * config/unix-gdb.exp: Remove extraneous newlines from end of file. 1996-02-16 22:55:42 +00:00
Fred Fish
2ad5709f00 * bcache.c, bcache.h: New files to implement a byte cache.
* Makefile.in (SFILES): Add bcache.c.
	(symtab_h): Add bcache.h.
	(HFILES_NO_SRCDIR): add bcache.h
	(COMMON_OBJS): Add bcache.o
	(bcache.o): New target.
	* dbxread.c (start_psymtab): Make global_syms & static_syms
 	type "partial_symbol **".
	* hpread.c (hpread_start_symtab):  Ditto.
	* os9kread.c (os9k_start_psymtab):  Ditto.
	* stabsread.h (start_psymtab):  Ditto.
	* {symfile.c, symfile.h} (start_psymtab_common):  Ditto.
	* maint.c (maintenance_print_statistics): Call
 	print_symbol_bcache_statistics.
	* objfiles.c (allocate_objfile): Initialize psymbol bcache malloc
	and free pointers.
	* solib.c (allocate_rt_common_objfile): Ditto.
	* symfile.c (reread_symbols):  Ditto.
	(free_objfile): Free psymbol bcache when objfile is freed.
	(objfile_relocate): Use new indirect psymbol pointers.
	* objfiles.h (struct objfile): Add psymbol cache.
	* symfile.c (compare_psymbols): Now passed pointers to pointers to
	psymbols.
	(reread_symbols): Free psymbol bcache when freeing other objfile
	resources.
	(add_psymbol_to_list, add_psymbol_addr_to_list): Initialize new
	psymbol using the psymbol bcache.
	(init_psymbol_list): Psymbol lists now contain pointers rather than
	the actual psymbols.
	* symfile.h (psymbol_allocation_list): Psymbol lists now dynamically
	grown arrays of pointers.
	(ADD_PSYMBOL_VT_TO_LIST): Initialize new symbol using the psymbol
	bcache.
	* symmisc.c (print_partial_symbols): Now takes pointer to pointer
	to partial symbol.
	(print_symbol_bcache_statistics): New function to print per objfile
 	bcache statistics.
	(print_partial_symbol, print_partial_symbols,
 	maintenance_check_symtabs, extend_psymbol_list):
 	Account for change to pointer to pointer to partial symbol.
	* symtab.c (find_pc_psymbol, lookup_partial_symbol, decode_line_2,
	make_symbol_completion_list):
 	Account for change to pointer to pointer to partial symbol.
	* symtab.h (bcache.h): Include.
	* xcoffread.c (xcoff_start_psymtab): Make global_syms & static_syms
 	type "partial_symbol **".
1996-02-16 22:14:47 +00:00
Ian Lance Taylor
ef2074c25a * config/obj-coff.h (SF_ADJ_LNNOPTR): Define (non BFD_ASSEMBLER).
(SF_GET_ADJ_LNNOPTR): Define (non BFD_ASSEMBLER).
	(SF_SET_ADJ_LNNOPTR): Define (non BFD_ASSEMBLER).
	* config/obj-coff.c (obj_coff_endef): Set ADJ_LNNOPTR when LNNOPTR
	is set.
	(w_symbols): If ADJ_LNNOPTR is set, add the section lnnoptr field
	to the symbol lnnoptr field, to get the correct file offset.
PR 7428.
1996-02-16 21:56:19 +00:00