Commit graph

18093 commits

Author SHA1 Message Date
Jeff Law
33a4c28dc0 * config/tc-mn10200.c (md_relax_table): Define.
(md_convert_frag): Implement.
        (md_assemble): Handle relaxable operands/instructions correctly.
        (md_estimate_size_before_relax): Implement.
        * config/tc-mn10200.h (TC_GENERIC_RELAX_TABLE): Define.
Some simple branch relaxing.
1997-01-29 16:46:31 +00:00
Jeff Law
c9f649022e * mn10200-opc.c (mn10200_operands): Make 8 and 16 bit pc-relative
branchs relaxable.
1997-01-29 16:40:15 +00:00
Jeff Law
53bdb44c10 * mn10200.h (MN10200_OPERAND_RELAX): Define.
Checking in some of the assembler branch relaxing code.
1997-01-29 16:38:25 +00:00
Bob Manson
787f622077 Major revision to testsuites for cross-testing and DOS testing support. 1997-01-29 09:40:31 +00:00
Jeff Law
1a2faf1f1e * elf32-mn10200.c (reloc_type): Add 16bit pc-relative reloc.
(elf_mn10200_howto_table): Likewise.
        (mn10200_reloc_map): Likewise.
How did I miss the 16bit pc-relative relocs?!?
1997-01-29 07:02:22 +00:00
Michael Snyder
b444216f2c * blockframe.c: fix a null pointer ref in generic_get_saved_register 1997-01-28 23:55:28 +00:00
Geoffrey Noer
52c8eceee0 Tue Jan 28 15:39:50 1997 Geoffrey Noer <noer@cygnus.com>
* mn10200-tdep.c (mn10200_frame_chain): get basic backtracing
        working
1997-01-28 23:43:36 +00:00
Ian Lance Taylor
20d4301801 * mips-dis.c (print_insn_mips16): Set insn_info information.
(print_mips16_insn_arg): Likewise.
1997-01-28 21:49:18 +00:00
Ian Lance Taylor
b4aabb244e * objdump.c (disassemble_bytes): Don't skip zeroes if the
disassembler has told us that we are in a branch delay slot.
1997-01-28 21:47:52 +00:00
Ian Lance Taylor
39bb58e0ad * config/tc-mips.c (append_insn): Give an error for jumps to a
misaligned address.
1997-01-28 21:14:37 +00:00
Ian Lance Taylor
3b320c48cf * config/tc-mips.c (md_apply_fix): Make a branch to an odd address
an error rather than a warning.
1997-01-28 21:09:52 +00:00
Ian Lance Taylor
c4f19df2ef * mips-dis.c (print_insn_mips16): Better handling of an extend
opcode followed by an instruction which can not be extended.
1997-01-28 20:58:28 +00:00
Ian Lance Taylor
31a2c6ffd7 * config/tc-mips.c (md_convert_frag): If the user explicitly
requested an extended opcode, pass warn as true to mips16_immed.
1997-01-28 20:37:27 +00:00
Ian Lance Taylor
645cb4dc28 * config/tc-mips.c (mips16_ip): Handle a missing expression like
an explicit 0, so that explicitly extended instructions work
	correctly.
1997-01-28 20:28:18 +00:00
Mark Alexander
f9f8c14b1a First set of changes for mips16:
* config/mips/tm-mips.h (MIPS16_BIG_BREAKPOINT,
	MIPS16_LITTLE_BREAKPOINT, BREAKPOINT_FROM_PC): Define.
	(ABOUT_TO_RETURN): Call new function mips_about_to_return.
	(mips_breakpoint_from_pc, mips_about_to_return): Declare.
	* mem-break.c (memory_breakpoint_from_pc): New function.
	(memory_insert_breakpoint, memory_remove_breakpoint): Use
	memory_breakpoint_from_pc to determine breakpoint contents and size.
	* target.h (memory_breakpoint_from_pc): Declare.
	* monitor.c (monitor_insert_breakpoint): Use memory_breakpoint_from_pc
	to determine size of breakpoint instruction.
	* mips-tdep.c (mips32_decode_reg_save, mips16_decode_reg_save):
	New helper functions for mips_find_saved_regs.
	(mips_find_saved_regs): Recognize mips16 prologues.
	(mips_addr_bits_remove): Strip off upper 32 bits of address
	when target CPU is 32 bits but CORE_ADDR is 64 bits.
	(mips_step_skips_delay): No branch delay slot on mips16.
	(gdb_print_insn_mips): Disassemble mips16 code.
	(mips_breakpoint_from_pc, mips_about_to_return): New functions.
