Commit graph

834 commits

Author SHA1 Message Date
Fred Fish
94daba7f77 * stabsread.c (define_symbol): For the sake of dbx, gcc emits
a single blank as the name of nameless enumerations.  Recognize
	this special case and set nameless flag.
1992-11-30 01:03:34 +00:00
Fred Fish
b076b3f869 Bump internal version to 4.7.3 in wake of fragmentation of massive
stabsread.c read_struct_type function.
1992-11-29 23:50:08 +00:00
Fred Fish
e7177cc2fd (Changes to break incredibly ugly, unmaintainable 750 line
read_struct_type function up into managable pieces.)
	* stabsread.c (struct field_info):  Local struct definition.
	* stabsread.c (read_member_functions, read_struct_fields,
	read_baseclasses, read_tilde_fields, attach_fn_fields_to_type,
	attach_fields_to_type, read_cpp_abbrev):  Prototypes and new
	functions from fragmented read_struct_type.
	* stabsread.c (stabs_general_complaint):  Catchall complaint.
	* stabsread.c (STABS_CONTINUE):  Macro'ize cretinous stabs
	symbol name continuation code.  Use macro throughout.
	* stabsread.c (various places):  Replace add-one-to-pointer
	with pointer increment.
	* stabsread.c (read_type):  Retain function local copy of type
	descriptor.  Rearrange code calling read_struct_type() to match
	new conventions.
1992-11-29 23:38:30 +00:00
Fred Fish
cbd1bdc3fa * ch-exp.y (GENERAL_PROCEDURE_NAME, LOCATION_NAME): New
terminal tokens.
	* ch-exp.y (access_name):  New non-terminal token and
	production.
	* ch-exp.y (general_procedure_name):  Now a terminal token.
	* ch-exp.y (location):  Expand production.
	* ch-exp.y (match_simple_name_string):  New function.
	* ch-exp.y (yylex):  Call match_simple_name_string and return
	GENERAL_PROCEDURE_NAME or LOCATION_NAME as appropriate.
1992-11-29 06:59:17 +00:00
Fred Fish
b9b6dbc2ea Apply fix from zoo:
* munch:  Backslash escape vertical bar characters inside
	grep patterns since they have special meaning for some greps.
1992-11-25 15:53:01 +00:00
Fred Fish
d1065385c1 * parse.c (write_exp_string): Complete rewrite to store string
contants as a leading explicit length, followed by the string data,
	followed by a trailing explicit length.
	* eval.c (evaluate_subexp), expprint.c (print_subexp),
	parse.c (length_of_subexp), parse.c (prefixify_subexp):
	Use recorded explicit length of strings in expression elements,
	rather than strlen.  Adjust code to skip over strings stored in
	expression elements, and code to access strings, to account for
	new leading explicit size expression element.
	* parse.c (length_of_subexp):  Test for minimum endpos of 1, not
	0, to avoid negative expression element indices.
	* valops.c (search_struct_method):  Minor whitespace change.
1992-11-25 15:46:57 +00:00
John Gilmore
b0944a3377 * main.c (main): Print GDB version number in gdb -help; doc pid arg.
Suggested by Marty Leisner, <leisner@eso.mc.xerox.com>.
(print_gdb_version):  New arg is stdout or stderr.  Callers changed.
1992-11-24 07:20:42 +00:00
Fred Fish
bac89d6ca8 * c-exp.y (yylex): Add tempbuf, tempbufindex, and tempbufsize,
which together maintain a dynamically expandable static buffer
	for the lexer to use when translating C strings to their internal
	form (other future uses possible).  Fix parsing of C style strings
	to do the normal C style input conversions of escaped character
	sequences.
	* valops.c (value_string):  Remove translation of escaped
	character sequences, now done in C expression parser.
1992-11-24 03:02:10 +00:00
Fred Fish
5707ea9fad * language.h (PRINT_LITERAL_FORM): New macro that takes character
and decides if it should be printed in literal form or some other
	form, based on it's ASCII value and setting of sevenbit_strings.
	* {c-exp.y, m2-exp.y} (emit_char):  Use new PRINT_LITERAL_FORM
	macro, change indentation style.
	**** start-sanitize-chill ****
	* ch-exp.y (chill_printchar):  Use new PRINT_LITERAL_FORM macro.
	* ch-exp.y (chill_printstr):  First cut at real function instead
	of error stub.
	**** end-sanitize-chill ****
