Commit graph

15678 commits

Author SHA1 Message Date
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
Fred Fish
4a1d2ce2ab * dwarfread.c (free_utypes): New function.
(read_file_scope): Call free_utypes as cleanup,	rather than just
 	freeing the utypes pointer.
1996-02-16 21:46:02 +00:00
Ian Lance Taylor
cba3f8a9be * bfd.c (_bfd_get_gp_value): New function.
(_bfd_set_gp_value): New function.
	* libbfd-in.h (_bfd_get_gp_value): Declare.
	(_bfd_set_gp_value): Declare.
	* libbfd.h: Rebuild.
	* coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Use
	_bfd_get_gp_value and _bfd_set_gp_value rather than referring
	directly to the fields in the tdata information.
	(alpha_relocate_section): Likewise.
	* coff-mips.c (mips_adjust_reloc_in): Likewise.
	(mips_gprel_reloc): Likewise.
	(mips_relocate_section): Likewise.
	* elf32-mips.c (mips_elf_hi16_reloc): Likewise.
	(mips_elf_lo16_reloc): Likewise.
	(mips_elf_final_gp): Likewise.
	(mips_elf_gprel16_reloc): Likewise.
	(mips_elf_gprel32_reloc): Likewise.
	(mips_elf_relocate_section): Likewise.
	(mips_elf_finish_dynamic_symbol): Likewise.
PR 8449.
1996-02-16 19:29:01 +00:00
Jeff Law
803108ab64 * sparc.h (sparc_opcode_lookup_arch) Make return type in
declaration consistent with return type in definition.
1996-02-16 19:24:15 +00:00
Ian Lance Taylor
4c70373f84 * bout.c (b_out_set_arch_mach): Recognize bfd_mach_i960_jx. 1996-02-16 17:48:04 +00:00
Ian Lance Taylor
315f88096f fix up i960xl sanitization 1996-02-16 17:43:56 +00:00
Michael Meissner
6cf9d64e77 Update to rev 1.0 from andrew 1996-02-16 15:51:57 +00:00
Fred Fish
81afee37d0 * demangle.c (is_cplus_marker): New function, checks if a
character is one of the commonly used C++ marker characters.
	* defs.h (is_cplus_marker):  Add prototype.
	* c-typeprint.c (c_type_print_base), ch-lang.c (chill_demangle),
	cp-valprint.c (cp_print_class_method), mdebugread.c (parse_symbol),
	stabsread.c (define_symbol, read_member_functions, read_struct_fields),
	symtab.h (OPNAME_PREFIX_P, VTBL_PREFIX_P, DESTRUCTOR_PREFIX_P),
	values.c (vb_match):  Use is_cplus_marker instead of comparison
	with CPLUS_MARKER.
1996-02-16 06:14:15 +00:00
Fred Fish
14b22711be * symfile.h (INLINE_ADD_PSYMBOL): Default this to 0 and possibly
delete entirely someday.
1996-02-16 02:10:15 +00:00
Michael Meissner
44ccfc3c16 Do not build gdb if building native NT compilers on a UNIX host with a cross compiler 1996-02-16 00:53:00 +00:00
Michael Meissner
9fc3ba754e Make configure work on first stage of HP/UX and Solaris. 1996-02-15 23:46:30 +00:00
Stan Shebs
884fb64c78 * mpw-make.sed: Edit out makefile rebuild rule.
(host_alias, target_alias): Comment out instead of deleting.
	(@LIBS@): Edit out references.
1996-02-15 23:30:53 +00:00
Michael Meissner
74eeaa7d57 Make simulator build on Solaris 2.4 1996-02-15 23:18:56 +00:00
Ian Lance Taylor
159da55530 * mh-cxux (CC): New variable.
(CFLAGS, LDFLAGS): Remove.
	* mh-ncrsvr43 (CC): New variable.
	(CFLAGS): Remove.
	* mh-solaris (CFLAGS): Remove.
1996-02-15 22:44:28 +00:00
Ian Lance Taylor
0e47ce9751 * configure.in: Don't get CC from the host Makefile fragment if we
can find gcc in PATH, or if this is a Canadian Cross.  Move the
	Solaris test for /usr/ucb/cc to the post target script, just after
	the compiler sanity test.
1996-02-15 22:43:59 +00:00
Ian Lance Taylor
c99fbc42b5 * configure.in: Remove explicit substitution of CFLAGS; autoconf
does it anyhow.
	* configure: Rebuild.
	* Makefile.in (LDFLAGS): Set to @LDFLAGS@.
1996-02-15 22:17:27 +00:00
Ian Lance Taylor
2724d37edf * configure.in: Don't tamper with LDFLAGS. Call AC_PROG_CC before
configure.host.
	* configure: Rebuild.
1996-02-15 22:12:32 +00:00
Ian Lance Taylor
46bcd2ec35 * configure.in: Call AC_PROG_CC before configure.host.
* configure: Rebuild.
1996-02-15 22:10:41 +00:00
Ian Lance Taylor
f54c748237 modify last change 1996-02-15 22:09:10 +00:00
Ian Lance Taylor
65eed09595 * configure.in: Call AC_PROG_CC before configure.host. Don't
substitute CFLAGS.
	* configure: Rebuild.
	* configure.host: Don't set information which autoconf should
	figure out, namely CC, CFLAGS, LDFLAGS, AR, and RANLIB.
	* Makefile.in (CFLAGS): Set to -g, not @CFLAGS@.
1996-02-15 22:05:32 +00:00
Michael Meissner
59011c328c Do not set undefined symbols to BSF_OBJECT. 1996-02-15 21:47:33 +00:00
Ian Lance Taylor
7e19f60e5a * configure.in: Call AC_PROG_CC before configure.host.
* configure: Rebuild.
	* configure.host: Remove go32 host, since it should no longer be
	necessary.  Don't set CC for romp host.
1996-02-15 21:32:43 +00:00
Ian Lance Taylor
1429341983 * configure.host: Remove go32 and win32 host information, since it
should no longer be needed.
1996-02-15 21:28:48 +00:00
Ian Lance Taylor
b4fe9919a7 * mh-go32: Remove most variable settings, since they presumed a
Canadian Cross, which is now handled correctly by the configure
	script.
1996-02-15 21:23:14 +00:00
Ian Lance Taylor
22aa130282 * scripttempl/elf.sc: Don't skip a page in virtual memory space if
the text segment ends exactly on a page boundary.
1996-02-15 20:28:52 +00:00
Ian Lance Taylor
edf3fe4885 * elf.c (map_sections_to_segments): If we have a .dynamic section,
then start a new segment rather than put a writable section in a
	readonly segment.
1996-02-15 20:27:29 +00:00
Michael Meissner
28910c57ce Force all PPC symbols that otherwise do not have a symbol type to be BSF_OBJECT 1996-02-15 19:54:38 +00:00
Ian Lance Taylor
6d76c71f5e * Makefile.in (SONAME): Remove leading ../bfd/ from $(SHLIB). 1996-02-15 19:45:45 +00:00