Stu Grossman [Sun, 10 Jan 1993 04:23:06 +0000 (04:23 +0000)]
* blockframe.c (frameless_look_for_prologue): Correct the
comment.
* gdbtypes.h, gdbtypes.c: Use const in decl of
cplus_struct_default, now that pa-gas assembler has been fixed.
* hppah-nat.c: Formatting.
* hppah-tdep.c: Remove lots of useless externs for variables we
don't use.
* (find_unwind_entry): Speed up by using binary search, and a one
entry cache.
* (rp_saved): New routine to see what unwind info says about RP
being saved on the stack frame.
* (frame_saved_pc): Look for prologue to see if we need to
examine the stack for the saved RP or not.
* (init_extra_frame_info): Check for prologue, instead of
framesize to determine if we are frameless or not.
* (frame_chain_valid): Stop backtraces when we run into _start.
* (push_dummy_frame): Reformat to make more readable.
* (find_dummy_frame_regs): ditto.
* (hp_pop_frame): ditto.
* (hp_restore_pc_queue): small cleanup.
* (hp_push_arguments): ditto.
* (pa_do_registers_info): ditto.
* (skip_prologue): New routine created from SKIP_PROLOGUE macro.
* tm-hppa.h: Move contents of SKIP_PROLOGUE into hppah-tdep.c.
* Define FRAME_CHAIN_VALID.
* Turn on BELIEVE_PCC_PROMOTION so that we can access char args
passed to functions.
* paread.c (pa_symtab_read): Use new bfd conventions for
accessing linker symbol table.
* (pa_symfile_init): Access embedded STAB info via BFD section
mechanism and related macros.
Stu Grossman [Sun, 10 Jan 1993 03:57:45 +0000 (03:57 +0000)]
* hppa.c (hppa_object_setup): Get rid of all knowledge of stabs
debug info. Setup info about linker symbols only, and use
standard bfd fields to hold the info.
* (hppa_object_p): Remove unneeded decls.
* (hppa_new_section_hook): Get rid of most of this.
* libhppa.h (struct hppadata): Remove ten pounds of useless ugly
fat. Remove all knowledge of stabs, remove redundant knowledge of
linker symbols.
* Remove macros for accessing fields which are now gone.
Stu Grossman [Sun, 10 Jan 1993 03:46:55 +0000 (03:46 +0000)]
* sparc-stub.c: Use a seperate stack for our traps.
* Handle recursive traps.
* Remove all trap init code. This needs to be done by the
environment.
* (set_mem_fault_trap): Call exceptionHandler() to setup this
trap.
* (handle_exception): See if we are at breakinst, if so, then
advance PC sp that users can just step out of breakpoint().
* (case 'G'): Don't let GDB hack CWP. Also, copy saved regs to
new place if SP has changed.
* (case 's'): Get rid of this, we can't do it yet.
* (case 't'): New command to test any old random feature.
* (case 'r'): New command to reset the system.
* (breakpoint): Add label to breakpoint trap instruction so that
handle_exception() can detect where we are and get past the
breakpoint trivially.
Fix support for NOLOAD, add INCLUDE
* ldfile.c (ldfile_open_command_file): pass file name to
lex_push_file.
* ldlex.l, ldgram.y: tidy up, parse INCLUDE and NOLOAD
* ldlang.c (wild_doit): make output sections inherit NEVER_LOAD
attribute.
Fri Jan 8 15:47:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
* bfd.c (struct _bfd): Added ecoff_tdata to tdata union.
* targets.c (enum target_flavour): Added bfd_target_ecoff_flavour.
* coff-msym.c: Use DEFUN for function definitons.
* coff-mips.c: Added code to read and print symbols, and to find
line numbers.
Fri Jan 8 16:19:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
* ecoff-ext.h: Added prototypes for ECOFF swapping functions.
* internal.h (internal_scnhdr): Always provide s_align field, not
just on i960.
(internal_reloc): Always provide r_size field, not just on
RS/6000.
* mips.h (_RDATA, _SDATA, _SBSS, _LIT4, _LIT8, STYP_RDATA,
STYP_SDATA, STYP_SBSS, STYP_LIT4, STYP_LIT8): Defined.
(CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB,
STABS_SYMBOL): Moved in from gdb/mipsread.c.
These changes cut the size of libbfd.a on a Sun4 by about 11%.
Somewhat more could be done.
Fri Jan 8 15:47:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
* coffcode.h: Moved many generic functions into coffgen.c. Moved
swapping functions into coffswap.h for ECOFF use. Moved
relocation functions, only used by h8300 and z8k, into reloc16.c.
Added hooks for coffgen.c functions to backend data structure, and
added hook functions. Still more could be done.
* coffswap.h: New file to hold COFF swapping routines.
* coffgen.c: New file to hold generic COFF functions.
* reloc16.c: New file to hold h8300 and z8k specific relocation
functions.
* libcoff-in.h: Added declarations for functions in coffgen.c.
* libcoff.h: Rebuilt to incorporate changes.
* coff-h8300.c: Function name changes.
* coff-z8k.c: Function name changes. Use coff_reloc16_extra_cases
hook rather than defining EXTRA_CASES.
* Makefile.in: Build new files coffgen and reloc16. Added
dependencies of coff-*.o on coffswap.h and seclet.h.
Mike Werner [Thu, 7 Jan 1993 04:39:57 +0000 (04:39 +0000)]
* Makefile.in: Removed explicit setting of SUBDIRS. This gets done
by configure, using configure.in .
**** start-sanitize-chill ****
* configure.in: Added sanitization for chill to the setting of
target_libs .
**** end-sanitize-chill ****
Fred Fish [Wed, 6 Jan 1993 19:04:18 +0000 (19:04 +0000)]
* Makefile.in (GCC_FOR_TARGET): Supply a default that matches
the one used in gcc/Makefile.in, so that a null expansion doesn't
override the one needed to build gcc with a native cc.
Fred Fish [Wed, 6 Jan 1993 16:52:10 +0000 (16:52 +0000)]
* defs.h (HOST_CHAR_BIT): New macro, defaults to either CHAR_BIT
from a configuration file (typically including <limits.h>), or to
TARGET_CHAR_BIT if CHAR_BIT is not defined.
* eval.c (evaluate_subexp): Use new BYTES_TO_EXP_ELEM macro.
* eval.c (evaluate_subexp): Add case for OP_BITSTRING.
* expprint.c (print_subexp): Use new BYTES_TO_EXP_ELEM macro.
* exppritn.c (print_subexp, dump_expression): Add case for
OP_BITSTRING.
* expression.h (OP_BITSTRING): New expression element type for
packed bitstrings.
* expression.h (EXP_ELEM_TO_BYTES, BYTES_TO_EXP_ELEM): New
macros to convert between number of expression elements and bytes
to store that many elements.
* i960-tdep.c (leafproc_return): Use new macros to access
minimal symbol name and address fields.
* m88k-pinsn.c (sprint_address): Use new macros to access
minimal symbol name and address fields.
* nindy-tdep.c (nindy_frame_chain_valid): Use new macro to access
minimal symbol address field.
* parse.c (write_exp_elt, write_exp_string, prefixify_expression,
parse_exp_1): Use new EXP_ELEM_TO_BYTES macro.
* parse.c (write_exp_string, length_of_subexp, prefixify_expression):
Use new BYTES_TO_EXP_ELEM macro.
* parse.c (write_exp_bitstring): New function to write packed
bitstrings into the expression element vector.
* parse.c (length_of_subexp, prefixify_subexp): Add case for
OP_BITSTRING.
* parser-defs.h (struct stoken): Document that it is used for
OP_BITSTRING as well as OP_STRING.
* parser-defs.h (write_exp_bitstring): Add prototype.
**** start-sanitize-chill ****
* ch-exp.y (BIT_STRING_LITERAL): Change token type to sval.
* ch-exp.y (NUM, PRED, SUCC, ABS, CARD, MAX, MIN, SIZE, UPPER,
LOWER, LENGTH): New tokens for keywords.
* ch-exp.y (chill_value_built_in_routine_call, mode_argument,
upper_lower_argument, length_argument, array_mode_name,
string_mode_name, variant_structure_mode_name): New non-terminals
and productions.
* ch-exp.y (literal): Useful production for BIT_STRING_LITERAL.
* ch-exp.y (match_bitstring_literal): New lexer support function
to recognize bitstring literals.
* ch-exp.y (tokentab6): New token table for 6 character keywords.
* ch-exp.y (tokentab5): Add LOWER, UPPER.
* ch-exp.y (tokentab4): Add PRED, SUCC, CARD, SIZE.
* ch-exp.y (tokentab3): Add NUM, ABS, MIN, MAX.
* ch-exp.y (yylex): Check tokentab6.
* ch-exp.y (yylex): Call match_bitstring_literal.
**** end-sanitize-chill ****
Fred Fish [Tue, 5 Jan 1993 01:18:07 +0000 (01:18 +0000)]
* expression.h (exp_opcode): Add BINOP_MOD.
* eval.c (evaluate_subexp): Handle new BINOP_MOD.
* expprint.c (dump_expression): Handle new BINOP_MOD.
* language.c (binop_type_check): Handle new BINOP_MOD.
* main.c (float_handler): Re-enable float handler when hit.
* valarith.c (language.h): Include, need current_language.
* valarith.c (TRUNCATION_TOWARDS_ZERO): Define default macro
for integer divide truncates towards zero for negative results.
* valarith.c (value_x_binop): Handle BINOP_MOD if seen.
* valarith.c (value_binop): Allow arithmetic operations on
TYPE_CODE_CHAR variables. Add case to handle new BINOP_MOD.
**** start-sanitize-chill ****
* ch-exp.y (operand_4): Add useful actions for MOD and REM.
* ch-exp.y (tokentab3): Add MOD and REM.
* ch-exp.y (yylex): Set innermost_block for symbols found
in local scopes. Return LOCATION_NAME for local symbols.
* ch-lang.c (chill_op_print_tab): Fix MOD entry to use
BINOP_MOD instead of BINOP_REM. Add REM entry, using BINOP_REM.
**** end-sanitize-chill ****
* command.c (shell_escape, make_command, _initialze_command):
don't create or use fork if CANT_FORK is defined.
* serial.h, ser-go32.c: now compiles, but "the obvious problems of
code written for the IBM PC" remain.
* xm-go32.h: define CANT_FORK
Ken Raeburn [Mon, 4 Jan 1993 13:24:39 +0000 (13:24 +0000)]
(s_data): Use "data_section"; it'll map to SEG_DATA or SEG_E1 if appropriate,
as soon as I check in as.h.
(s_lcomm): Likewise with bss_section.
(s_fill): Use memset, not bzero.
whitespace/comment changes.
deleted some "#ifdef DONTDEF" sections relating to GDB symtabs.
* remote-sim.c: first attempt at general simulator interface
* remote-hms.c: whitespace
* h8300-tdep.c: (h8300_skip_prologue, examine_prologue):
understand new stack layout. (print_register_hook): print ccr
register in a fancy way.
include simulator target too.
* remote-sim.c: first attempt at general simulator interface
* remote-hms.c: whitespace
* h8300-tdep.c: (h8300_skip_prologue, examine_prologue):
understand new stack layout. (print_register_hook): print ccr
register in a fancy way.
Fred Fish [Sun, 3 Jan 1993 22:24:21 +0000 (22:24 +0000)]
* eval.c (language.h): Include.
* eval.c (evaluate_subexp_with_coercion): Only coerce arrays
to pointer types when the current language is C. It loses for
other languages when the lower index bound is nonzero.
* valarith.c (value_subscript): Take array lower bounds into
account when performing subscripting operations.
* valops.c (value_coerce_array): Add comment describing why
arrays with nonzero lower bounds are dealt with in value_subscript,
rather than in value_coerce_array.
Fred Fish [Sat, 2 Jan 1993 20:32:01 +0000 (20:32 +0000)]
* eval.c (evaluate_subexp): Add case MULTI_SUBSCRIPT.
* expprint.c (print_subexp): Rename BINOP_MULTI_SUBSCRIPT to
MULTI_SUBSCRIPT.
* expprint.c (dump_expression): New function for dumping
expression vectors during gdb debugging.
* expression.h (BINOP_MULTI_SUBSCRIPT): Name changed to
MULTI_SUBSCRIPT and moved out of BINOP range.
* expression.h (DUMP_EXPRESSION): New macro that calls
dump_expression if DEBUG_EXPRESSIONS is defined.
* m2-exp.y (BINOP_MULTI_SUBSCRIPT): Changed to MULTI_SUBSCRIPT.
* parse.c (length_of_subexp, prefixify_subexp): Change
BINOP_MULTI_SUBSCRIPT to MULTI_SUBSCRIPT.
* parse.c (parse_exp_1): Call DUMP_EXPRESSION before and after
prefixify'ing the expression.
* printcmd.c (print_command_1): Add comment.
**** start-sanitize-chill ****
* ch-exp.y (expression_list): Add useful actions.
* ch-exp.y (value_array_element): Add useful actions.
* ch-exp.y (array_primitive_value): Add production.
* ch-exp.y (yylex): Recognize ',' as a token.
**** end-sanitize-chill ****
Fred Fish [Fri, 1 Jan 1993 20:29:41 +0000 (20:29 +0000)]
* tm-sun4sol2.h (CPLUS_MARKER): Remove, now set in tm-sysv4.h.
* tm-sysv4.h (CPLUS_MARKER): By default, g++ uses '.' as the
CPLUS_MARKER for all SVR4 systems, so follow suit.
* defs.h (strdup_demangled): Remove prototype.
* dwarfread.c (enum_type, synthesize_typedef): Use new macro
SYMBOL_INIT_LANGUAGE_SPECIFIC.
* dwarfread.c (new_symbol): Use SYMBOL_INIT_DEMANGLED_NAME.
* minsyms.c (install_minimal_symbols, prim_record_minimal_symbol,
prim_record_minimal_symbol_and_info): Use new macro
SYMBOL_INIT_LANGUAGE_SPECIFIC.
* minsyms.c (install_minimal_symbols): Use new macro
SYMBOL_INIT_DEMANGLED_NAME.
* stabsread.c (define_symbol): Use new macro
SYMBOL_INIT_DEMANGLED_NAME.
* symfile.c (add_psymbol_to_list, add_psymbol_addr_to_list):
Use new macro SYMBOL_INIT_DEMANGLED_NAME.
* symfile.h (ADD_PSYMBOL_VT_TO_LIST): Use new macro
SYMBOL_INIT_DEMANGLED_NAME.
* symmisc.c (dump_msymbols, dump_symtab, print_partial_symbol):
SYMBOL_DEMANGLED_NAME now tests language itself.
* symtab.c (COMPLETION_LIST_ADD_SYMBOL): SYMBOL_DEMANGLED_NAME
now tests language itself.
* symtab.h (SYMBOL_CPLUS_DEMANGLED_NAME): New macro that does
what SYMBOL_DEMANGLED_NAME used to do, directly access the C++
mangled name member in the language dependent portion of a symbol.
* symtab.h (SYMBOL_DEMANGLED_NAME): New macro that returns the
mangled name member appropriate for a symbol's language.
* symtab.h (SYMBOL_SOURCE_NAME, SYMBOL_LINKAGE_NAME,
SYMBOL_MATCHES_NAME, SYMBOL_MATCHES_REGEXP):
SYMBOL_DEMANGLED_NAME now tests language itself.
* symtab.h (SYMBOL_INIT_LANGUAGE_SPECIFIC): New macro that
initializes language dependent portion of symbol.
* symtab.h (SYMBOL_INIT_DEMANGLED_NAME): New macro that
demangles and caches the demangled form of symbol names.
* utils.c (fputs_demangled, fprint_symbol): Use current language
to select an appropriate demangling algorithm.
* utils.c (strdup_demangled): Remove, no longer used.
**** start-sanitize-chill ****
* symtab.h (SYMBOL_CHILL_DEMANGLED_NAME): New macro that directly
access the Chill mangled name member in the language dependent
portion of a symbol.
* ch-lang.c (chill_demangle): New function, simple demangler.
* defs.h (chill_demangle): Add prototype.
* symtab.h (language_dependent_info): Add struct for Chill.
**** end-sanitize-chill ****
Fred Fish [Thu, 31 Dec 1992 19:08:08 +0000 (19:08 +0000)]
* Makefile.in (BISON): Add comment that when bison is used, it
must include the "-y" option.
* c-exp.y, m2-exp.y (yyrule, yyname, yyss, yyssp, yyvs, yyvsp):
Remove defines to remap non-yacc symbols, thus backing out of
previous recent changes. Standard policy is that non-yacc parser
generators get fixed, rather than adding bug workarounds in gdb
for each new one that pops up. Expand comment to note this.
* c-exp.y, m2-exp.y (YYDEBUG): Revert back to disabled by default.
Stu Grossman [Thu, 31 Dec 1992 17:14:14 +0000 (17:14 +0000)]
* paread.c: New file that contains all HPPA/HPUX symbol reading
code.
* dbxread.c: Remove almost all HPPA/HPUX symbol reading code.
* (dbx_symfile_init): Use sizeof(long) instead of 4.
* (dbx_symfile_offsets): Make static.
* (pastab_build_psymtabs): New interface routine for paread to
send stabs into dbxread.
* gdb-stabs.h: Remove gobs of HPPA cruft.
Fred Fish [Thu, 31 Dec 1992 06:23:28 +0000 (06:23 +0000)]
* c-exp.y, m2-exp.y (yyrule, yyname): Remap like other yy* names
for byacc.
**** start-sanitize-chill ****
* ch-exp.y (yyrule, yyname): Remap like other yy* names for byacc.
**** end-sanitize-chill ****
Fred Fish [Thu, 31 Dec 1992 04:05:05 +0000 (04:05 +0000)]
* c-exp.y, m2-exp.y (yyreds, yytoks): Remap like other yy* names.
* c-exp.y, m2-exp.y (YYDEBUG): Define if MAINTENANCE_CMDS is defined
and YYDEBUG is not already defined.
* c-exp.y (strncmp): Replace throughout with STREQN, missed
them during the previous replacements.
* printcmd.c (_initialize_printcmd): Update internal documentation
for "set" command to note that the assignment syntax is language
dependent.
**** start-sanitize-chill ****
* ch-exp.y (yyreds, yytoks): Remap like other yy* names.
* ch-exp.y (YYDEBUG): Define if MAINTENANCE_CMDS is defined
and YYDEBUG is not already defined.
* ch-exp.y (GDB_REGNAME, GDB_LAST, GDB_VARIABLE, GDB_ASSIGNMENT,
single_assignment_action): New terminals and nonterminal for gdb
extensions to chill expression grammer.
* ch-exp.y (match_dollar_tokens): Lexer routine to match all
tokens that start with '$' (register names, convenience vars, etc).
* ch-exp.y (tokentab2): Add GDB_ASSIGNMENT.
* ch-exp.y (yylex): Call match_dollar_tokens.
**** end-sanitize-chill ****
Ian Lance Taylor [Wed, 30 Dec 1992 20:34:14 +0000 (20:34 +0000)]
Wed Dec 30 10:18:57 1992 Ian Lance Taylor (ian@cygnus.com)
* app.c, config/tc-*.c: Don't include read.h, since it is already
included by as.h.
* These are based on patches from Minh Tran-le
<mtranle@paris.intellicorp.com>.
* configure.in (i[34]86-ibm-aix*): Accept i486 for host. Use
obj_format coffbfd and gas_target i386coff for target.
(i[34]86-*-isc*): New host (uses sysv).
* config/i386aix.mt: Removed (no longer used).
* config/mh-i386aix (RANLIB): Use true rather than /bin/true.
(MINUS_G): Removed.
(LDFLAGS): Added, defined as -shlib.
* config/te-i386aix.h (REVERSE_SORT_RELOCS): Undefine.
* config/te-sco386.h (LOCAL_LABEL): Don't define.
(DOT_LABEL_PREFIX): Define.
* expr.c (operand): If DOT_LABEL_PREFIX, use .L0\001 as a label
name rather than L0\001.
* read.c (s_lcomm): Make a frag in SEG_BSS rather than using
local_bss_counter.
* symbols.c, symbols.h (local_bss_counter): Removed.
* write.c (write_object_file): bss no longer uses
local_bss_counter. Pass correct data and bss size to
VMS_write_object_file.
* config/obj-vms.c (VMS_write_object_file): Accept bss size as
argument, rather than using local_bss_counter.
* config/tc-m88k.c (s_bss): Don't use local_bss_counter.
* config/tc-sparc.c (s_reserve): Don't use local_bss_counter.
* config/obj-coffbfd.c (had_lineno, had_reloc): Removed.
(size_section): Restored sanity check.
(do_relocs_for): Base section address on s_paddr rather than
computing it. Adjust a29k R_IHIHALF special case to account for
section paddr (used to require paddr to be zero). If there are no
reclos, set s_relptr to 0. Set relocation size in object_headers.
(fill_section): Always set s_vaddr here, removing
ZERO_BASED_SEGMENTS case. Force s_scnptr for bss to 0. Don't set
NOLOAD for i386 .bss, because it confuses the SVR3 native linker.
Set STYP_INFO for .comment.
(coff_header_append): Use object headers and H_{SET,GET}_* macros.
Make aouthdr writing depend on OBJ_COFF_OMIT_OPTIONAL_HEADER.
(crawl_symbols): Handle 8 character section name correctly. Use
H_{SET,GET}_* macros.
(do_linenos_for): Set lineno size in object_headers.
(write_object_file): Use H_{SET,GET}_* macros. Don't bother to
set s_vaddr here. If string_byte_count remains 4, set it back to
0, and only write strings out if there are some. Call
fill_section before do_relocs_for and do_linenos_for.
(obj_coff_section): Handle optional quoted second argument giving
section characteristics.
(obj_coff_bss): Added to handle .bss.
(obj_coff_ident): Added to handle .ident (puts string in .comment
section).
(obj_coff_lcomm): Put common symbols in .bss, not .data.
(fixup_mdeps): Change to segment. Call frag_wane after
md_convert_frag.
(fixup_segment): Explicitly check S_IS_COMMON before making 386
adjustment (already happened only for common symbols, but this is
clearer).
* config/obj-coffbfd.h (OBJ_COFF_OMIT_OPTIONAL_HEADER): Define.
* config/tc-i386.c (s_bss): Don't use if I386COFF.
(md_pseudo_table): Ignore .optim and .noopt.
(tc_coff_sizemachdep): New function.
* config/tc-i386.h (REVERSE_SORT_RELOCS): Undef, for SVR3
compatibility.
(LOCAL_LABEL): Removed definition.
(DOT_LABEL_PREFIX): Defined.
Ian Lance Taylor [Tue, 29 Dec 1992 23:10:26 +0000 (23:10 +0000)]
Tue Dec 29 15:06:00 1992 Ian Lance Taylor (ian@cygnus.com)
* build-all.mk: If canonhost is i386-unknown-sco3.2v4, change it
to i386-sco3.2v4. Set TARGETS and CFLAGS for i386-sco3.2v4.
(all-cygnus, native, build-cygnus): Make
$(canonhost)-stamp-3stage-done, not $(host)....
* test-build.mk (stamp-3stage-compared): Use tail +10c for
i386-sco3.2v4. Added else true to if command.
Ian Lance Taylor [Tue, 29 Dec 1992 21:59:15 +0000 (21:59 +0000)]
Tue Dec 29 13:54:35 1992 Ian Lance Taylor (ian@cygnus.com)
* coffcode.h (coff_real_object_p): use name I386AIXMAGIC rather
than I386SVMAGIC.
(coff_pointerize_aux): don't pointerize a negative tagndx
(sometimes generated by SCO 3.2v4 cc).
* bout.c (calljx_callback, callj_callback,
b_out_get_relocated_section_contents): warn if relocating against
an undefined symbol.
Stu Grossman [Tue, 29 Dec 1992 00:27:18 +0000 (00:27 +0000)]
* hppah-tdep.c (skip_trampoline_code): Use new macros for
accessing minimal symbol data.
* infcmd.c (read_pc): Use #ifdef, not #if.
* symfile.c (syms_from_objfile): Add CONST to decl for targets.
* tm-hppa.h (FIX_CALL_DUMMY): Use new macros for accessing
minimal symbol data.
Stu Grossman [Mon, 28 Dec 1992 23:19:51 +0000 (23:19 +0000)]
* hppah-tdep.c (frame_saved_pc): Use better test for outermost
frame. Use find_return_regnum to find the caller.
* (find_unwind_entry): New routine to locate stack frame info
associated with a procedure. This looks in the $UNWIND_START$
section in the SOM file.
* (find_return_regnum): New routine. Uses find_unwind_entry() to
figure out where the caller's return address is stored.
* (find_proc_framesize): New routine. Uses find_unwind_entry()
to figure out the frame size for a procedure.
* (saved_pc_after_call): New routine, moved from tm-hppa.h.
* (init_extra_frame_info): New routine. Corrects PC and FP for
outermost frame if necessary.
* (frame_chain): New routine, moved from tm-hppa.h.
* (skip_trampoline_code): Handle computed function calls (ie:
calls from $$dyncall).
* (unwind_command): Temporary support function to allow user
to control/observe aspects of the unwind (stack frame) info.
* infcmd.c (read_pc): (Temporary), put a hack in to see if the PC
was in a system call, if so, then read the PC from r31.
* tm-hppah.h (SKIP_TRAMPOLINE_CODE, IN_SOLIB_TRAMPOLINE): Deal
with extra arg for skip_trampoline_code().
* (INIT_EXTRA_FRAME_INFO): Define to point at subr (see above).
* (FRAME_CHAIN, FRAME_CHAIN_VALID): Turn into real subroutines.
* tm-hppa.h (SAVED_PC_AFTER_CALL): Turn into real subroutine.
Stu Grossman [Mon, 28 Dec 1992 22:57:19 +0000 (22:57 +0000)]
* hppa.c: Get rid of DEFUN, use more conventional prolog stuff.
Make a bunch more routines be static.
* hppa.c (fill_spaces): Get rid of this, replace with much better
written setup_sections().
* (setup_sections): New routine to create BFD sections for each
space and subspace in SOM files.
* (hppa_object_setup): Use BFD sections created by
setup_sections() to locate GDB symbol table info.
* (make_unique_section): New routine to create a BFD section. It
ensures that the given name is unique, and will generate a unique
one if necessary.
* (hppa_object_p): Become much more paranoid about file header.
* (make_bfd_asection): Call bfd_make_section to do the dirty
work. Simplify code somewhat.
* (hppa_core_file_p): Use proper name for stack section.
* libhppa.h: Remove millicode_start, millicode_end decls.