1992-11-23 19:57:29 +00:00
David D. Zuhn
36e0df2384 + * nindy-share/stop.h: fixed bogus comment-end in copyright message
+	* i960-pinsn.c: fixed two calls of fputs_filtered that had 3 arguments
1992-11-23 01:07:16 +00:00
Fred Fish
5d074aa977 * defs.h (sevenbit_strings): Add declaration.
* defs.h (printchar):  Replace with gdb_printchar.
	* language.h (language_defn):  Add new function pointers
	la_printchar and la_printstr, to do language dependent
	printing of characters and strings.
	* language.h (local_printchar, local_printstr):  New macros
	to call language dependent functions pointed to by la_printchar
	and la_printstr respectively.
	* c-exp.y (emit_char, c_printchar, c_printstr):  New language
	dependent functions for printing characters and strings.
	* c-exp.y (c_language_defn, cplus_language_defn):  Add
	c_printchar and c_printstr.
	* command.c (do_setshow_command):  Rename printchar use to
	gdb_printchar.
	* expprint.c (print_subexp):  Replace C style string output
	with call to local_printstr.
	* language.c (unk_lang_printchar, unk_lang_printstr):
	New stubs, currently errors.
	* language.c (unknown_language_defn, auto_language_defn,
	local_language_defn):  Add unk_lang_printchar and
	unk_lang_printstr.
	* m2-exp.y (emit_char, m2_printchar, m2_printstr):  New
	language dependent functions to print characters and strings.
	* m2-exp.y (m2_language_defn):  Add m2_printchar and m2_printstr.
	* utils.c (printchar):  Renamed to gdb_printchar.
	* valprint.c (print_string):  Remove prototype, function moved
	to c-exp.y, where it becomes c_printstr.
	* valprint.c (print_max):  Made global for reference from the
	language dependent printing routines in *-exp.y.
	* valprint.c (repeat_count_threshold):  New variable with function
	of old REPEAT_COUNT_THREHOLD define, but now settable by user.
	Change all references to old macro to references to new variable.
	* valprint.c (value_print, val_print):  Replace calls to
	print_string with calls to local_printstr.
	* valprint.c (val_print):  Replace C style character printing
	with call to local_printchar.
	* valprint.c (val_print):  Add case for TYPE_CODE_CHAR.
	* valprint.c (_initialize_valprint):  Add add_show_from_set
	call for setting up repeat_count_threshold as print variable.
	**** start-sanitize-chill ****
	* ch-exp.y (decode_integer_value):  New function.
	* ch-exp.y (decode_integer_literal):  Use decode_integer_value.
	* ch-exp.y (chill_printchar, chill_printstr):  New language
	dependent functions for printing characters and strings.
	* ch-exp.y (chill_language_defn):  Add chill_printchar and
	chill_printstr.
	**** end-sanitize-chill ****
1992-11-21 06:10:08 +00:00
John Gilmore
cbf15d9a3d * infcmd.c (set_environment_command): Avoid skipping first
char of env value if an '=' appears in it.  Bug report and fix
	by Mark Jungerman, <maj@lucid.com>.

Thu Nov  5 23:04:38 1992 Rob Ryan (rr2b@andrew.cmu.edu)

        * xcoffexec.c (vmap_symtab): fixed a bug where if a object has no
        member, and the stat pointer passed to vmap_symtab was NULL, the
        wrong vmap entries would be modified.  Fixes behavior where
        attempting to load symbols for a module with no member would mess
        up already read in symbols.
1992-11-19 00:04:44 +00:00
Ian Lance Taylor
195b44d9bc Wed Nov 18 15:05:45 1992 Ian Lance Taylor (ian@cygnus.com)
* remote-vx.c (vx_kill): just warn if we can't contact the board,
	and assume the process has been killed.
