Commit Graph

17644 Commits

Author SHA1 Message Date
Jeff Law
b5f831ac51 * gencode.c, interp.c: Snapshot current simulator code.
(crude) hashing works, along with dispatch to the OP_* functions.
1996-11-26 20:40:19 +00:00
Jeff Law
23b01150f5 * mn10300-opc.c (mn10300_opcodes): Fix mask field for
mov am,(imm32,sp).
Found during initial simulator work.
1996-11-26 20:28:34 +00:00
Ian Lance Taylor
831f59a218 Add support for mips16 (16 bit MIPS implementation):
* gencode.c (inst_type): Add mips16 instruction encoding types.
	(GETDATASIZEINSN): Define.
	(MIPS_DECODE): Add REG flag to dsllv, dsrav, and dsrlv.  Add
	jalx.  Add LEFT flag to mfhi and mflo.  Add RIGHT flag to mthi and
	mtlo.
	(MIPS16_DECODE): New table, for mips16 instructions.
	(bitmap_val): New static function.
	(struct mips16_op): Define.
	(mips16_op_table): New table, for mips16 operands.
	(build_mips16_operands): New static function.
	(process_instructions): If PC is odd, decode a mips16
	instruction.  Break out instruction handling into new
	build_instruction function.
	(build_instruction): New static function, broken out of
	process_instructions.  Check modifiers rather than flags for SHIFT
	bit count and m[ft]{hi,lo} direction.
	(usage): Pass program name to fprintf.
	(main): Remove unused variable this_option_optind.  Change
	``*loptarg++'' to ``loptarg++''.
	(my_strtoul): Parenthesize && within ||.
	* interp.c (sim_trace): If tracefh is NULL, set it to stderr.
	(LoadMemory): Accept a halfword pAddr if vAddr is odd.
	(simulate): If PC is odd, fetch a 16 bit instruction, and
	increment PC by 2 rather than 4.
	* configure.in: Add case for mips16*-*-*.
	* configure: Rebuild.
1996-11-26 18:12:44 +00:00
Ian Lance Taylor
8a1aafab2e Tue Nov 26 11:45:33 1996 Kim Knuttila <krk@cygnus.com>
* config.sub (basic_machine): added mips16 configuration
1996-11-26 16:47:58 +00:00
Ian Lance Taylor
cc5703cd74 Add support for mips16 (16 bit MIPS implementation):
* config/tc-mips.c: Extensive additions for mips16 support, not
	listed here.
	(RELAX_OLD, RELAX_NEW): Use only 7 bits each.
	(insn_uses_reg): Change last parameter to an enum.
	* config/tc-mips.h (LOCAL_LABELS_DOLLAR): Define as 0.
	(md_relax_frag): Define as mips_relax_frag.
	(mips_relax_frag): Declare.
	(struct mips_cl_insn): Add use_extend and extend fields.
	(tc_fix_adjustable): Define.
	* config/obj-elf.h (S_GET_OTHER): Define.
	(S_SET_OTHER): Define.
