Commit graph

91 commits

Author SHA1 Message Date
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
963dbabee7 * xcoffread.c (xcoff_next_symbol_text): Don't return before
updating raw_symbol and symnum.  Return a value in the case where
	we complained.
1994-04-20 17:07:11 +00:00
Stu Grossman
70e375c356 Mon Apr 11 19:21:27 1994 Stu Grossman (grossman at cygnus.com)
* xcoffread.c (read_xcoff_symtab):  Ignore symbols of class C_EXT,
	smtyp XTY_LD, sclass XMC_DS (external data segment label).  They
	often have the same names as debug symbols for functions, and
	confuse lookup_symbol().
1994-04-12 02:53:09 +00:00
Jim Kingdon
afbdbbd78e * xcoffread.c (xcoff_next_symbol_text): New function.
(read_xcoff_symtab): Set next_symbol_text_func to it.
	Move raw_symbol outside of read_xcoff_symtab.
1994-03-30 22:38:58 +00:00
Jim Kingdon
34d265dc08 * xcoffread.c (xcoff_next_symbol_text): New function.
(read_xcoff_symtab): Set next_symbol_text_func to it.
	Move raw_symbol outside of read_xcoff_symtab.
1994-03-30 21:48:14 +00:00
Peter Schauer
ae6d035d28 For Sunos 4.x targets, enable gdb to set breakpoints in shared
library functions before the executable is run. Retrieve dynamic
	symbols from stripped executables.
	* symtab.h (minimal_symbol_type):  Add mst_solib_trampoline type.
	* parse.c (write_exp_msymbol), symmisc.c (dump_msymbols),
	symtab.c (list_symbols):  Handle mst_solib_trampoline.
	* minsyms.c (lookup_minimal_symbol):  Handle mst_solib_trampoline
	for all targets, remove IBM6000_TARGET dependencies.
	* dbxread.c (read_dbx_dynamic_symtab):  New function.
	* dbxread.c (dbx_symfile_read):  Use it.
	* dbxread.c (SET_NAMESTRING):  Set namestring to
	"<bad string table index>" instead of "foo" if the string index is
	corrupt.
	* xcoffread.c (read_xcoff_symtab):  Use mst_solib_trampoline instead
	of mst_unknown.
	* symtab.c (list_symbols):  Take from_tty as parameter and pass it
	to break_command. Handle mst_file_* minimal symbol types.
1994-03-15 21:46:32 +00:00
Ian Lance Taylor
37f24dc945 * xcoffread.c (read_xcoff_symtab): Change CSECT_LEN to use
x_scnlen.l rather than x_scnlen to match corresponding change in
	coff/internal.h.
1994-02-02 19:37:52 +00:00
Ian Lance Taylor
bf8d9d28c6 * coffread.c (read_one_sym): bfd_coff_swap_aux_in now takes
additional arguments.
	* xcoffread.c (read_xcoff_symtab, read_symbol_lineno): Likewise.
1994-02-01 17:26:01 +00:00
Jim Kingdon
1b880e74fb * xcoffread.c (xcoff_symfile_read): Make second parameter a
struct section_offsets *, not a (nonexistent) struct section_offset *.
1994-01-21 14:44:29 +00:00
Jim Kingdon
6657a0c7ea * xcoffread.c (read_xcoff_symtab): Make main_aux just a union
internal_xcoff_symtab, not an array of one of them.  Change lots of
	"main_aux" to "&main_aux" and so on.
1994-01-21 14:38:58 +00:00
Jim Kingdon
27ad511f84 * coffread.c, xcoffread.c: Include <coff/internal.h>
before "symfile.h".
1994-01-21 14:26:20 +00:00
Jim Kingdon
d4a0983ab0 * xcoffread.c (read_xcoff_symtab): complain() not abort().
* xcoffread.c (struct coff_symbol): Rename c_nsyms to c_naux (removes
	a completely gratuitous difference between xcoffread.c and coffread.c).
1994-01-20 22:38:03 +00:00
Jim Kingdon
af8b790667 * xcoffread.c (read_xcoff_symtab, case C_FILE): Accept the name
from either the symbol name or the auxent.
	* coffread.c, symfile.h (coff_getfilename): Renamed from getfilename,
	no longer static.