1992-11-18 23:08:18 +00:00
Stu Grossman
2104007fb0 Oops! Forgot to check in ChangeLog. 1992-11-18 23:02:50 +00:00
Fred Fish
2e66cf7d6d * language.h (language_format_info): New structure to bundle
local formatting information.
	* language.h (language_defn):  Replace individual format info
	with language_format_info structs.
	* language.h (local_*_format, local_*_format_prefix,
	local_*_format_specifier, local_*_format_suffix):  New macros
	for binary/octal/decimal/hex formats to access info elements.
	* c-exp.y (c_language_defn):  Update for new format handling.
	* m2-exp.y (m2_language_defn):  Update for new format handling.
	* dbxread.c (language.h):  Include for partial-stab.h use.
	* defs.h (local_hex_format, local_hex_format_custom,
	local_hex_string, local_hex_string_custom):  Move to language.h.
	* language.c (local_hex_format_custom, local_hex_string,
	local_hex_string_custom, local_octal_format_custom):  Use new
	format handling.
	* language.c (unknown_language_defn, auto_language_defn,
	local_language_defn):  Update for new format handling.
	* printcmd.c (print_scalar_formatted):  Use new macros
	to access decimal and binary format info for printing.
	**** start-sanitize-chill ****
	* c-exp.y (chill_language_defn):  Update for new format handling.
	* ch-exp.y (CHARACTER_LITERAL):  Add support to yylex.
	* ch-exp.y (match_integer_literal):  Add function.
	* ch-exp.y (builtin_type_chill_char):  Add definition.
	* gdbtypes.h (builtin_type_chill_char):  Add declaration.
	**** end-sanitize-chill ****
1992-11-18 22:49:38 +00:00
Ian Lance Taylor
cdb1cc9214 Tue Nov 17 11:17:06 1992 Ian Lance Taylor (ian@cygnus.com)
* tm-rs6000.h (BELIEVE_PCC_PROMOTION): Define, since AIX cc gets
	it right.
	(aix_framedata): added nosavedpc field.
	(SAVED_PC_AFTER_CALL): Don't try to optimize; just call
	read_register.
	(FRAMELESS_FUNCTION_INVOCATION): Pass second argument of 0.
	(FRAME_SAVED_PC): If PC not saved, use SAVED_PC_AFTER_CALL.
	* rs6000-tdep.c (skip_prologue): Handle gcc generated stfd
	instructions as function_frame_info does.  Expand special case of
	st r31,-4(r1) to be st r31,NUM(r1), since gcc can generate offsets
	other than -4.
	(pop_frame): Add 4 rather than sizeof (int) to avoid host
	dependence.
	(function_frame_info): Set frameless if the function has no frame,
	and set nosavedpc if the PC was not saved.  Handle gcc generated
	stfd 31,-4(31); st 31, -12(31) correctly.
	(frameless_function_invocation): New second argument pcsaved; if 0
	return whether the function has a frame, if 1 return whether the
	function saved PC.
	(frame_initial_stack_address): Correct typo: cache registers for
	callee_fi, not for fi, (avoids reading garbage memory locations).
1992-11-17 21:46:17 +00:00
Stu Grossman
b638ca912c * symtab.c (find_pc_line): Improve code per gnu's suggestions.
Improve comments as well.
1992-11-16 23:59:37 +00:00
Fred Fish
19cfe25d90 First cut at sanitizing away the chill stuff. 1992-11-16 19:25:35 +00:00
Fred Fish
45a655b0b6 * Makefile.in (VERSION): Bump to 4.7.2
* symtab.c (find_pc_symtab):  Fix return of random value
	to caller.
