Commit Graph

27254 Commits

Author SHA1 Message Date
Denis Chertykov
68ab2dd99e * avr.h: New file with AVR opcodes. 2000-06-07 17:48:35 +00:00
Denis Chertykov
bab84c47ec * avr-dis.c: completely rewritten. 2000-06-07 17:45:44 +00:00
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