Commit Graph

27502 Commits

Author SHA1 Message Date
Denis Chertykov 1188e08253 * config/tc-avr.c (AVR_ISA_???): moved to include/opcode/avr.h
(REGISTER_P): likewise.
	(avr_opcodes): uses include/opcode/avr.h
	(avr_operand): enable ld r,Z or st r,Z for at90s1200.
2000-06-07 17:42:44 +00:00
Joern Rennecke 2532761bdf sh-dsp support, simulator speedup by using host byte order:
* Makefile.in (interp.o): Depends on ppi.c .
	(ppi.c): New rule.
	* gencode.c (printonmatch, think, genopc): Deleted.
	(MAX_NR_STUFF): Now 42.
	(tab): Add SH-DSP CPU instructions.
	Amalgamate ldc / stc / lds / sts instructions with similar
	bit patterns.  Fix opcodes of stc Rm_BANK,@-<REG_N>.
	Fix semantics of lds.l @<REG_N>+,MACH (no sign extend).
	(movsxy_tab): New array.
	For movs, change MMMM field to GGGG, and mmmm field to MMMM.
	Added entries for movx, movy and parallel processing insns.
	(ppi_tab): New array.
	(qfunc): Stabilize sort.
	(expand_opcode): Handle [01][01]NN, [01][01]xx and [01][01]yy.
	Handle 'M', 'G' 's' 'X', 'a', 'Y' and 'A'.
	(dumptable): Now takes three arguments.  Changed all callers.
	Emit just one contigous jump table.
	(filltable): Now takes an argument.  Changed all callers.
	Make index static.
	(ppi_moves, expand_ppi_code, ppi_filltable, ppi_gensim): New functions.
	(gensim_caselist): New function, broken out of gensim.
	Handle opcode fields 'x', 'y', 's', 'M', 'G', 'X', 'a', and 'Y'.
	Handle ref '9'.
	(gensim): Handle 'N' in code field and '8' in refs field.
	Call gensim_caselist - twice.
	(ppi_index): New static variable.
	(main): Unsupport default action.
	Add dsp support for -x / -s option.  Add -p option.
	* interp.c (sh_jump_table, sh_dsp_table, ppi_table): Declare.
	(saved_state_type): Rearrange to allow amalgamated ldc / stc /
	lds / sts to work efficiently.
	(target_dsp): New static variable.
	(GBR, VBR, SSR, SPC, MACH, MACL): Reflect saved_state_type change.
	(FPUL, Rn_BANK, SET_Rn_BANK, M, Q, S, T, SR_BL, SR_RB): Likewise.
	(SR_MD, SR_RC, SET_SR_BIT, GET_SR, SET_RC, GET_FPSCR): Likewise.
	(RS, RE, MOD, MOD_ME, DSP_R): Likewise.
	(set_fpscr1): Likewise.  Use target_dsp to check for dsp.
	(MOD_MSi, SIG_BUS_FETCH): Deleted.
	(CREG, SREG, PR, SR_MASK_DMY, SR_MASK_DMX, SR_DMY): New macros.
	(SR_DMX, DSR, MOD_DELTA, GET_DSP_GRD): Likewise.
	(SET_MOD): Reflect saved_state_type change.  Set MOD_DELTA instead
	of MOD_MS, and encode SR_DMY / SR_DMX into high word of MOD_ME.
	(set_sr): Reflect saved_state_type change.  Fix SR_RB handling.
	Use SET_MOD.
	(MA, L, TL, TB): Now controlled by ACE_FAST.
	(SEXT32): Just cast to int.
	(SIGN32): Fixed to only shift by 31.
	(CHECK_INSN_PTR): SIGBUS at insn fetch now represented by insn_end 0.
	(ppi_insn): Declare.
	(ppi.c): Include.
	(init_dsp): Set target_dsp.  When it changes, switch end of
	sh_jump_table with sh_dsp_table.
	(sim_resume) Don't declare sh_jump_table0.  Use sh_jump_table instead.
	Don't Declare PR if it's #defined.
	Fix single-stepping (Was broken in Mar  6 16:59:10 patch).
	(sim_store_register, sim_read_register): Translate accesses to
	reflect saved_state_type change.

	* interp.c (set_sr): Set sr.
	(SET_RC, MOD, MOD_MS, MOD_ME, SET_MOD, MOD_MS, MOD_ME): New macros.
	(set_fpscr1): Don't bank-switch fpu registers when simulating sh-dsp.
	(DSP_R): Fix definition.
	(sim_resume): Remove outdated SET_SR use.

	* interp.c (saved_state): New members for struct member asregs:
	rs, re, insn_end, xram_start, yram_start.
	(struct loop_bounds): New struct.
	(SKIP_INSN): New macro.
	(get_loop_bounds): New function.
	(endianw): Renamed to global_endianw.
	(maskw): negated bits.
	(PC): Now insn_ptr.
	(SR_MASK_RC, SR_RC_INCREMENT, SR_RC, RAISE_EXCEPTION): New macros.
	(RS, RE, DSP_R, DSP_GRD, A1, A0, X0, X1, Y0, Y1, M0, A1G): Likewise.
	(M1, A0G, RIAT, PT2H, PH2T, SET_NIP, CHECK_INSN_PTR): Likewise.
	(SIG_BUS_FETCH): Likewise
	(raise_exception, riat_fast): New functions.
	(raise_buserror, sim_stop): Use raise_exception.
	(PROCESS_SPECIAL_ADDRESS): Use xram_start / yram_start.
	(BUSERROR, WRITE_BUSERROR, READ_BUSERROR):
	Reverse sense of mask argument.
	(FP_OP, set_dr): Use RAISE_EXCEPTION.
	(wlat_fast, wwat_fast, wbat_fast, rlat_fast, rwat_fast, rbat_fast):
	Declare.  Remove redundant masking.
	(wwat_fast, rwat_fast): Add argument endianw.  Changed callers.
	(MA): Updated for change pc -> PC.
	(Delay_Slot): Use RIAT.
	(empty): Deleted.
	(trap): Remove argument little_endian.  Add argument endianw.
	Changed all callers.  Use raise_exception.
	(macw): Add argument endainw.  Changed all callers.
	(init_dsp): New function, extended after broken out of init_pointers.
	(sim_resume): Replace pc with insn_ptr.  Replace little_endian with
	endianw.  Replace nia with nip.  Reverse sense of maskb / maskw /
	maskl.  Implement logic for zero-overhead loops.  Don't try to
	interpret garbage when getting a SIGBUS at insn fetch.
	(sim_open): Call init_dsp.
	* gencode.c (tab): Use SET_NIP instead of nia = .  Use PH2T / PT2H /
	RAISE_EXCEPTION where appropriate.
	Add extra cycles for brai, braf , bsr, bsrf, jmp, jsr.

	* interp.c (sim_store_register, sim_fetch_register):
	Do proper endianness switch.

	* interp.c (saved_state_type): New members for struct member asregs:
	xymem_select, xmem, ymem, xmem_offset, ymem_offset.
	(special_address): Delete.
	(BUSERROR): Now a two-argument predicate.
	(PROCESS_SPECIAL_ADDRESS, WRITE_BUSERROR, READ_BUSERROR): New macros.
	(wlat_little, wwat_little, wbat_any, wlat_big, wwat_big): Delete.
	(process_wlat_addr, process_wwat_addr): New functions.
	(process_wbat_addr, process_rlat_addr, process_rwat_addr): Likewise.
	(process_rbat_addr): Likewise.
	(wlat_fast, wwat_fast, wbat_fast): Use WRITE_BUSERROR.
	(rlat_little, rwat_little, rbat_any, rlat_big, rwat_big): Delete.
	(rlat_fast, rwat_fast, rbat_fast): Use READ_BUSERROR.
	(RWAT, RLAT, RBAT, WWAT, WLAT, WBAT): Delete SLOW versions.
	(do_rdat, trap): Delete SLOW code.
	(SEXT32, SIGN32): New macros.
	(swap, swap16): Now integer in - integer out.  Changed all callers.
	(strswaplen, strnswap): Delete SLOW versions.
	(init_pointers): Initialize dsp memory selection (preliminary).
	(sim_store_register, sim_fetch_register): Use swap instead of
	big / little endian read / write functions.

	* interp.c (maskl): Deleted.
	(endianw, endianb): New variables.
	(special_address): Now inline.
	(bp_holder): Put raising of buserror there, rename to:
	(raise_buserror).
	(BUSERROR): Now yields a value.  Changed all users.
	(wbat_big): Delete.
	(wlat_fast, wwat_fast, wbat_fast): New functions.
	(rlat_fast, rwat_fast, rbat_fast): Likewise.
	(RWAT, RLAT, RBAT, WWAT, WLAT, WBAT): Use new functions.
	(do_rdat, do_wdat): Likewise.  Take maskl argument instead of
	little_endian one.  Changed caller macros.
	(swap, swap16): Use w[rw]lat_big / w[rw]lat_little directly.
	(strswaplen, strnswap): New functions.
	(trap): Use them to fix up endian mismatches;
	disable SYS_execve and SYS_execv; fix double address translation for
	SYS_pipe and SYS_stat.
	(sym_write, sym_read): Add endianness translation.
	(sym_store_register, sym_fetch_register): Add maskl local variable.
	(sim_open): Set endianw and endianb.