1992-11-15 20:26:35 +00:00
Fred Fish
e58de8a230 * Makefile.in (SFILES_MAINDIR): Add ch-exp.y.
* Makefile.in (YYFILES):  Add ch-exp.tab.c.
	* Makefile.in (YYOBJ):  Add ch-exp.tab.o.
	* Makefile.in (saber_gdb):  Add unload of ch-exp.y and load
	of ch-exp.tab.c.
	* Makefile.in (distclean):  Add target ch-exp.tab.c.
	* Makefile.in (realclean):  Add rm of ch-exp.tab.c.
	* Makefile.in (c-exp.tab.c, m2-exp.tab.c):  Add dependency on
	Makefile since it contains sed patterns used in generation.
	Add sed pattern to also delete #include of any malloc.h.
	* Makefile.in (ch-exp.tab.o, ch-exp.tab.c):  New targets.
	* ch-exp.y:  New expression parser, for GNU-Chill.
	* c-exp.y, expr.c, expression.h, language.c, m2-exp.y,
	parser-defs.h, valarith.c, valops.c, value.h:  Remap macros and
	function names to conform to K&R terminology with respect to
	logical and bitwise operators:
	UNOP_ZEROP => UNOP_LOGICAL_NOT
	UNOP_LOGNOT => UNOP_COMPLEMENT
	BINOP_LOGAND => BINOP_BITWISE_AND
	BINOP_LOGXOR => BINOP_BITWISE_XOR
	BINOP_LOGIOR => BINOP_BITWISE_IOR
	BINOP_AND => BINOP_LOGICAL_AND
	BINOP_OR => BINOP_LOGICAL_OR
	PREC_OR => PREC_LOGICAL_OR
	PREC_AND => PREC_LOGICAL_AND
	PREC_LOGIOR => PREC_BITWISE_IOR
	PREC_LOGXOR => PREC_BITWISE_XOR
	PREC_LOGAND => PREC_BITWISE_AND
	value_zerop() => value_logical_not()
	value_lognot() => value_complement()
	* c-exp.y (c_op_print_tab):  Add explicit empty terminator.
	* m2-exp.y (m2_op_print_tab):  Add explicit empty terminator.
	* defs.h (enum language):  Add language_chill.
	* dwarfread.c (set_cu_language):  Add LANG_CHILL case and make
	LANG_MODULA2 a recognized language.
	* eval.c (evaluate_subexp):  Add OP_BOOL case.
	* expprint.c (print_subexp):  Add OP_BOOL case.
	* gdbtypes.h (enum_typecode):  Note TYPE_CODE_BOOL used for
	Chill as well as Modula-2.
	* gdbtypes.y (builtin_type_chill_bool, builtin_type_chill_long,
	builtin_type_chill_ulong, builtin_type_chill_real):  Add.
	* i387-tdep.c (sys/dir.h):  Remove, appears to be unnecessary
	and is nonexistant in some SVR4 based systems.
	* language.c (DEFAULT_ALLOCSIZE):  Change from 3 => 4.
	* language.c (set_language_command):  Add chill.
	* language.c (binop_result_type, integral_type, character_type,
	boolean_type, structured_type, value_true, binop_type_check):
	Add language_chill cases.
	* language.h (_LANG_chill):  Define.
	* m2-exp.y (number_sign, modblock):  Make static, #ifdef out
	unused modblock.
	* m2-exp.y (ANDAND):  Rename to LOGICAL_AND.
	* source.c (source_info):  Fix minor nits, print "1 line" rather
	than "1 lines", and "language is <lang>".
	* symfile.c (deduce_language_from_filename):  Recognize the
	filename extensions ".chill", ".c186", and ".c286" for Chill.
	* valarith.c (value_binop):  Handle TYPE_CODE_BOOL as well
	as TYPE_CODE_INT and TYPE_CODE_FLOAT.
	* valprint.c (val_print):  Print TYPE_CODE_BOOL type values as
	"TRUE" or "FALSE".
	* valprint.c (typedef_print):  Add case for language_chill.
	* values.c (value_from_longest):  Handle TYPE_CODE_BOOL.
1992-11-15 17:28:02 +00:00
Stu Grossman
c1878f8788 * infcmd.c (step_over_calls): Improve comments.
* symtab.c (find_pc_psymtab):  Clean up a bit.
* (find_pc_symtab):  Fix comments, clean up code.
* (find_pc_line):  General cleanups, efficiency improvements.
Also, don't return garbage when some line info exists, but there
was no good match.
1992-11-14 04:33:21 +00:00
Stu Grossman
b6113cc408 * Makefile.in: Remove dependancies for 29k-share/dfe/yank.o and
29k-share/dfe/mini2udi.o.
* config/a29k-udi.mt:  Remove yank.o and mini2udi.o.
* alldeps.mak, depend:  Update to deal with removal of
aforementioned files.
* remote-udi.c:  Major cleanups.  Clean up udi_open and drop
requirement for useless 'program' argument.  Clean up
udi_create_inferior, and udi_load to call common download()
routine.  Create download routine to load remote hosts directly
(with the help of BFD) so that we don't need yank.c and
mini2udi.c.
Fix udi_detach to call UDIDisconnect with
the right arguments.  Clean up udi_resume, don't assign tip_error
twice.  Clean up udi_wait, straighten out status codes.  Make
udi_kill really work.
1992-11-12 01:15:06 +00:00
John Gilmore
59c84bd8d5 Fix problems noticed by Allan Steel, <allan@maths.su.oz.au>,
when debugging a program with 100 shared libraries.