1994-01-18 03:42:30 +00:00
Jim Kingdon
91cc45dacc * xcoffread.c (process_xcoff_symbol): Only change 'V' to 'S' if not
within_function.
1994-01-16 20:09:59 +00:00
Jim Kingdon
8d60affde9 * minsyms.c, symtab.h (prim_record_minimal_symbol{,_and_info}),
coffread.c (record_minimal_symbol),
	xcoffread.c (RECORD_MINIMAL_SYMBOL), callers: Add objfile parameter.
1993-12-27 17:47:28 +00:00
Thomas Lord
199b2450f6 Change the stream argument to _filtered to GDB_FILE *.
Change all references to stdout/stderr to gdb_stdout/gdb_stderr.

Replace all calls to stdio output functions with calls to
corresponding _unfiltered functions (`fprintf_unfiltered')

Replaced calls to fopen for output to gdb_fopen.

Added sufficient goo to utils.c and defs.h to make the above work.

The net effect is that stdio output functions are only directly used
in utils.c.  Elsewhere, the _unfiltered and _filtered functions and
GDB_FILE type are used.

In the near future, GDB_FILE will stop being equivalant to FILE.

The semantics of some commands has changed in a very subtle way:
called in the right context, they may cause new occurences of
prompt_for_continue() behavior.  The testsuite doesn't notice anything
like this, though.

Please respect this change by not reintroducing stdio output
dependencies in the main body of gdb code.  All output from commands
should go to a GDB_FILE.

Target-specific code can still use stdio directly to communicate with
targets.
1993-11-01 22:25:23 +00:00
Jim Kingdon
52912aac0d * symfile.h (sym_fns), symfile.c (find_sym_fns), xcoffread.c,
coffread.c, dbxread.c, elfread.c, mipsread.c, nlmread.c, paread.c:
	Change from using bfd target name to using the flavour.
1993-10-31 20:34:35 +00:00
Jim Kingdon
0eed42deee * symfile.h (sym_fns), symfile.c (find_sym_fns), xcoffread.c,
coffread.c, dbxread.c, elfread.c, mipsread.c, nlmread.c, paread.c:
	Change from using bfd target name to using the flavour.
1993-10-31 18:54:28 +00:00
Jim Kingdon
577e6a8dc5 * xcoffread.c (xcoff_symfile_read), coffread.c (coff_symfile_read):
Sort symtabs for this objfile only, not for all objfiles.
1993-10-21 05:24:18 +00:00
Jim Kingdon
8f6960c90e * xcoffread.c (xcoff_symfile_read), coffread.c (coff_symfile_read):
Sort symtabs for this objfile only, not for all objfiles.
	* symfile.c, symfile.h (sort_all_symtab_syms): Remove; no longer used.
1993-10-21 04:41:56 +00:00
Jim Kingdon
9438d64262 * stabsread.h, stabsread.c, dbxread.c (common_block*, copy_pending):
Move common block handling from dbxread.c to stabsread.c.
	Use the name from the BCOMM instead of the ECOMM.
	Allocate things on the symbol_obstack.
	* xcoffread.c (process_xcoff_symbol): Process C_BCOMM, C_ECOMM,
	and C_ECOML.  On unrecognized storage classes, go ahead and call
	define_symbol (after the complaint).

	* dbxread.c (process_one_symbol): Don't relocate 'S' symbols by
	the text offset.
1993-10-12 20:02:11 +00:00
K. Richard Pixley
c398de0cdd index -> strchr 1993-09-01 22:24:34 +00:00
K. Richard Pixley
4ed97c9a83 bzero -> memset 1993-09-01 21:56:42 +00:00
Jim Kingdon
c438b3af2a * symtab.h (struct linetable), xcoffread.c (arrange_linetable):
Revise comments re linetable sorting.
	* buildsym.c (compare_line_numbers): Sort by pc, not by line.
	* coffread.c: Tell end_symtab to sort the line table.

	* coffread.c: Re-work a lot of the coff-specific stuff to use stuff
	in buildsym.c.  This includes coff_finish_block, coff_context_stack,
	coff_local_symbols, coff_file_symbols, coff_global_symbols,
	coff_end_symtab and coff_add_symbol_to_list.
	(read_enum_type): Deal with it now that we have a "struct pending"
	not a "struct coff_pending".

	* buildsym.c (end_symtab): Don't realloc subfile->linetable.
1993-09-01 21:15:27 +00:00
K. Richard Pixley
ade40d3153 bcopy -> memcpy 1993-09-01 20:37:15 +00:00
Peter Schauer
0eb22669dc * breakpoint.c (breakpoint_1): Walk the breakpoint chain to decide if
we have breakpoints or watchpoints as we might have to ignore internal
	breakpoints.

	Fix gdb core dumps after `file newfile' commands.
	* symtab.h, symfile.c (clear_symtab_users):  New routine which
	unconditionally clears symtab users. clear_symtab_users_once
	commented out as it was a noop anyway.
	* objfiles.c (free_objfile):  Don't call clear_symtab_users_once.
	* objfiles.c (free_all_objfiles), symfile.c (new_symfile_objfile),
	xcoffexec.c (exec_close):  Call clear_symtab_users if necessary.
	* symfile.c (syms_from_objfile):  Install cleanups for errors during
	symbol reading.
	* coffread.c, dbxread.c, mipsread.c, xcoffread.c (*_symfile_read):
	Lint cleanup code, call do_cleanups explicitly.
	* symfile.c (symbol_file_add):  Call new_symfile_objfile and
	reinit_frame_cache _after_ the new symbols are read in.
1993-07-27 19:40:57 +00:00
Jim Kingdon
6b9561a423 * xcoffread.c: Remove obsolete NO_TYPEDEFS comment. 1993-06-28 17:38:30 +00:00
Jim Kingdon
860b4da38b * xcoffread.c (read_xcoff_symtab): If several program csects in one
source file, give them all the name of the source file, rather than
	the 2nd and subsequent ones having NULL names.
1993-05-27 22:06:12 +00:00
Jim Kingdon
ea753d03d6 * stabsread.c: Remove all uses of error(). Make error_type and
read_type_number static.
	(define_symbol): Don't try to deal with a missing symbol
	descriptor which isn't followed by digit, '(', or '-'.
	* stabsread.h: Don't declare read_type_number here.
	* gdbtypes.h: Don't declare error_type here.
	* xcoffread.c: Remove NO_TYPEDEFS code.
1993-05-25 19:39:41 +00:00
Jim Kingdon
b646b43826 * complaint.c: Make sure all complain() pass the address of the struct.
* xcoffread.c: Make sure all struct complaints are static not auto.
1993-05-21 20:43:16 +00:00
Jim Kingdon
c41e08c472 * Makefile.in: Add rule for xcoffexec.o like that for paread.o.
* xcoffread.c (process_xcoff_symbol, case C_LSYM): Use define_symbol.
1993-05-21 14:42:14 +00:00
Jim Kingdon
7326242025 * xcoffread.c (process_xcoff_symbol, case C_LSYM): Use define_symbol. 1993-05-21 14:08:17 +00:00
Jim Kingdon
67240bb8bd Doc fix 1993-05-04 23:16:27 +00:00
Jim Kingdon
194d98c69e * symtab.h, xcoffread.c: Revise linetable sorting comments. 1993-04-26 14:20:57 +00:00
Jim Kingdon
058eb7667b * xcoffread.c: Nuke NO_DEFINE_SYMBOL code. There is no going back.
* stabsread.c (define_symbol): 'R' is synonym for 'P', not 'r'.
	xcoffread.c (process_xcoff_symbol, case C_RPSYM):
	Don't muck with SYMBOL_CLASS.
1993-04-19 17:39:24 +00:00
Jim Kingdon
9fa59efdd9 * source.c (select_source_symtab): Clean up comment. Also, if
we have a current_source_symtab, and s is NULL, return without
	doing anything.
	xcoffread.c (xcoff_symfile_read): Don't call select_source_symtab.
	breakpoint.c (breakpoint_re_set): Don't call select_source_symtab.
1993-04-15 20:11:01 +00:00
Jim Kingdon
486b440e04 * xcoffread.c (record_include_{begin,end}): Change fatal to complain. 1993-04-15 00:14:37 +00:00
Jim Kingdon
ef5b809c7c * xcoffread.c (struct coff_symbol): Change c_sclass to unsigned char.
Remove FIXME comment regarding this.
1993-04-07 22:45:34 +00:00
Jim Kingdon
f635bd474c use E_SYMNMLEN 1993-04-07 17:40:55 +00:00
Jim Kingdon
786757a9a4 * xcoffread.c (read_xcoff_symtab): Deal correctly with symbols of
exactly 8 characters.
1993-04-06 20:08:50 +00:00
Jim Kingdon
1d7e34e1ef * xcoffread.c (xcoff_symfile_offsets): Use 0 not addr for offsets. 1993-04-03 01:19:16 +00:00
Jim Kingdon
e5c007603f * xcoffread.c (sort_syms, compare_symbols): Remove.
(xcoff_symfile_read): Use sort_all_symtab_syms from symfile.c
	not our own sort_syms (it is identical).
1993-03-29 22:25:59 +00:00
Jim Kingdon
ad3768932d * xcoffread.c: Nuke NAMES_HAVE_DOT define (not used). 1993-03-29 21:58:29 +00:00
Jim Kingdon
3c02636b4e * Clean up xcoff relocation.
objfiles.h (struct objfiles): Add section_offsets, num_sections.
	symfile.c (syms_from_objfile), xcoffread.c (xcoff_symfile_offsets):
	Set them.
	symtab.h (struct general_symbol_info): Add section field.
	minsyms.c (prim_record_minimal_symbol{,_and_info}): Set it.
	xcoffread.c: Set section for symbols and msymbols.
	(struct symtab): Add block_line_section field.
	buildsym.c (end_symtab): Set it.
	(end_symtab and callers): Add section parameter.
	objfiles.c (objfile_relocate): New funciton.
	xcoffexec.c (vmap_symtab): Use it.
	xcoffsolib.h (struct vmap): Remove unused fields.
	config/rs6000/tm-rs6000.h, stack.c, xcoffexec.c: Remove
	CORE_NEEDS_RELOCATION, symtab_relocated.
	config/rs6000/tm-rs6000.h: Remove use of loadinfotext.
	rs6000-tdep.c: Make loadinfotext static.
	breakpoint.c (fixup_breakpoints): Doc fix.
	symtab.h (struct symtab), config/rs6000/tm-rs6000.h, buildsym.c
	(end_symtab): primary field replaces nonreloc.
1993-03-26 14:59:43 +00:00
Jim Kingdon
b60b2e3ec6 * xcoffread.c (enter_line_range): endaddr is exclusive, not inclusive. 1993-03-18 20:02:10 +00:00
Jim Kingdon
ecfd2b6091 * xcoffread.c (arrange_linetable): Use x{m,re}alloc not {m,re}alloc. 1993-03-17 20:38:38 +00:00
Jim Kingdon
3e57da3826 * xcoffread.c (MIN_TBTABSIZ): Change to 12. 1993-03-17 19:17:47 +00:00
Jim Kingdon
9d61147ec5 * xcoffread.c (xcoff_symfile_read): Only read stringtab and
debugsec if there are a non-zero number of symbols.
1993-03-17 19:06:32 +00:00
Jim Kingdon
c84a96d741 * xcoffread.c (read_symbol_lineno): Look to end of symbols for .bf,
not just 50 symbols.
	(symtbl_num_syms): New variable.
	(read_xcoff_symtab): Set it.
	(read_symbol_nvalue): Check for bad symno.
	(read_symbol_{lineno,nvalue}, callers): Don't pass symtable; it's
	always symtbl.
1993-03-17 03:58:24 +00:00
Jim Kingdon
2aefe6e4ae Fri Mar 12 09:33:23 1993 Jim Kingdon (kingdon@cygnus.com)
* xcoffread.c (retrieve_tracebackinfo): Move assignment out
	of while condition.

	* xcoffread.c (enter_line_range): complain() on bad endoffset.
	xcoffread.c: Doc fixes.

Tue Mar  9 09:56:12 1993  Jim Kingdon  (kingdon@cygnus.com)

	* tm-rs6000.h (CORE_NEEDS_RELOCATION): Just call xcoff_relocate_core.
	xcoffexec.c (xcoff_relocate_core): New function.
	(text_adjustment): Removed.
	(add_vmap): Return the vmap.
	rs6000-tdep.c (add_text_to_loadinfo): No longer static.

Fri Mar  5 05:22:46 1993  Jim Kingdon  (kingdon@cygnus.com)

	* xcoffsolib.h: Add objfile member to struct vmap.
	xcoff{exec,solib}.c: Use it, not lookup_objfile_bfd.
	xcoffexec.c (add_vmap): Allocate objfiles here.
1993-03-12 23:12:59 +00:00