2000-06-07 14:59:16 +00:00
Alan Modra dc47f3278f (elf32_i386_vtinherit_howto, elf32_i386_vtentry_howto): Delete and
move HOWTOs into elf_howto_table.
2000-06-07 14:23:51 +00:00
Andrew Cagney 6ecce94d48 Purge last remaining make_cleanup_func. 2000-06-07 04:43:30 +00:00
Andrew Cagney b4a2023990 The attatched moves the remaining guff from gdbarch.{h,c,sh} to
arch-utils.{h,c}.  The ``set architecutre'' and ``set endian''
commands (part of the move) were implemented to use add_set_enum_cmd()
so that ``set architecture <tab>'' works.
2000-06-07 04:38:02 +00:00
Andrew Cagney 17c579bd62 Use ``set remote memory-read-packet-size'' instead of ``set endian
big'' in deprecate test.
2000-06-07 04:14:02 +00:00
Alan Modra 638632bd1c Update copyright dates for last patch.
Scanning ChangeLog showed others were lazy/forgetful too :-)
2000-06-07 04:08:13 +00:00
Alan Modra 1b452ec66b Get rid of the -1 dummy valued enum in START_RELOC_NUMBERS.
Remove duplicate reloc enums in elf32-d[13]0v.c
Remove EMPTY_HOWTOs in elf32-i386.c
2000-06-07 03:43:33 +00:00
Michael Snyder 3e0bf9f1f0 2000-06-06 Michael Snyder <msnyder@seadog.cygnus.com>
* configure.in: Enable autoconf to find curses.h on Solaris 2.8.
	* configure: Regenerate.