* solib.c (solib_map_sections):  Always close the BFD we open.
Free all malloc'd storage we allocate, too, including error cases.
(struct so_list):  Remove unused so_bfd member.
(clear_solib):  Don't bother closing so_bfd.

* symfile.c (symfile_bfd_open):  Mark newly opened BFD as
cacheable.  `So many symbol files, so little file descriptors.'
1992-11-06 11:05:08 +00:00
John Gilmore
8a96d79b70 * m68k-stub.c: Remove ansidecl.h and the few uses of it.
Stubs should stand alone as much as possible.

* source.c (show_directories):  Avoid printf_filtered length prob
pointed out by Jonathan Stone.

* i960-pinsn.c (MEM_MAX, MEM_SIZ):  Set upper limit properly to
avoid accesses beyond end of table.  Fix by Lee W. Cooprider,
<Lee_Cooprider@vos.stratus.com>.
1992-11-06 09:21:13 +00:00
Fred Fish
402dca80e7 * {ser-bsd.c, ser-termios.c} (serial_close): Pass address of
struct, not struct itself.
	* serial.h (serial_restore):  Fix prototype, takes pointer not
	struct.
1992-11-06 01:35:57 +00:00
Stu Grossman
2352d20bd7 * Makefile.in (depend): Add nm.h to the list of things to fixup.
* depend:  Redo, to fixup nm.h problems with *-tab.c files.
1992-11-06 01:13:34 +00:00
Stu Grossman
e7ae70e927 Re-install UDI comments. 1992-11-05 23:40:02 +00:00
John Gilmore
042bf84cf7 * i386-stub.c: Remove ansidecl.h and the few uses of it.
Stubs should stand alone as much as possible.
1992-11-05 08:40:38 +00:00
John Gilmore
61f55ca303 * README: Add remote-es1800.c and remote-st2000.c to table.
* go32-nat.c:  Remove, there is no native go32 support.
* go32-xdep.c:  Remove unused fork, fvork, wait, execlp, kill_inferior.
* infcmd.c (run_command):  Avoid long calls to printf_filtered.
Bug fix courtesy of Alexander Klaiber.
1992-11-05 08:26:15 +00:00
Stu Grossman
1549918a3f * inflow.c (pass_signal, set_sigint_trap, clear_sigint_trap): Add
new routines to deal with sending SIGINTs to attached processes
when the user interrupts the controlling GDB.
* inftarg.c (child_wait), procfs.c (procfs_wait):  Add calls to
the aforementioned routines when waiting for the attached process.
1992-11-05 03:54:01 +00:00
Stu Grossman
740b7efa43 * elfread.c, mipsread.c: Include <string.h>.
* i386-stub.c:  Include "ansidecl.h" to deal with prototypes.
* serial.h:  Add prototype for serial_restore().
1992-11-04 23:31:52 +00:00
Ian Lance Taylor
a521e93a8e Wed Nov 4 11:13:25 1992 Ian Lance Taylor (ian@cygnus.com)
* minsyms.c (lookup_minimal_symbol_by_pc): subtract 1, not 2, from
	minimal_symbol_count, because the NULL symbol is not included in
	the count.  This prevented this function from finding the last
	symbol in the table.
1992-11-04 19:45:42 +00:00
Ian Lance Taylor
b1fbbed48e Tue Nov 3 11:29:17 1992 Ian Lance Taylor (ian@cygnus.com)
* dbxread.c (process_one_symbol): if not defined
	(BLOCK_ADDRESS_FUNCTION_RELATIVE), set function_start_offset at
	the start of the function, not just after N_FUN.
1992-11-03 19:52:43 +00:00
Fred Fish
e35843d476 * Makefile.in (c-exp.tab.c, m2-exp.tab.c): Add sed patterns to
remap all malloc's to xmalloc's and all realloc's to xrealloc's.
	* c-exp.y, m2-exp.y:  Add comment about how malloc/realloc are
	  remapped to xmalloc/xrealloc, use only malloc/realloc in grammer
	  file.  Remove preprocessor defines that previously did remapping.
1992-10-31 00:35:08 +00:00
K. Richard Pixley
b1de302a44 hp300 native support 1992-10-28 07:08:52 +00:00
K. Richard Pixley
7aae0974c2 vax native support 1992-10-28 05:31:14 +00:00
K. Richard Pixley
124a6fc037 add new nm files to HFILES 1992-10-28 03:05:29 +00:00
K. Richard Pixley
5c9bbfe62c apollo native support 1992-10-28 02:58:11 +00:00
K. Richard Pixley
851fffcf4e include nm.h in defs.h 1992-10-28 02:32:59 +00:00
Stu Grossman
bccaecc63b * Makefile.in (VERSION): 4.7.1 post release! 1992-10-23 13:17:47 +00:00
Stu Grossman
451df68019 * config/hppahpux.mh (NATDEPFILES): Add hppah-nat.o. 1992-10-23 11:50:37 +00:00
John Gilmore
c50c519792 * Makefile.in (VERSION): gdb-4.7 release.
* README:  Update for gdb-4.7.
1992-10-23 07:53:03 +00:00
Stu Grossman
ee22c7f05e * sparc-tdep.c: include nm.h (for now) so that we get USE_PROC_FS
when necessary.
1992-10-23 03:54:11 +00:00
Stu Grossman
db5b1f90ef * alldeps.mak, depend: Update. 1992-10-22 18:25:32 +00:00
John Gilmore
fef84cc41a * partial-stab.h ('f', 'F'): Don't reference pst->textlow if pst
is null.
* tm-sun4sol2.h (PROLOGUE_FIRSTLINE_OVERLAP):  Remove -- it
causes problems in setting breakpoint in the right place in
functions with `float' args which are passed as doubles.
* xm-vaxbsd.h (MEM_FNS_DECLARED):  Avoid erroneous redecl's.
* config/rs6000.mh (NATDEPFILES):  Add corelow.o.
1992-10-22 11:23:54 +00:00
Stu Grossman
603900c746 * Makefile.in (HFILES): Add nm-i386sco.h.
* dwarfread.c:  include <sys/types.h> for SCO.
* infptrace.c:  Don't include ptrace.h under SCO.
* config/i386sco.mh:  Use -D_POSIX_SOURCE instead of -posix for
gcc.
* config/i386v.mt:  Add exec.o to TDEPFILES.
1992-10-22 08:07:12 +00:00
Stu Grossman
3496b74562 * i386v-nat.c: Remove space from front of #endif.
* irix4-nat.c:  Remove externs of registers[], include inferior.h
	instead.
	* mips-nat.c:  Explicitly initialize zerobuf to 0!
	* mips-tdep.c (init_extra_frame_info):  Undo John's last change.
	Always setup fci->frame, even if it's non-zero.  Too many places
	depend upon this behavior (and I have to get a release out the
	door)!
	* mipsread.c (parse_partial_symbols, psymtab_to_symtab_1):  Set
	processing_gcc_compilation if we find the embedded stabs marker.
	This fixes several bugs with finding the location of short or char
	function parameters passed on the stack.
1992-10-22 02:26:04 +00:00
K. Richard Pixley
99ef5653ef sun4sol2 native stuff 1992-10-22 02:00:07 +00:00
John Gilmore
0a2a48a217 * coredep.c: Include "nm.h" to get REGISTER_U_ADDR. 1992-10-21 21:11:39 +00:00
John Gilmore
e4db3f3e06 * Makefile.in (VERSION): Tick to 4.6.9.
* mipsread.c (UNSAFE_DATA_ADDR):  Remove MIPS-host-specific
definition, replace with portable one.
* remote-nindy.c:  Lint.
(nindy_wait):  Return type is int, result is inferior_pid.
* symmisc.c (dump_psymtab):  Only print section_offsets if set.
(initialize_symmisc):  Remove empty function.
* tm-spc-noun.h, tm-sun4os4.h, tm-sun4sol2.h (STACK_END_ADDRESS):
Remove obsolete, misspelled macro.
* doc/gdbint.texinfo:  Document obsolete STACK_END_ADDR.
(all @node commands):  Use new form to avoid nitpicking errors.
* doc/gdbint.texinfo:  Document host/native/target split.
1992-10-21 10:52:09 +00:00