1996-11-26 16:44:22 +00:00
Ian Lance Taylor
6c02f1a02c * elf-bfd.h (struct elf_link_hash_entry): Add other field.
* elf.c (_bfd_elf_link_hash_newfunc): Initialize other field.
	(swap_out_syms): Set st_other from existing st_other field.
	* elflink.h (elf_link_add_object_symbols): Store st_other in hash
	table other field.
	(elf_link_output_extsym): Set the other field from the global hash
	table entry.
	* elf32-mips.c (enum reloc_type): Add R_MIPS16_26.
	(elf_mips16_jump_howto): New static variable.
	(mips16_jump_reloc): New static function.
	(bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS16_JMP.
	(mips_info_to_howto_rel): Handle R_MIPS16_26.
	(mips_elf_relocate_section): Handle R_MIPS16_26.  Handle R_MIPS_26
	to a mips16 symbol.
	* reloc.c (BFD_RELOC_MIPS16_JMP): Add to list of relocs.
	* bfd-in2.h, libbfd.h: Rebuild.
	* cpu-mips.c (arch_info_struct): Add mips:16 entry.
1996-11-26 16:43:03 +00:00
Ian Lance Taylor
8d67dc3077 Add support for mips16 (16 bit MIPS implementation):
* mips16-opc.c: New file.
	* mips-dis.c: Include "elf-bfd.h" and "elf/mips.h".
	(mips16_reg_names): New static array.
	(print_insn_big_mips): Use print_insn_mips16 in 16 bit mode or
	after seeing a 16 bit symbol.
	(print_insn_little_mips): Likewise.
	(print_insn_mips16): New static function.
	(print_mips16_insn_arg): New static function.
	* mips-opc.c: Add jalx instruction.
	* Makefile.in (mips16-opc.o): New target.
	* configure.in: Use mips16-opc.o for bfd_mips_arch.
	* configure: Rebuild.
1996-11-26 15:59:18 +00:00
David Edelsohn
fd14b47f78 Regenerated since aclocal.m4 changed. 1996-11-26 03:54:26 +00:00
David Edelsohn
72eeb00634 * config.in (WORDS_BIGENDIAN): Add.
* configure: Regenerated.
	* d10v_sim.h: #include "config.h"
1996-11-26 03:53:40 +00:00
J.T. Conklin
520e44a15a * m68k-opc.c (m68k_opcodes): Simplify table by using < and >
operand specifiers in *save, *restore and movem* instructions.
1996-11-26 03:24:55 +00:00
Ian Lance Taylor
f082b5eaea * configure.host: Use long long for mips-sgi-irix6*. 1996-11-26 02:38:33 +00:00
J.T. Conklin
3ab410cd65 * config/tc-m68k.c (m68k_ip): Implement cases for new <, >, m, n,
o and p operand specifiers.
1996-11-26 02:07:49 +00:00
J.T. Conklin
0ba44243df * m68k.h: Document new <, >, m, n, o and p operand specifiers. 1996-11-26 01:58:02 +00:00
J.T. Conklin
da34628ad8 * m68k-opc.c (m68k-opcodes): Fix move and movem instructions for
the coldfire.
1996-11-26 01:54:16 +00:00
J.T. Conklin
0dd19a8f36 * m68k-opc.c (m68k-opcodes): Fix many forms of the move
instruction for the coldfire.
1996-11-26 00:17:17 +00:00
J.T. Conklin
09d205d155 * m68k-opc.c (m68k-opcodes): The coldfire (mcf5200) can only use
register operands for immediate arithmetic, not, neg, negx, and
set according to condition instructions.
1996-11-25 22:33:46 +00:00
Ian Lance Taylor
a1e48de01d * objdump.c (disassemble_data): Don't crash if there is no
symbol.
1996-11-25 21:54:02 +00:00
J.T. Conklin
1852237cf4 * m68k-opc.c (m68k_opcodes): Consistantly Use "s" as the storage
specifier of the effective-address operand in immediate forms of
arithmetic instructions.  The specifier for the immediate operand
notes how and where the constant will be stored.
1996-11-25 21:39:55 +00:00
David Edelsohn
a0a2af4f95 * write.c: Delete "ifndef md_relax_frag" around is_dnrange.
(relax_segment, case rs_org): Move code inside braces.  Move locals
	target,after inside too.
	(relax_segment, case rs_machine_dependent): Guts moved to ...
	(relax_frag): New function.
	Call md_prepare_relax_scan if defined.
	* config/tc-m68k.h (md_prepare_relax_scan): Renamed from
	M68K_AIM_KLUDGE.
1996-11-25 21:25:54 +00:00
Fred Fish
22ba28a51a From: Paul Eggert <eggert@twinsun.com>
* remote-bug.c (wait_strings): Avoid creating a trigraph.
1996-11-25 20:09:27 +00:00
Jeff Law
05ccbdfdd2 * Makefile.in, config.in, configure, configure.in: New files.
* gencode.c, interp.c, mn10300_sim.h, simops.c: New files.

Skeleton mn10300 simulator
1996-11-25 19:52:08 +00:00
Jeff Law
731c7b4bb8 * mn10300-opc.c (mn10300_opcodes): Remove redundant "lcc"
opcode.
1996-11-25 19:46:21 +00:00
Jeff Law
76783aa31c * mn10300-dis.c (disassemble): Use '$' instead of '%' for
register prefix.
It's easier for the assembler...
1996-11-25 18:46:06 +00:00
Jeff Law
a0cb629bde * gas/mn10300/*.s: Use '$' as register prefix for
all register operands.
1996-11-25 18:42:32 +00:00
Jeff Law
f98905f13d * config/tc-mn10300.c (address_registers): Use '%' prefix for regs.
(data_registers, other_registers, md_assemble): Likewise.
1996-11-25 18:24:14 +00:00
Jeff Law
11cd057a41 * mn10300-dis.c (disassemble): Prefix registers with '%'. 1996-11-25 18:21:08 +00:00
Jeff Law
9e73a716d3 * emulparms/mn10300.sh: Remove bogus '_' prefix for
entry symbol and ctor/dtor stuff.
Getting c-torture tests to link
1996-11-25 16:59:47 +00:00
Jeff Law
12fdaaf821 * elf32-mn10300.c (bfd_elf32_mn10300_reloc): New function.
(enum reloc_type): Add more reloc types.
        (elf32_mn10300_howto_table): Update for new reloc types.
        (elf32_mn10300_reloc_map): Update for new reloc types.
        * reloc.c: Add some new relocs for the mn10300 series.
        * bfd-in2.h, libbfd.h: Rebuilt.
Last week's reloc work.
1996-11-25 15:59:07 +00:00
Jeff Law
0671e7f6c6 * config/tc-mn10300.c (md_assemble): Correctly determine the
correct location and type for each relocation.
        (md_pcrel_from): Simplify.
Last week's reloc work.
1996-11-25 15:54:43 +00:00
Fred Fish
b016565b0c * gdb.base/a1-selftest.exp: Change x86 linux setup_xfails to
use new i*86-pc-linux*-gnu quads.
	* gdb.base/corefile.exp: Ditto.
	* gdb.base/signals.exp: Ditto.
	* gdb.base/sigall.exp: Ditto.
	* gdb.base/interrupt.exp: Ditto.

	* gdb.base/signals.exp (signal_tests_1): Remove setup_xfail
	"i*86-*-linux" for "signal SIGUSR1".  Now works, at least with
	RedHat 4.0.

	* gdb.threads/pthreads.c (_MIT_POSIX_THREADS): Define if target is
 	linux.  This allows the test case to at least compile on latest
 	linux, but still not run due to missing the threads runtime library.
1996-11-23 21:33:08 +00:00
Fred Fish
e8ee39bcfb * misc.exp: Change x86 linux setup_xfails to use new
i*86-pc-linux*-gnu quads.
	* tuples.exp: Ditto.
	* tests2.exp: Ditto.
	* pr-5016.exp: Ditto.

	* tuples.exp: Add i*86-pc-linux-gnu setup_fail to existing
	xfails for 'set var vs1 := [ "bar", 42, m_ps[ a ] ]',
	'set var $i := m_s1["foo", 44, m_ps[a ]]', and
	'set var vs2 := [ 10+3, m_s1[ "foo" , 42, m_ps[ b ]]]'.
1996-11-23 21:28:30 +00:00
Jeff Law
23def2765b * som.c (setup_sections): Don't lose for a space which has
no data, but some symbols.
binutils/11140
1996-11-23 20:30:54 +00:00
Gavin Romig-Koch
0e5a3361cb Handle MSDOS's (non-unix) text files. 1996-11-23 19:33:06 +00:00
Gavin Romig-Koch
803a6df28b config.sub: Handle v850-unknown. 1996-11-23 15:29:11 +00:00
Martin Hunt
d9b9cbf3cc Fri Nov 22 15:55:22 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* valops.c (value_at, value_fetch_lazy): Put in D10V call
	to fix up address pointers.
	* values.c (value_from_longest): Removed previous d10v changes.
	* config/d10v/tm-d10v.h (TARGET_PTR_BIT): Change to 4 bytes.
1996-11-22 23:59:34 +00:00
Ian Lance Taylor
5895d3f225 * config/tc-sh.c (md_convert_frag): Improve warning when branch is
converted into branch around branch.
PR 11103.
1996-11-22 20:48:05 +00:00
Peter Schauer
49c7ee7be3 * gdb.base/a1-selftest.exp (do_steps_and_nexts): Reinitialize source
directory to search gdb directory. Accept and step over conditional
	stack alignment code. Consume $prompt in failure cases.
	Reset timeout to $oldtimeout instead of some arbitrary value.
	* gdb.base/nodebug.exp:  Limit backtrace to 10 frames to avoid
	timeout problems with infinite stack backtraces.
	* gdb.base/ptype.exp (ptype struct link, union tu_link):
	Accept function parameters for linkfunc member.
1996-11-22 18:16:24 +00:00
Peter Schauer
00b45456dd * config/i386/nm-i386v4.h (LOSING_POLL): Define, needed for
Unixware 1.1.2.
1996-11-22 18:09:47 +00:00
Ian Lance Taylor
57ed75f2a0 minor sanitization tweaks 1996-11-22 18:02:55 +00:00
Ian Lance Taylor
a600a89e4f * sunos.c (struct sunos_link_hash_table): Add got_needed field.
(sunos_link_hash_table_create): Initialize got_needed.
	(sunos_create_dynamic_sections): Only set .got section size if it
	is not already set.  Set got_needed.
	(bfd_sunos_size_dynamic_sections): Check got_needed.  Only set
	sdynptr, and only handle dynamic sections, if dynamic sections are
	needed.
	(sunos_scan_std_relocs): Pass false to create_dynamic_sections.
	Initialize .got section.
	(sunos_scan_ext_relocs): Likewise.
	(sunos_write_dynamic_symbol): Set up PLT entry even if this is not
	a dynamic symbol.
	(sunos_finish_dynamic_link): Check got_needed.  Only set up
	dynamic linking information if needed.
PR 11074.
1996-11-22 16:39:17 +00:00
Mark Alexander
ee45546371 * mips-tdep.c: Replace hard-coded constants with MIPS_INSTLEN.
(common_breakpoint): Use paddr instead of %x to print 64-bit values.
	(heuristic_proc_desc): Add tests for 64-bit instructions.
	(init_extra_frame_info, mips_push_arguments): Recognize additional
	registers for EABI.
	* remote-mips.c: Extend DDB target to allow TFTP downloads.
	* config/mips/tm-mips.h (MIPS_LAST_ARG_REGNUM, MIPS_NUM_ARG_REGS):
	Define.
1996-11-22 04:50:46 +00:00
Geoffrey Noer
93dafa36de Added findutils, less, ncurses to top level .Sanitize 1996-11-22 00:59:24 +00:00
Geoffrey Noer
b512a90190 Thu Nov 21 16:19:44 1996 Geoffrey Noer <noer@cygnus.com>
* Makefile.in: add findutils
        * configure.in: add findutils to list of host_tools
1996-11-22 00:22:19 +00:00
Rob Savoye
aa09d6b2fb * config.bfd: Added VersaDOS format to the Ericsson configuration. 1996-11-21 19:04:56 +00:00
Martin Hunt
8ae9505bc0 Removed d10v.h. 1996-11-21 19:01:14 +00:00
Jeff Law
d9a9c18fad * config/tc-mn10300.h (DIFF_EXPR_OK): Don't define this.
(tc_fix_adjustable): Don't adjust relocs against weak symbols or
        pc-relative relocs.
        * config/tc-mn10300.c (md_begin): Set linkrelax.
        (md_assemble): Create fixups as needed.
        (md_apply_fix3): Gut.  It shouldn't ever get called anymore.
First stab at fixups/relocs.
1996-11-21 18:58:26 +00:00
Jeff Law
d3931e9311 * gas/all/gas.exp: xfail a couple tests for the mn10300.
For now...
1996-11-21 18:51:56 +00:00
Fred Fish
af4a96bc68 * lib/gdb.exp (CFLAGS): Remove, unreferenced.
(CXXFLAGS): Remove, unreferenced.
	(B_OPTIONS): Add for -B options and add code to initialize with previous
	-B options and also add -B option to pick up cross compiled runtime.
	(TARGET_INCLUDES): Add for -I options and add code to initialize when
	doing cross compiles.
	(target_alias): Declare global.
	(xgcc): Set variable to full path of gcc in build tree.  Use findfile
	to verify that gcc exists in build tree, and if so set CC to that
	gcc and to use B_OPTIONS and TARGET_INCLUDES.
1996-11-21 17:29:43 +00:00
Martin Hunt
6ef2207f54 Wed Nov 20 19:09:16 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* tm-d10v.h (REGISTER_VIRTUAL_SIZE): Modified.
	(REGISTER_VIRTUAL_TYPE): Modified for PC_REGNUM and SP_REGNUM.
	(REGISTER_CONVERTIBLE): Make PC and SP convertible.
	(REGISTER_CONVERT_TO_VIRTUAL): Define.
	(REGISTER_CONVERT_TO_RAW): Define.
	(D10V_MAKE_DADDR): Define.
	(D10V_MAKE_IADDR): Define.
1996-11-21 03:20:03 +00:00
Martin Hunt
d716b33d85 Wed Nov 20 19:09:16 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* infcmd.c (do_registers_info): Call val_print with the
	virtual buf instead of the raw buf.  Needed for REGISTER_CONVERT
	to work with non-floating point regs.

start-sanitize-d10v
	* d10v-tdep.c (d10v_skip_prologue): If we have line debugging
	information, then the end of the prologue should the first
	assembly instruction of the first source line.

	* values.c (value_from_longest): Put in D10V call to
	fix up address pointers.

	* config/d10v/tm-d10v.h (REGISTER_VIRTUAL_SIZE): Modified.
	(REGISTER_VIRTUAL_TYPE): Modified for PC_REGNUM and SP_REGNUM.
	(REGISTER_CONVERTIBLE): Make PC and SP convertible.
	(REGISTER_CONVERT_TO_VIRTUAL): Define.
	(REGISTER_CONVERT_TO_RAW): Define.
	(D10V_MAKE_DADDR): Define.
	(D10V_MAKE_IADDR): Define.
end-sanitize-d10v
1996-11-21 03:19:37 +00:00