2000-06-07 01:14:07 +00:00
Michael Snyder e5f9ba7b27 2000-06-02 Michael Snyder <msnyder@seadog.cygnus.com>
* gdb.c++/local.exp: This test has never been known to work with g++.
2000-06-06 20:17:13 +00:00
Michael Snyder e0ebfc612d 2000-06-06 Michael Snyder <msnyder@seadog.cygnus.com>
* elf.c (elf_grok_pr_status): Eliminate reference to prgregset_t.
2000-06-06 20:00:33 +00:00
DJ Delorie 9cc28cc8a9 * Makefile.in: add EXTRA_INCS
* configure.in: if with-newlib, point to it for includes
rather than using the installed includes, for target builds.
If cygwin, override function list only for target builds.
* configure: regenerate
Note from DJ: I waited a week for gcc approval and got none, but
we need this patch for cygwin builds *now*.  I'll fix it later if
need be.
2000-06-06 17:52:20 +00:00
Daniel Berlin b9d836b67a Properly fill changelog entry 2000-06-06 15:09:41 +00:00
Andrew Cagney aa8910955a Accept an enum immediately when it is an exact match - wouldn't accept
``d10v'' when the choice was d10v{,:ts2,:ts3}.
2000-06-06 12:13:53 +00:00
Andrew Cagney 69c49926bb Mips is always TARGET_BYTE_ORDER_SELECTABLE_P 1. 2000-06-06 07:00:45 +00:00
Andrew Cagney 193e3b1a00 Move generic_register_convertible_not and frame_num_args_unknown from
gdbarch.* to arch-utils.*.
2000-06-06 06:45:19 +00:00
Andrew Cagney ef31c1ea0e Delete TARGET_MONITOR_PROMPT. 2000-06-06 06:19:57 +00:00
Daniel Berlin 55b13a653e Revert an accidental commit 2000-06-06 00:38:10 +00:00
Michael Snyder 4a9383286c 2000-05-26 Michael Snyder <msnyder@seadog.cygnus.com>
* elf.c (elfcore_grok_prstatus, elfcore_grok_pstatus,
        elfcore_grok_psinfo): Add code to allow debugging a 32-bit
        corefile on a 64-bit (Sparc Solaris) host.  Also clean up
        a few old comments.
