* 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 ****
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
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.
* 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.
* 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 ****
* 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 ****
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.
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.
* 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 ****
* 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.
* 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.
* 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.
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.
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.
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.