Fred Fish [Thu, 23 Jan 1997 03:09:05 +0000 (03:09 +0000)]
* 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.
David Edelsohn [Wed, 22 Jan 1997 18:41:50 +0000 (18:41 +0000)]
Patch presumed to have been checked in awhile ago but wasn't.
Mon Nov 25 10:45:14 1996 Doug Evans <[email protected]>
* 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.
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
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
* 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.
Stu Grossman [Wed, 22 Jan 1997 01:12:19 +0000 (01:12 +0000)]
* 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.
J.T. Conklin [Mon, 20 Jan 1997 18:47:48 +0000 (18:47 +0000)]
* config/tc-m68k.c (HAVE_LONG_BRANCH): New macro, returns true for
m68k family cpus which support long branch addressing modes.
(m68k_ip, md_convert_frag_1, md_estimate_size_before_relax,
md_create_long_jump): Use it.
Fred Fish [Sun, 19 Jan 1997 18:33:10 +0000 (18:33 +0000)]
* tic80-dis.c (print_insn_tic80): Broke excessively long
function up into several smaller ones and arranged for
the instruction printing function to be callable recursively
to print vector instructions that have both a load and a
math instruction packed into a single opcode.
* tic80-opc.c (tic80_opcodes): Expand comment for vld opcode
to explain why it comes after the other vector opcodes.
Peter Schauer [Sat, 18 Jan 1997 10:33:06 +0000 (10:33 +0000)]
* blockframe.c (frameless_look_for_prologue): Mark frames
with a zero PC as frameless to improve backtraces from core dumps
caused by dereferencing a NULL function pointer.
Fred Fish [Fri, 17 Jan 1997 04:00:56 +0000 (04:00 +0000)]
* tic80-opc.c (V_a, V_m, V_S, V_Z, V_p, OP_V, MASK_V):
New macros for building vector instruction opcodes.
(tic80_opcodes): Remove all uses of FMT_SI, FMT_REG, and
FMT_LI, which were unused. The field is now a flags field.
Remove some opcodes that are possible, but illegal, such
as long immediate instructions with doubles for immediate
values. Add "vadd" and "vld" instructions.
Fred Fish [Fri, 17 Jan 1997 03:53:46 +0000 (03:53 +0000)]
* tic80.h (struct tic80_opcode): Change "format" field to "flags".
(FMT_UNUSED, FMT_SI, FMT_LI, FMT_REG): Delete.
(TIC80_VECTOR): Define a flag bit for the flags. This one means
that the opcode can have two vector instructions in a single
32 bit word and we have to encode/decode both.
Ian Lance Taylor [Thu, 16 Jan 1997 22:52:05 +0000 (22:52 +0000)]
* ld.h (args_type): Rename auxiliary_filter_shlib to
auxiliary_filters, and make it char **.
* lexsup.c (parse_args): Handle -f by setting up an array.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Use
new name of auxiliary_filters.
Fred Fish [Thu, 16 Jan 1997 02:10:17 +0000 (02:10 +0000)]
* tic80-opc.c (tic80_operands): Reorder some table entries to make
the order more logical. Move the shift alias instructions ("rotl",
"shl", "ins", "rotr", "extu", "exts", "srl", and "sra" to be
interspersed with the regular sr.x and sl.x instructions. Add
and test new instruction opcodes for "sl", "sli", "sr", "sri", "st",
"sub", "subu", "swcr", and "trap".
* mn10300-tdep.c: made a lot more generic, ripping out code
from copied target (no more mn10300_scan_prologue,
init_extra_frame_info, and mn10300_fix_call_dummy calls)
* config/mn10300/tm-mn10300.h: undefine INIT_EXTRA_FRAME_INFO
and INIT_FRAME_PC macros
Ian Lance Taylor [Tue, 14 Jan 1997 20:08:43 +0000 (20:08 +0000)]
* config/tc-i386.c (sco_id): Moved from here...
* config/obj-elf.c (sco_id): ...to here. Adding the identifier
really is an SCO ELF specific thing, not just a SCO x86 specific
thing.
Fred Fish [Mon, 13 Jan 1997 23:05:49 +0000 (23:05 +0000)]
* tic80-dis.c (print_insn_tic80): Print floating point operands
as floats.
* tic80-opc.c (SPFI): Add single precision floating point
immediate operand type.
(ROTATE): Add rotate operand type for shifts.
(ENDMASK): Add for shifts.
(n): Macro for the 'n' bit.
(i): Macro for the 'i' bit.
(PD): Macro for the 'PD' field.
(P2): Macro for the 'P2' field.
(P1): Macro for the 'P1' field.
(tic80_operands): Add entries for "exts", "extu", "fadd",
"fcmp", and "fdiv".
Michael Snyder [Thu, 9 Jan 1997 19:48:27 +0000 (19:48 +0000)]
* sparc-tdep.c (sparc_frame_find_saved_regs): Don't use
FP_REGISTER_BYTES to compute offsets into the saved frame,
since it fails for SPARC targets configured without any
FP regs. Instead, use DUMMY_STACK_REG_BUF_SIZE.
--------------------------------------------------------------------
* config/tc-m68k.c (struct label_line): Define.
(labels, current_label): New static variables.
(md_assemble): Mark current_label as text, and clear it.
(m68k_frob_label): New function.
(m68k_flush_pending_output): New function.
(m68k_frob_symbol): New function.
* config/tc-m68k.h (tc_frob_label): Define.
(md_flush_pending_output): Define.
(tc_frob_symbol): Don't warn, just call m68k_frob_symbol.
(tc_frob_coff_symbol): Likewise.
PR 11417.
Jeff Law [Mon, 6 Jan 1997 22:20:38 +0000 (22:20 +0000)]
* elf32-mn10200.c (elf_mn10200_howto): Don't ever set partial-inplace.
Use bfd_elf_generic_reloc as special function for all relocs.
(bfd_elf32_mn10200_reloc): Remove unnecessary function.
Working on relocs for the mn10200.
Jeff Law [Mon, 6 Jan 1997 22:13:39 +0000 (22:13 +0000)]
* mn10200-dis.c (disassemble): Mask off unwanted bits after
adding in current address for pc-relative operands.
Fixes disassembly of backwards 24bit pc-relative addressese.
Fred Fish [Mon, 6 Jan 1997 18:04:38 +0000 (18:04 +0000)]
* tic80-dis.c (R_SCALED): Add macro to test for ":s" modifier bit.
(print_insn_tic80): If R_SCALED then print ":s" modifier for operand.
* tic80-opc.c (REG0, REG22, REG27, SSOFF, LSOFF): Names
changed to REG_0, REG_22, REG_DEST, OFF_SS, OFF_SL respectively.
(SICR, LICR, REGM_SI, REGM_LI): Names changed to CR_SI, CR_LI,
REG_BASE_M_SI, REG_BASE_M_LI respectively.
(REG_SCALED, LSI_SCALED): New operand types.
(E): New macro for 'E' bit at bit 27.
(tic80_opcodes): Add and test dld, dld.u, dst, estop, and etrap
opcodes, including the various size flavors (b,h,w,d) for
the direct load and store instructions.
Fred Fish [Sun, 5 Jan 1997 19:29:42 +0000 (19:29 +0000)]
* tic80-dis.c (M_SI, M_LI): Add macros to test for ":m" modifier bit
in an instruction.
* tic80-dis.c (print_insn_tic80): Change comma and paren handling.
Use M_SI and M_LI macros to check for ":m" modifier for GPR operands.
* tic80-opc.c (tic80_operands): Add REGM_SI and REGM_LI operands.
(F, M_REG, M_LI, M_SI, SZ_REG, SZ_LI, SZ_SI, D, S): New bit-twiddlers.
(MASK_LI_M, MASK_SI_M, MASK_REG_M): Remove and replace in opcode
masks with "MASK_* & ~M_*" to get the M bit reset.
(tic80_opcodes): Add bsr, bsr.a, cmnd, cmp, dcachec, and dcachef.
Fred Fish [Sun, 5 Jan 1997 02:13:07 +0000 (02:13 +0000)]
* tic80.h (TIC80_OPERAND_BITNUM): Renamed from TIC80_OPERAND_CC_SZ.
(TIC80_OPERAND_CC): New define for condition code operand.
(TIC80_OPERAND_CR): New define for control register operand.
Fred Fish [Sun, 5 Jan 1997 02:10:14 +0000 (02:10 +0000)]
* tic80-dis.c (print_insn_tic80): Print TIC80_OPERAND_RELATIVE
correctly. Add support for printing TIC80_OPERAND_BITNUM and
TIC80_OPERAND_CC, and TIC80_OPERAND_CR operands in symbolic
form.
* tic80-opc.c (tic80_operands): Add SSOFF, LSOFF, BITNUM,
CC, SICR, and LICR table entries.
(tic80_opcodes): Add and test "nop", "br", "bbo", "bbz",
"bcnd", and "brcr" opcodes.
Fred Fish [Sat, 4 Jan 1997 01:39:30 +0000 (01:39 +0000)]
* ppc-opc.c (powerpc_operands): Make comment match the
actual fields (no shift field).
* sparc-opc.c (sparc_opcodes): Document why this cannot be "const".
* tic80-dis.c (print_insn_tic80): Replace abort stub with a
partial implementation, work in progress.
* tic80-opc.c (tic80_operands): Begin construction operands table.
(tic80_opcodes): Continue populating opcodes table and start
filling in the operand indices.
(tic80_num_opcodes): Add this.
Fred Fish [Sat, 4 Jan 1997 01:24:50 +0000 (01:24 +0000)]
* Makefile.in (coff-tic80.o): Add coffcode.h to dependency list.
* coff-tic80.c (tic80coff_vec): Data byte order is big endian and
header byte order is little endian. Use correct bfd_get and
bfd_put routines for little endian headers.
* coffcode.h (coff_set_arch_mach_hook): Set arch to
bfd_arch_tic80 for TIC80_ARCH_MAGIC number.
Stu Grossman [Sat, 4 Jan 1997 00:33:01 +0000 (00:33 +0000)]
* Makefile.in configure configure.in: Remove ENABLE_CLIBS,
ENABLE_OBS, and THREAD_DB_OBS. These are consolidated into LIBS
and CONFIG_OBS.
* configure configure.in: Clean up test cases around thread support.
start-sanitize-v850
* configure.tgt (v850-*-*): Include v850ice.o and v850.lib if
host is Windows.
end-sanitize-v850
* c-valprint.c ch-valprint.c cp-valprint.c eval.c expprint.c
printcmd.c valops.c value.h values.c: Add bfd_section arg to
value_at and value_at_lazy.
* coffread.c dbxread.c elfread.c mdebugread.c minsyms.c symtab.h:
Add bfd_section arg to prim_record_minimal_symbol_and_info.
* corefile.c gdbcore.h printcmd.c valops.c: Use read_memory_section
instead of read_memory. It takes a bfd_section arg.
* coffread.c dbxread.c elfread.c gdb-stabs.h objfiles.h: Remove
unnecessary cast for assignment of struct dbx_symfile_info.
Struct objfile now uses a real pointer instead of PTR for this
element.
* dbxread.c (dbx_symfile_init): Stash bfd section pointers for
text, data and bss into dbx_symfile_info.
* exec.c (xfer_memory): Handle transfers for user-specified
sections.
* findvar.c (read_var_value locate_var_value): Copy bfd section
from the symbol to the value.
* gdb-stabs.h: Add section pointers for text, data and bss
sections.
* maint.c (translate address command): Add test code for overlay
address translation.
* printcmd.c (do_examine do_one_display): Now takes a bfd section
arg.
* (print_formatted x_command): Record current section along with
current address for repeated commands.
* sparc-nat.c (fetch_inferior_registers): Change
target_xfer_memory to target_{read write}_memory to allow changes
to target_xfer_memory interface for section info.
* symmisc.c (dump_msymbols print_symbol): Print section
assocaited with symbol.
* symtab.c (fixup_symbol_section): New routine to
add section info to symbols returned by lookup_symbol.
* symtab.h (struct general_symbol_info): Add bfd section to
symbols.
* target.c target.h (target_xfer_memory): Add bfd section to
args.
* (target_read_memory_section): New routine to read data from a
specific section.
* (target_memory_bfd_section): New global variable to pass bfd
section in to targets.
* valarith.c (value_add value_addr value_array): Preserve bfd
section when computing new value.
* value.h (struct value): Add bfd section to values.
* values.c (allocate_value value_copy): Initialize/preserve bfd
section.
* (unpack_double): Clean up _MSC_VER conditionals to remove
duplicate code.
start-sanitize-v850
* v850ice.c: New module to support communication with NEC's
PC-based ICE.
* config/v850/tm-v850.h (REGISTER_NAMES): Replace sp, gp, fp, and
ep names with rxx names. sp and fp are renamed via a different
mechanism.
end-sanitize-v850
Stu Grossman [Sat, 4 Jan 1997 00:25:53 +0000 (00:25 +0000)]
* Makefile.in configure configure.in: Remove ENABLE_CLIBS,
ENABLE_OBS, and THREAD_DB_OBS. These are consolidated into LIBS
and CONFIG_OBS.
* configure configure.in: Clean up test cases around thread support.
start-sanitize-v850
* configure.tgt (v850-*-*): Include v850ice.o and v850.lib if
host is Windows.
end-sanitize-v850
* c-valprint.c ch-valprint.c cp-valprint.c eval.c expprint.c
printcmd.c valops.c value.h values.c: Add bfd_section arg to
value_at and value_at_lazy.
* coffread.c dbxread.c elfread.c mdebugread.c minsyms.c symtab.h:
Add bfd_section arg to prim_record_minimal_symbol_and_info.
* corefile.c gdbcore.h printcmd.c valops.c: Use read_memory_section
instead of read_memory. It takes a bfd_section arg.
* coffread.c dbxread.c elfread.c gdb-stabs.h objfiles.h: Remove
unnecessary cast for assignment of struct dbx_symfile_info.
Struct objfile now uses a real pointer instead of PTR for this
element.
* dbxread.c (dbx_symfile_init): Stash bfd section pointers for
text, data and bss into dbx_symfile_info.
* exec.c (xfer_memory): Handle transfers for user-specified
sections.
* findvar.c (read_var_value locate_var_value): Copy bfd section
from the symbol to the value.
* gdb-stabs.h: Add section pointers for text, data and bss
sections.
* maint.c (translate address command): Add test code for overlay
address translation.
* printcmd.c (do_examine do_one_display): Now takes a bfd section
arg.
* (print_formatted x_command): Record current section along with
current address for repeated commands.
* sparc-nat.c (fetch_inferior_registers): Change
target_xfer_memory to target_{read write}_memory to allow changes
to target_xfer_memory interface for section info.
* symmisc.c (dump_msymbols print_symbol): Print section
assocaited with symbol.
* symtab.c (fixup_symbol_section): New routine to
add section info to symbols returned by lookup_symbol.
* symtab.h (struct general_symbol_info): Add bfd section to
symbols.
* target.c target.h (target_xfer_memory): Add bfd section to
args.
* (target_read_memory_section): New routine to read data from a
specific section.
* (target_memory_bfd_section): New global variable to pass bfd
section in to targets.
* valarith.c (value_add value_addr value_array): Preserve bfd
section when computing new value.
* value.h (struct value): Add bfd section to values.
* values.c (allocate_value value_copy): Initialize/preserve bfd
section.
* (unpack_double): Clean up _MSC_VER conditionals to remove
duplicate code.
start-sanitize-v850
* v850ice.c: New module to support communication with NEC's
PC-based ICE.
* config/v850/tm-v850.h (REGISTER_NAMES): Replace sp, gp, fp, and
ep names with rxx names. sp and fp are renamed via a different
mechanism.
end-sanitize-v850
Jeff Law [Fri, 3 Jan 1997 23:55:22 +0000 (23:55 +0000)]
* config/tc-hppa.c (struct hppa_fix_struct): Steak fx_r_field's type
to avoid warnings with the native HP compiler.
(fix_new_hppa): Similarly for the r_type argument.
(pa_build_unwind_subspace, hppa_elf_mark_end_of_function): Enclose
in an #if OBJ_ELF to keep gcc -Wall quiet.
(md_apply_fix): Always initialize "result".
Minor maintenance.
* config/tc-mn10200.c (md_assemble): Generate relocations.
mn10200 has relocs now!
* config/obj-coff.c (yank_symbols): If tc_frob_coff_symbol is
defined, call it.
* config/tc-m68k.c (tc_frob_symbol): Check whether text label is
aligned to odd boundary.
(tc_frob_coff_symbol): Define.
* mn10300-tdep.c (mn10300_push_arguments): rewrote
also removed code elsewhere that made use of RP_REGNUM
* config/mn10300/tm-mn10300.h: ripped out RP_REGNUM, V0_REGNUM,
ARG0_REGNUM, ARGLAST_REGNUM (all not appropriate for mn10300
arch.), redefined SAVED_PC_AFTER_CALL, EXTRACT_RETURN_VALUE,
EXTRACT_STRUCT_VALUE_ADDRESS, STORE_RETURN_VALUE
* scripttempl/elf.sc: Move .got closer to .sdata and .sbss by
shifting .plt back. Rumour has it that the NetBSD ld.so depends
on .dynamic being after .got, so we leave that.
* config/obj-elf.c (elf_file_symbol): When using ECOFF debugging,
pass on the new file hook.
* config/tc-alpha.c (alpha_fix_adjustable): Not quite the same as
!alpha_force_relocation, as local LITERALs can be adjusted to be
relative to the section.
* elf-bfd.h (struct elf_backend_data): Add always_size_sections entry.
(bfd_elf*_mkobject): Don't define here ...
* elfxx-target.h: ... but rather here. Default always_size_sections
hook to NULL.
* elf.c (elf_mkobject): Rename to bfd_elf_mkobject, since that was
what the #defines in elf-bfd.h transmuted it to anyway.
* section.c: Add SEC_LINKER_CREATED flag.
* bfd-in2.h: Rebuild.
* elf32-i386.c (elf_i386_check_relocs): Add SEC_LINKER_CREATED to
relocation section flags.
(elf_i386_size_dynamic_sections): Use SEC_LINKER_CREATED instead of
SEC_IN_MEMORY to recognize generated bits.
* elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_size_dynamic_sections):
Likewise.
* elf32-mips.c (mips_elf_final_link, mips_elf_create_dynamic_sections,
mips_elf_create_compact_rel_section, mips_elf_create_got_section,
mips_elf_check_relocs, mips_elf_size_dynamic_sections): Likewise.
* elf32-ppc.c (ppc_elf_create_linker_section,
ppc_elf_size_dynamic_sections): Likewise.
* elf32-sparc.c (elf32_sparc_check_relocs,
elf32_sparc_size_dynamic_sections): Likewise.
* elflink.c (_bfd_elf_create_got_section): Add SEC_LINKER_CREATED to
section flags.
(_bfd_elf_create_dynamic_sections): Likewise.
(_bfd_elf_make_linker_section_rela): Likewise.
* elflink.h (elf_link_create_dynamic_sections): Likewise.
(bfd_elf,size_dynamic_sections): Call the always_size_sections hook.
(elf_bfd_final_link): Use SEC_LINKER_CREATED instead of SEC_IN_MEMORY
to identify generated bits.
(elf_link_input_bfd): Likewise.
* Makefile.in (MAKEINFO): Check for the existence of the Makefile,
rather than the makeinfo program.
(do-info): Depend upon all-texinfo.
This ensures that MAKEINFO will have the right value when building
texinfo itself.