2000-06-06 00:08:01 +00:00
Daniel Berlin 357e46e7c9 C++ improvements 2000-06-05 20:49:53 +00:00
Daniel Berlin e6d71bf34e New tests, fix old tests, make more tests work 2000-06-05 20:47:28 +00:00
H.J. Lu 9d6eee7847 2000-06-05 H.J. Lu <hjl@gnu.org>
* elflink.c (_bfd_elf_link_record_dynamic_symbol): Don't flag
	an error when seeing an undefined symbol with hidden/internal
	attribute. It is handled in *_relocate_section ().
2000-06-05 20:46:21 +00:00
H.J. Lu 7cda33a15e 2000-06-05 H.J. Lu (hjl@gnu.org)
* lib/ld-lib.exp (default_ld_link): Redirect the linker output
	to link_output and make it global.

	* ld-elfvsb/elfvsb.exp (visibility_test): Add "hidden_undef",
	"hidden_undef_def", "hidden_weak", "protected_undef",
	"protected_undef_def" and "protected_weak".
	(visibility_run): Likewise.
	* ld-elfvsb/main.c: Likewise.
	* ld-elfvsb/sh1.c: Likewise.
	* ld-elfvsb/sh2.c: Likewise.

	* ld-elfvsb/elfvsb.dat: Updated.
2000-06-05 20:43:18 +00:00
Mark Kettenis 422ea4b878 * acconfig.h, configure.in, i386bsd.c (HAVE_STRUCT_REG_R_FS):
Renamed from HAVE_R_FS.
(HAVE_STRUCT_REG_GS): Renamed from HAVE_R_GS.
* configure, config.in: Regenerated.
2000-06-05 18:59:40 +00:00
H.J. Lu d108020f09 Remove the `/* Fall through. */' comment in elf_link_output_extsym ()
for the indirect symbol.
2000-06-05 18:15:35 +00:00
H.J. Lu 94b6c40a1a 2000-06-05 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_fix_symbol_flags): Follow the link for the
	indirect symbol for the ELF_LINK_NON_ELF bit.
	(elf_link_output_extsym): Don't output the indirect symbol even
	if the ELF_LINK_NON_ELF bit is set.
2000-06-05 17:21:32 +00:00
H.J. Lu e06cae3665 2000-06-05 Michael Matz <matz@ifh.de>
* ldgram.y (vers_defns): Handle 'extern "C++" { ... }' in
	 version scripts.

	 * ldlex.l (V_IDENTIFIER): Accept `::' in symbols.