1997-01-28 00:50:13 +00:00
Ian Lance Taylor
0192b099bd * ecoff.c (ecoff_build_symbols): Don't generate a local ECOFF
symbol for a common symbol.
1997-01-27 22:41:43 +00:00
Michael Meissner
5c04f4f7fc January 23rd merge 1997-01-27 21:34:50 +00:00
David Edelsohn
1d5c6cfdf0 * reloc.c: Add relocs BFD_RELOC_M32R_{HI16_[US]LO,LO16}.
* bfd-in2.h, libbfd.h: Regenerated.
	* elf32-m32r.c: Add support for them.
1997-01-27 20:35:24 +00:00
Ian Lance Taylor
8f6c6a6549 * internal.h (R_IPRMED, R_OPTCALL, R_OPTCALLX): Move definitions
from here...
	* i960.h (R_IPRMED, R_OPTCALL, R_OPTCALLX): ...to here.
1997-01-27 18:35:21 +00:00
Ian Lance Taylor
54aa1deab3 * aout-arm.c (MY_swap_std_reloc_in): Remove unused r_length.
* elf32-ppc.c (ppc_elf_check_relocs): Remove unused plt.
start-sanitize-v850
	* elf32-v850.c (v850_elf_final_link_relocate): Remove used
	r_format and r_pcrel.  Always return a value.
end-sanitize-v850
	* riscix.c (MY_final_link_callback): Define to dummy value.
1997-01-27 18:22:54 +00:00
Ian Lance Taylor
9950f925f7 * elf32-i386.c (elf_i386_size_dynamic_sections): When checking for
relocations against the text segment, look up the output name of
	the reloc section.
	* elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
	* elf32-mips.c (mips_elf_size_dynamic_sections): Likewise.
	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
	* elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
	* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
1997-01-27 18:13:01 +00:00
Ian Lance Taylor
f5f212fb56 * scripttempl/elf.sc: Put linkonce reloc section in other
appropriate reloc sections.
	* scripttempl/elfmips.sc: Add linkonce support.
	* scripttempl/elfppc.sc: Likewise.
1997-01-27 17:39:24 +00:00
Jeff Law
ddc846e915 * tm-mn10200.h (NUM_REGS): Decrease to 12.
(REGISTER_NAMES): Elimination registers not found on the mn10200.
        (PC_REGNUM, MDR_REGNUM, PSW_REGNUM): Corresponding changes.
        (LIR_REGNUM, LAR_REGNUM): Delete.  They don't exist on the mn10200.
1997-01-27 17:36:55 +00:00
Peter Schauer
5499537344 * dwarf2read.c: Replace integral tag, name and form fields in
internal structure definitions with the corresponding enumeration
	types from dwarf2.h. Add default cases to switches on enumerations
	where appropriate.
	Make quoting of string arguments in complaint messages consistent.
	Check for NULL returns from DW_STRING.
	(struct partial_die_info):  Add sibling and has_type fields, remove
	unused value field.
	(DW_*):  Move access macro definitions near the definition of the
	attribute structure.
	(struct field_info):  New structure to pass information about fields
	and member functions between die processing routines.
	(dwarf2_build_psymtabs_hard):  Set cu_header_offset.
	(scan_partial_symbols):  Do not enter DW_TAG_subprogram dies into
	the partial symbol table if the DW_AT_*_pc attributes are missing.
	Add file scope base type definitions to the partial symbol table.
	Skip over child dies if the die has a sibling attribute.
	(add_partial_symbol):  Enter global variables with type attributes
	and without location descriptors into the partial symbol table.
	Store value of DW_TAG_variable dies in the partial symbol table.
	Do not enter global variables into the minimal symbol table.
	Add base type definitions to the partial symbol table.
	(psymtab_to_symtab_1):  Use dwarf2_get_pc_bounds to determine highpc.
	(process_die):  Move check for DW_AT_low_pc to read_func_scope.
	Add a typedef symbol for base type definitions to the symbol table.
	Ignore DW_TAG_inlined_subroutine tags for now.
	(read_file_scope):  Use dwarf2_get_pc_bounds to determine pc bounds.
	(read_func_scope, read_lexical_block_scope):  Use dwarf2_get_pc_bounds
	to determine pc bounds, ignore dies with invalid bounds.
	(dwarf2_get_pc_bounds):  New routine to extract and validate the
	DW_AT_*_pc attributes of a die.
	(dwarf2_add_field, dwarf2_attach_fields_to_type, skip_member_fn_name,
	dwarf2_add_member_fn, dwarf2_attach_fn_fields_to_type):
	New functions to handle fields and member functions.
	(read_structure_scope):  Rewritten to use them.
	(read_array_type):  Renamed from dwarf_read_array_type.
	Default upper array bound to describe an array with unspecified
	length.
	Create array types in backwards order, as dwarf2 puts out the array
	dimensions from left to right.
	(read_subroutine_type):  Handle DW_TAG_unspecified_parameters,
	DW_AT_artificial and DW_AT_prototyped.
	(read_base_type):  Make an unsigned type for DW_ATE_boolean.
	Pass objfile to dwarf_base_type.
	(read_partial_die):  Use read_attribute to read in the attributes.
	Handle DW_AT_sibling and DW_AT_type.
	Follow references when determining DW_AT_name and DW_AT_external
	attributes of the die.
	Validate DW_AT_*_pc attributes.
	(read_full_die):  Use read_attribute to read in the attributes.
	(read_attribute):  New function to read an attribute described
	by an abbreviated attribute.
	(new_symbol):  Relocate symbol value for DW_TAG_label with baseaddr.
	Do not set SYMBOL_VALUE_ADDRESS for DW_TAG_subprogram,
	SYMBOL_BLOCK_VALUE for the symbol will be set later by finish_block.
	Change symbol class for global variables with a zero valued location
	descriptor to LOC_UNRESOLVED.
	Handle DW_AT_const_value attributes for DW_TAG_variable,
	DW_TAG_formal_parameter and DW_TAG_enumerator.
	Build a typedef symbol for DW_TAG_base_type.
	(dwarf2_const_value):  New routine to copy a constant value from an
	attribute to a symbol.
	(dwarf_base_type):  Use passed in objfile, not current_objfile
	when calling dwarf2_fundamental_type.
	(dump_die):  Use DW_* accessor macros to access values of attributes.
	(decode_locdesc):  Handle DW_OP_plus_uconst.
