Doug Evans [Thu, 13 Nov 1997 21:18:14 +0000 (21:18 +0000)]
* sim-base.h (sim_state_base): Move `magic' to end of struct.
* sim-base.h (sim_state_base): Add member trace_data.
(STATE_TRACE_DATA): New macro.
* sim-trace.h (TRACE_DEBUG_IDX,TRACE_debug): New macros.
({WITH_,}TRACE_DEBUG_P): New macros.
(STATE_TRACE_FLAGS,STRACE_P,STRACE_DEBUG_P): New macros.
(_sim_cpu): Delete forward reference.
(debug_printf): Update.
* sim-trace.c (OPTION_TRACE_DEBUG): Define.
(trace_options): Add --trace-debug.
(set_trace_options): Handle it.
(trace_option_handler): Likewise.
(trace_install): Init state trace_data struct.
(trace_uninstall): Close state trace file.
* sim-events.c (ETRACE): Only print source file and number if
--trace-debug.
* sim-n-core.h (sim_core_trace_M): Likewise.
* sim-core.c (sim_core_signal): Add missing "\n" in message.
Gavin Romig-Koch [Thu, 13 Nov 1997 16:13:03 +0000 (16:13 +0000)]
* mips.h (struct mips_opcode): Changed comments to reflect new
field usage.
* mips-opc.c: Move the INSN_MACRO ISA value to the membership
field for all INSN_MACRO's.
* mips16-opc.c: same
* config/tc-mips.c (macro_build): Use the membership field
for INSN_MACRO's.
(mips_ip): Same.
Doug Evans [Wed, 12 Nov 1997 20:29:53 +0000 (20:29 +0000)]
* Make-common.in (BUILT_SRC_FROM_COMMON): Remove files no longer
built this way.
(sim-config.o): Remove non-existent $(sim-nconfig_h) dependency.
(clean): Don't delete $(BUILT_SRC_FROM_COMMON) if building in
source tree.
Gavin Romig-Koch [Wed, 12 Nov 1997 15:09:33 +0000 (15:09 +0000)]
config/tc-mips.c (mips_4900): Added.
(hilo_interlocks): Added mips_4900.
(md_begin): Set default for mips_4900.
(macro_build,mips_ip): Test for INSN_4900 if mips_4900.
(md_longopts): Add "m4900" and "no-m4900".
(md_parse_option): Handle above options.
Ian Lance Taylor [Tue, 11 Nov 1997 18:35:20 +0000 (18:35 +0000)]
* config/tc-h8300.c: Include "subsegs.h".
(tc_reloc_mangle): Handle references to symbols which are not
being output, so that references to `.' work.
PR 13915.
Andrew Cagney [Mon, 10 Nov 1997 22:40:14 +0000 (22:40 +0000)]
* simops.c (OP_4201): "rachi". Sign extend bit 40 of ACC. Sign
extend bit 44 all constants.
(OP_4201): Replace GCC specific 0x..LL with SIGNED64 macro.
Rob Savoye [Fri, 7 Nov 1997 17:49:34 +0000 (17:49 +0000)]
* include/libiberty.h: Add extern "C" { so it can be used with C++
progrms.
* include/remote-sim.h: Add extern "C" { so it can be used with C++
programs.
Andrew Cagney [Thu, 6 Nov 1997 09:16:16 +0000 (09:16 +0000)]
IGEN likes to cache the current instruction address (CIA). Change the
MIPS simulator so that correctly writes the value of CIA back int PC
(the global previously used) when the simulation halts.
Fix implementation of DELAY_SLOT and NULLIFY_NEXT_INSTRUCTION macros.
Doug Evans [Wed, 5 Nov 1997 21:05:08 +0000 (21:05 +0000)]
Based on a patch from Ian.Dall@dsto.defence.gov.au.
* as.h (struct frag, frag support): Moved from here.
* frags.h: To here.
(struct frag, member tc_frag_data): New member if TC_FRAG_TYPE
is defined.
(struct frag, member fr_cgen): Renamed from fr_targ.cgen.
* cgen.c (cgen_asm_finish_insn): Update.
* config/tc-m32r.c (md_estimate_size_before_relax): Update.
* config/tc-m32r.h (TC_FRAG_INIT): Renamed from md_init_frag.
(md_convert_frag): Ditto.
* config/tc-ns32k.h (TC_FRAG_TYPE): Define.
(frag_opcode_frag,frag_opcode_offset,frag_bsr): Update.
(TC_FRAG_INIT): Update.
Andrew Cagney [Wed, 5 Nov 1997 01:08:12 +0000 (01:08 +0000)]
Delete -l and -n options, didn't do anything.
Rename option trace to dinero-trace & dinero-file - -t clashed with
common options.
Enable common trace options.
Geoffrey Noer [Wed, 5 Nov 1997 00:56:39 +0000 (00:56 +0000)]
Tue Nov 4 16:52:50 1997 Geoffrey Noer <noer@cygnus.com>
* config/i386/cygwin32.mh: because cygwin.dll calls malloc/realloc
to allocate memory for environ space, gdb cannot use memory
checks -- set -DNO_MMCHECK
Doug Evans [Wed, 5 Nov 1997 00:45:23 +0000 (00:45 +0000)]
* write.c (print_fixup): Use TC_FIX_DATA_PRINT (if defined) to
print out MD fields of fix.
* frags.c (frag_var, frag_variant): Use TC_FRAG_INIT macro (if
defined) to initialize MD fields in frag.
* as.h (struct frag, ns32k support): Rename ns32k to fr_ns32k.
Delete pcrel_adjust. Add fr_opcode_fragP, fr_opcode_offset.
* config/tc-ns32k.h: Add comments. Remove obsolete
BFD_FAST_SECTION_FILL definition, change prototypes for
fix_new_ns32k and fix_new_ns32k_exp to add new arguments
opcode_frag and opcode_offset and remove pcrel_adjust.
(TC_FIX_TYPE): add opcode_fragP and opcode_offset fields.
(TC_FIX_DATA_PRINT): new macro to print out TC_FIX_TYPE.
(TC_FRAG_INIT): new macro to initialize machine dependent field in
frags.
(frag_opcode_frag, frag_opcode_offset, frag_bsr): macros to access
MD fields in frag structure.
(fix_im_disp, fix_bit_fixP, fix_opcode_frag, fix_opcode_offset,
fix_bsr): macros to access MD fields in fix structure.
* config/tc-ns32k.c: Avoid overlength lines. Align comments. Don't
use struct opcode_location as these fields are now in the frag
structure.
(convert_iif): Call frag_more as it is needed instead
of trying to allocate for the whole insn. Avoid call of frag_more
with negative argument.
(md_pcrel_adjust, md_fix_pcrel_adjust, md_apply_fix,
md_estimate_size_before_relax, md_pcrel_from,
tc_aout_fix_to_chars): use accessor macros to get md fields in fix
and frag structures.
(fix_new_ns32k, fix_new_ns32k_exp): add new arguments opcode_frag and
opcode_offset and remove pcrel_adjust.
(convert_iif, cons_fix_new_ns32k): call fix_new_ns32k,
fix_new_ns32k_exp with changed arguments.
Andrew Cagney [Wed, 5 Nov 1997 00:08:14 +0000 (00:08 +0000)]
Rewrite sim_monitor (implements read, write, open, et.al. system
calls) and sim_open so that they uses the virtual memory data transfer
functions sim_read & sim_write. This eliminates all code (other than
in load_memory & store_memory) that makes assumptions about the
implementation of the underlying memory model.
Andrew Cagney [Tue, 4 Nov 1997 23:59:41 +0000 (23:59 +0000)]
* sim-endian.h (U16_8): Implement
* sim-endian.c (sim_endian_split_16, sim_endian_join_16): New functions
* sim-endian.h (VL8_16, VH8_16): Implement.
* sim-memopt.c (memory_option_handler): Typecast 64bit value to long in printf.
(memory_option_handler): Only zalloc modulo bytes when non-zero.
(memory_option_handler): Skip comma in alias address list
* tc-mips.c (md_begin): Reorganize setting of default values so
that mips_cpu depends on TARGET_CPU, and mips_opts.isa depends on
mips_cpu.
(md_parse_option): Remove all code that sets defaults; md_begin
handles all of this now.
* objcopy.c (parse_flags): Make flag check case insensitive.
Check for `contents' flag. Give an error for unrecognized flags.
(copy_section): If the contents flag was set for a section that
had no contents, zero out the new contents.
* binutils.texi (objcopy): Document contents section flag.
PR 10601.
* objcopy.c: Move new struct and variable definitions to top of
file. Remove obsolete add_strip_symbol and is_strip_symbol
declarations. Add prototype declarations for add_specific_symbol
and is_specified_symbol.
Dawn Perchik [Sat, 1 Nov 1997 01:28:26 +0000 (01:28 +0000)]
* dwarf2read.c (dwarf2_build_psymtabs_hard): Handle the case
where a compilation unit die has no children (DW_TAG_compile_unit
has DW_children_no).
(scan_partial_symbols): Add comment for nesting_level.
* elf32-sparc.c (elf32_sparc_relocate_section): Give a helpful error
message instead of merely aborting.
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
* elf64-sparc.c (sparc64_elf_check_relocs): Use SEC_ALLOC to control
whether we output dynamic relocs instead of SEC_DEBUGGING.
(sparc64_elf_relocate_section): Likewise.
Ken Raeburn [Fri, 31 Oct 1997 23:21:44 +0000 (23:21 +0000)]
* config/tc-mips.c (mips_5400): New variable.
(md_begin, md_parse_option): Handle 5400 options/names.
(macro_build, mips_ip): Check for 5400-specific instructions.
(md_longopts, OPTION_M5400, OPTION_NO_M5400): More command-line support for
5400.
* config/tc-mips.c (validate_mips_insn): New function, checks match versus mask
bits, and also verifies that all bits to be output are actually specified
somewhere.
(md_begin): Call it for 32-bit instructions, instead of doing match/mask check
here. In case of failure, print a message, but check the rest of the opcode
table before exiting.
Andrew Cagney [Fri, 31 Oct 1997 08:49:10 +0000 (08:49 +0000)]
Make memory regions layered (just like existing device regions) so
that overlapping regions can be defined.
Allow the layer (level) of a memory region to be specified as part of
an address parameter to memory options.
Update simulators.