2000-06-05 16:16:31 +00:00
Andrew Cagney 26099b4aa4 More updates. 2000-06-05 05:20:58 +00:00
Alan Modra a6b9488aec Modify test to check line separator works. 2000-06-04 23:14:30 +00:00
Andrew Cagney ac2e2ef7e2 Add host_pointer_to_address() and address_to_host_pointer(). Add
signed_pointer_to_address() etc.  Rename generic_pointer_to_address()
to unsigned_pointer_to_address() etc.
2000-06-04 13:46:37 +00:00
Alan Modra 0b5454486c (is_end_of_line): Add three missing lines of 0 initializers. 2000-06-04 05:03:31 +00:00
Alan Modra ac743b2c9d (is_end_of_line): No ';' for TC_HPPA. 2000-06-04 03:28:38 +00:00
Andrew Cagney 8e6a3c35b9 Eliminate safe_strsignal(). 2000-06-04 01:58:49 +00:00
Kevin Buettner 507f3c78fb Eliminate PARAMS from function pointer declarations. 2000-06-04 00:41:10 +00:00
Christopher Faylor 450005e7c2 * win32-nat.c (safe_symbol_file_add_cleanup): Ensure that gdb_stderr is flushed
before deleting and restoring it.
(safe_symbol_file_add): Ensure that gdb_stderr is flushed before reassigning
it.
(handle_load_dll): Split into two functions so that WFI can handle shared
library events.
(child_solib_loaded_library_pathname): New function.
(child_clear_solibs): New function.  Clears shared library list.
(child_solib_add): New function.  Adds shared library symbols.
(dll_symbol_command): New function.  Handles "dll-symbol" command.
(info_dll_command): New function.  Handles info "sharedlibrary" command.
(handle_exceptions): Eliminate 'ignore_trap' argument.
(get_child_debug_event): Eliminate two arguments.  Return "pid" when
appropriate.  Break out on most events to allow WFI to handle stuff.
(child_wait): Accomodate get_child_debug_event changes.
(child_attach): Clear thread list and list of loaded dlls.
(child_create_inferior): Clear list of loaded dlls.  Use wait_for_inferior in a
loop to look for first "trap".
(child_resume): Avoid accessing a possibly-freed thread pointer.
(_initialize_inftarg): Add "dll-symbols", "sharedlibrary", and "info
dll", and "info sharedlibrary" commands.
* config/i386/tm-cygwin.h: Add some shared library (aka DLL) hooks.
2000-06-04 00:28:17 +00:00
H.J. Lu 969e1a7b86 2000-06-03 H.J. Lu <hjl@gnu.org>
* read.c (is_end_of_line): Put back `;'.
2000-06-03 22:33:09 +00:00
Alan Modra 65172ab8f7 Update md_shortopts to what we actually handle. 2000-06-03 13:06:33 +00:00
Christopher Faylor 29fe111d82 * win32-nat.c: Fix up gcc warnings throughout.
(handle_load_dll): Change DLL name to lower case.
(handle_exception): Add a second argument indicating whether a breakpoint
should be ignored.  Return a 0 if the breakpoint was ignored.
(get_child_debug_event): Pass argument to handle_exception to control whether a
breakpoint should be ignored.
(child_create_inferior): Use modern cygwin API.  Explicitly clear last_sig.
Pass FIRST_EXCEPTION to get_child_debug_event for detection of first
breakpoint.

* configure.in: Eliminate unneeded WINDRES/DLLTOOL tests left over after last change.
* configure: Regenerate.
2000-06-03 05:04:14 +00:00
Christopher Faylor 95ca63c499 * configure.in: Detect correct versions of ranlib and windres when
cross-compiling.
* configure: Regenerate.
2000-06-03 03:27:30 +00:00
Alan Modra 859e1e4942 Fix name clash 2000-06-03 01:57:29 +00:00
J.T. Conklin b0cb5b8de2 * configure.tgt: Add pattern for i[3456]86-*-netbsdelf*.
* config/i386/nbsdelf.mt: New file.
* config/i386/tm-nbsdelf.h: New file.

* config/i386/tm-nbsd.h: change include of tm-nbsd.h to
the more explicit config/tm-nbsd.h.
2000-06-02 23:15:28 +00:00
Mark Kettenis 66c9e0f2b8 * alphabsd-nat.c (supply_fpregset): Substract FP0_REGNUM from
register number when used as index into fpr_regs array.
2000-06-02 19:04:51 +00:00
David O'Brien 6b3bf56090 * strings.c (isgraphic): Interpret <TAB> as a printable character,
analogous to <SPACE>.

Approved by:	Nick Clifton <nickc@cygnus.com>
		<200005222243.PAA14590@elmo.cygnus.com>
2000-06-02 18:55:04 +00:00
Nick Clifton 5fec0fc5d1 Fix formatting 2000-06-02 18:09:28 +00:00
Alan Modra b75c0c920f is_end_of_line fixes. 2000-06-02 02:52:10 +00:00
Andrew Cagney f0d4cc9e0e Multiarch TARGET_FLOAT_FORMAT, TARGET_DOUBLE_FORMAT,
TARGET_LONG_DOUBLE_FORMAT.  Update d10v.
2000-06-02 01:59:13 +00:00
Mark Kettenis 1b3739704e * config/alpha/nm-fbsd.h (CANNOT_STEP_BREAKPOINT): Define. 2000-06-01 22:29:37 +00:00
Michael Snyder d5cb3e0e0d 2000-06-01 Michael Snyder <msnyder@seadog.cygnus.com>
* sol-thread.c (rw_common): Circumstances (eg. a bug in Sun's
        thread_db library) may cause this function to be called with an
        illegal address, in which case procfs_to_xfer_memory will
        return zero.  Return an error code instead of looping forever.
2000-06-01 22:19:03 +00:00
J.T. Conklin 0af288f393 * config.bfd (i[3456]86-*-netbsdelf*): New target.
(i[3456]86-*-netbsdaout*): New target.
(i[3456]86-*-netbsd*): Add bfd_elf32_i386_vec to targ_selvecs.
(i[3456]86-*-openbsd*): Likewise.
2000-06-01 22:06:18 +00:00
Scott Bambrough a6836251f6 The ARM assembler is not assembling the following instruction
correctly.

	mrs	lr, spsr

The string pointer is advanced to far before the check to set
the SPSR bit.

Thu Jun 01 2000  Scott Bambrough <scottb@netwinder.org>

	* config/tc-arm.c (do_mrs): Allow SPSR_BIT to be set correctly.
2000-06-01 19:07:54 +00:00