1997-01-25 08:09:53 +00:00
J.T. Conklin
071ad7f0e0 * m68k-opc.c (m68k_opcodes): Changed operand specifier for the
coldfire moveb instruction to not allow an address register as
destination.  Although the documentation does not indicate that
this is invalid, experiments uncovered unexpected behavior.
Added a comment explaining the situation.  Thanks to Andreas
Schwab for pointing this out to me.
1997-01-24 20:14:26 +00:00
Stu Grossman
ae0d7848d8 * ../common/aclocal.m4 (COMMON_MAKEFILE_FRAG): Quote a couple of $'s in
comments and single quotes.  Fixes a problem found on hpux.
1997-01-24 18:44:29 +00:00
Stu Grossman
76e2c9aeb7 * aclocal.m4 (COMMON_MAKEFILE_FRAG): Quote a couple of $'s in
comments and single quotes.  Fixes a problem found on hpux.
1997-01-24 18:42:34 +00:00
Jeff Law
018f9eb41f * interp.c (init_system): Allocate 2^19 bytes of space for the
simulator.
To match the linker.
1997-01-24 17:48:35 +00:00
Jeff Law
da1ba4b022 * emulparms/mn10200.sh (OTHER_RELOCATING_SECTIONS): Move the
stack up to 0x80000.
        * emulparms/mn10300.sh (OTHER_RELOCATING_SECTIONS): Likewise.
Because we're seeing .text for some of the plumhall tests which exceeds
0x40000 bytes on these machines.
1997-01-24 17:46:48 +00:00
Stu Grossman
a695143eae * configure: Remove targ-vals.def when doing distclean. (Change
is actually in ../common/aclocal.m4.)
1997-01-24 00:44:03 +00:00
Stu Grossman
42653e99b8 * (distclean): Remove targ-vals.def. 1997-01-24 00:38:32 +00:00
Stu Grossman
2757866e9e * configure: Remove Make-common.in from dependencies. (Actually in
../common/aclocal.m4).
1997-01-24 00:04:57 +00:00
Stu Grossman
e1dfb8c53c * aclocal.m4: Remove Make-common.in from dependencies. 1997-01-24 00:03:05 +00:00
Stu Grossman
295dbbe44c * configure configure.in Makefile.in: Update to new configure
scheme which is more compatible with WinGDB builds.
	* configure.in:  Improve comment on how to run autoconf.
	* configure:  Re-run autoconf to get new ../common/aclocal.m4.
	* Makefile.in:  Use autoconf substitution to install common
	makefile fragment.
1997-01-23 22:09:52 +00:00
Stu Grossman
80b7b3a50c * aclocal.m4 (SIM_AC_COMMON): Move contents of Make-common.in
into here.  Makes insertion into makefiles easier.  Also, change
	the way that callback.o, gentmap, targ-vals.h, targ-map.c,
	targ-map.o, and run are built.  They are now built in the
	individual simulator directories, taking sources from ../common as
	necessary.  This replaces the merging of libcommon.a into
	linsim.a, which was problematic for the WinGDB build process.
	* run.c:  Include config.h from . instead of ../common.
	* Make-common.in:  Remove.  It's no longer necessary.
1997-01-23 22:08:21 +00:00
Stu Grossman
6e1510a27d * configure configure.in: Don't configure common anymore. Files
from common are now built in the individual simualtor directories.
	This fixes problems with the WinGDB build procedure.
1997-01-23 22:07:08 +00:00
Angela Marie Thomas
b48daf747b handle all 4100/4300, not just elf 1997-01-23 11:15:19 +00:00
Geoffrey Noer
b0d8afed60 Committing tiny change -- pretend regs are 32 bits 1997-01-23 10:01:20 +00:00
Geoffrey Noer
750fa6818e Thu Jan 23 01:44:27 1997 Geoffrey Noer <noer@cygnus.com>
* configure.in: build gdb for mn10200
1997-01-23 09:46:00 +00:00
Fred Fish
1eb54bb463 * tic80-opc.c (tic80_opcodes): Expand comment to note that the
entries are presorted so that entries with the same mnemonic are
	adjacent to each other in the table.  Sort the entries for each
	instruction so that this is true.
1997-01-23 03:17:45 +00:00
Fred Fish
360e38f138 * tic80.h (TIC80MAGIC): Renamed to TIC80_AOUTHDR_MAGIC. 1997-01-23 03:12:41 +00:00
Fred Fish
8c00b01dee * coff-tic80.c (tic80coff_vec): Use correct data put/get
routines for little endian data.
	* coffcode.h (coff_write_object_contents): Set magic to
 	TIC80_ARCH_MAGIC for TIc80.
1997-01-23 03:09:05 +00:00
David Edelsohn
f7ab94418c Patch presumed to have been checked in awhile ago but wasn't.
Mon Nov 25 10:45:14 1996  Doug Evans  <dje@seba.cygnus.com>
	* 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.
1997-01-22 18:41:50 +00:00
Geoffrey Noer
d9ecb24ce8 Wed Jan 22 01:31:16 1997 Geoffrey Noer <noer@cygnus.com>
Start mn10200 gdb port by adding copies of mn10300
        target-specific files with all instances of mn10300 changed
        to mn10200 to start with.
        * mn10200-tdep.c: new
        * config/mn10200/tm-mn10200.h: new, REGISTER_SIZE is 24 bits not 32,
        SP_REGNUM and FP_REGNUM are different, also no lar or lir.
        * config/mn10200/mn10200.mt: new
        * configure.tgt: add mn10200 entry
1997-01-22 10:38:01 +00:00
Geoffrey Noer
879b939859 Wed Jan 22 01:31:16 1997 Geoffrey Noer <noer@cygnus.com>
Start mn10200 gdb port by adding copies of mn10300
        target-specific files with all instances of mn10300 changed
        to mn10200 to start with.
        * mn10200-tdep.c: new
        * config/mn10200/tm-mn10200.h: new, REGISTER_SIZE is 24 bits not 32,
        SP_REGNUM and FP_REGNUM are different, also no lar or lir.
        * config/mn10200/mn10200.mt: new
1997-01-22 09:41:02 +00:00
Stu Grossman
95b475477e * configure.in configure: Check if host has libdl if doing
Solaris threads.
1997-01-22 02:33:50 +00:00
Geoffrey Noer
95efddf268 Tue Jan 21 17:03:26 1997 Geoffrey Noer <noer@cygnus.com>
* mn10300-tdep.c: wrote/fixed implementations of
        mn10300_frame_chain, mn10300_init_extra_frame_info,
        mn10300_frame_saved_pc
        * config/mn10300/tm-mn10300.h: redefine INIT_EXTRA_FRAME_INFO
        and INIT_FRAME_PC macros
        Backtracing starting to work correctly.
1997-01-22 01:33:58 +00:00
Stu Grossman
ef6c51d13f * configure.in configure: Check if host has libm. Make sure we
are using gcc when using the -export-dynamic option.  Fixes a
	problem with building under Solaris/SunPro cc.
1997-01-22 01:12:19 +00:00
Jeff Law
f95251f068 * simops.c: Undo last change to "rol" and "ror", original code
was correct!
1997-01-21 22:03:39 +00:00
Fred Fish
0716c2e910 * coff-tic80.c (tic80coff_vec): Change to little endian data
as the default.
1997-01-21 20:15:46 +00:00