Ian Lance Taylor [Mon, 23 Aug 1993 17:04:49 +0000 (17:04 +0000)]
* config/tc-mips.c (set_at): Added unsignedp argument. Use
load_register.
(set_at_unsigned): Removed; changed callers to use set_at.
(load_register): Removed unused ip argument. Changed callers.
(append_insn): Don't swap branch and branch likely.
(macro_build): Handle 'u'.
(load_register): Handle 64 bit constants.
(macro): Added M_DABS, removed M_ABSU. Numerous changes to
support 64 bit constants.
(mips_ip): Use hex constants in range checks for clarity.
(md_number_to_chars): Support 8 byte values.
Jim Kingdon [Sat, 21 Aug 1993 02:14:30 +0000 (02:14 +0000)]
* stabs.texinfo: When explaining the n_type of a stab, standardize
how we do it ('#' as a comment indicator, "36 is N_FUN" as text,
no tabs, use @r).
(Global Variables): Clean up.
Ken Raeburn [Fri, 20 Aug 1993 22:21:49 +0000 (22:21 +0000)]
* elfcode.h (elf_build_phdrs): Unused function deleted.
(bfd_shdr_from_section): Ditto.
(write_relocs): Don't change section contents for addend.
(elf_locate_sh): Return type is now always elf_internal_shdr, since the other
types were really aliases for this type anyways. Don't compile this function,
since it is static and doesn't appear to be used in this file.
(sym_is_global): Return non-zero for weak symbols. Abort if sec ptr is null.
(swap_out_syms): Reorder tests so function symbols can be weak.
(elf_slurp_symbol_table): Don't use BSF_EXPORT.
(elf_slurp_reloca_table): Make RELOC_PROCESSING section smaller by
extracting out some common code. Abort if BFD section symbol has null name.
(elf_slurp_reloc_table): Translate ELF section symbols into BFD section
symbols. Don't read section contents to fill in addend field.
* libelf.h (struct Elf_Sym_Extra): New structure to contain ELF
specific information for a symbol. Put in elf_sym_num, which
gives the external symbol number in the elf object file, since
local symbols must come before global symbols.
(elf_sym_extra): New macro.
(elf_symtab_map): Delete, in favor of using Elf_Sym_Extra.
* elfcode.h (elf_map_symbols): Use Elf_Sym_Extra to map internal
symbol number to external number. Store the address of the
Elf_Sym_Extra field for the symbol in the udata field.
(elf_write_object_contents): Use Elf_Sym_Extra to map out symbols.
* elfcode.h (elf_obj_tdata): Add field to count the size of the
array of pointers to section symbols.
(elf_map_symbols): Bump the max index of the section symbols so
that we don't overwrite memory. Store the max index into the
elf_obj_tdata field.
* elfcode.h (elf_obj_tdata): Add pointer to an array of pointers
to the section symbols we created. Remove unused field internal_syms.
(elf_map_symbols): Fill in array of pointers to section symbols. Only create
section symbols for sections that have SEC_ALLOC set, and have non-zero size.
(elf_symbol_from_bfd_symbol): If udata is NULL, and this is a section symbol,
look up the section in the list of section symbols, and set the udata pointer
appropriately. Otherwise, if udata is still NULL, fail an assertion, and use
0, instead of dropping core.
Peter Schauer [Fri, 20 Aug 1993 22:10:15 +0000 (22:10 +0000)]
* mipsread.c (parse_partial_symbols, psymtab_to_symtab_1):
Set language for psymtab and symtab.
* mipsread.c (new_symbol): Set language and initialize demangled
name for symbol.
* symmisc.c (print_symbol): Use SYMBOL_SOURCE_NAME when printing
the symbol type.
* symtab.c (decode_line_1): Inhibit coredumps with cfront executables.
Jim Kingdon [Fri, 20 Aug 1993 21:59:05 +0000 (21:59 +0000)]
* Move KERNEL_U_ADDR from xm-hp300bsd.h to nm-hp300bsd.h and make
it conditionalized on 4.3 vs. 4.4.
* config/m68k/nm-hp300bsd.h: Move REGISTER_U_ADDR out of 4.3 and
4.4 sections; it was identical and now works for 4.4.
Ian Lance Taylor [Fri, 20 Aug 1993 15:45:50 +0000 (15:45 +0000)]
* config/tc-mips.c (mips_isa): New static variable.
(md_begin): Initialize mips_isa based on TARGET_CPU. Don't sanity
check macros. Set text alignment and GP size here.
(md_assemble): Don't set text alignment and GP size here.
(append_insn): Don't insert NOPs for load delays if mips_isa >= 2.
Use the right mask and shift for WRITE_FPR_T and WRITE_FPR_S. Add
a NOP after a branch likely.
(mips_emit_delays): Don't insert NOPS for load delays if mips_isa
>= 2.
(macro): Support r6000 and r4000 macros.
(mips_ip): Check insn ISA level against mips_isa before using it.
Added 'x' case for ignored register.
(md_parse_option): Handle -mipsN and -mcpu=XX.
Ian Lance Taylor [Fri, 20 Aug 1993 15:40:51 +0000 (15:40 +0000)]
* mips-opc.c: Added r6000 and r4000 instructions and macros.
Changed hazard information to distinguish between memory load
delays and coprocessor load delays.
Ian Lance Taylor [Fri, 20 Aug 1993 15:40:00 +0000 (15:40 +0000)]
* mips.h (INSN_*): Changed values. Removed unused definitions.
Added INSN_COND_BRANCH_LIKELY, INSN_ISA2 and INSN_ISA3. Split
INSN_LOAD_DELAY into INSN_LOAD_MEMORY_DELAY and
INSN_LOAD_COPROC_DELAY. Split INSN_COPROC_DELAY into
INSN_COPROC_MOVE_DELAY and INSN_COPROC_MEMORY_DELAY.
(M_*): Added new values for r6000 and r4000 macros.
(ANY_DELAY): Removed.
Jim Kingdon [Thu, 19 Aug 1993 23:18:03 +0000 (23:18 +0000)]
* config/m68k/delta68.m{t,h}: Use nm-delta68.h, etc. not
non-existent files nm-delta.h, etc.
* config/m68k/tm-delta68.h: Define CANNOT_STORE_REGISTER.
* delta68-nat.c: Add "[0]" in offsetof argument.
* delta68-nat.c (_initialize_kernel_u_addr): Don't try to set up
nl with initializer, just assign to it. Check n_scnum field on
return.
Ken Raeburn [Thu, 19 Aug 1993 17:45:03 +0000 (17:45 +0000)]
* tc-i386.h (NO_RELOC) [BFD_ASSEMBLER]: Define as BFD_RELOC_NONE.
(md_parse_option): New macro, converted from function.
* tc-i386.c (md_parse_option): Function deleted.
(comment_chars) [OBJ_ELF]: Include "/".
(line_comment_chars) [OBJ_ELF || TE_I386AIX]: Don't include "/".
(md_assemble): Cast 0xe9 to char explicitly, to avoid compiler warning.
(md_assemble, md_estimate_size_before_relax, md_create_long_jump): Call reloc
for fix_new type, or use correct enumerator, instead of always using NO_RELOC.
(i386_operand): Change "ifndef I386COFF" to "ifdef OBJ_AOUT" for
tests for valid section.
(md_convert_frag) [BFD_ASSEMBLER]: Compensate for frag start address.
(md_apply_fix_1) [BFD_ASSEMBLER]: For pc-relative reloc with
symbol, compensate for location of reloc.
(reloc, BFD_RELOC_32, BFD_RELOC_32_PCREL) [!BFD_ASSEMBLER]: Define to return
zero.
Ken Raeburn [Wed, 18 Aug 1993 21:09:23 +0000 (21:09 +0000)]
Undef NO_RELOC before including aout/aout64.h.
(obj_elf_weak): New function.
(obj_pseudo_table): Handle ".weak".
(obj_elf_section): If section directive includes a string, ignore
it for now. Accept "progbits" flag.
(obj_elf_type): Accept `@' before flag name.
Ian Lance Taylor [Wed, 18 Aug 1993 19:45:17 +0000 (19:45 +0000)]
* config/tc-mips.c (append_insn): Don't swap branch instructions
if .set nobopt or .set volatile.
(gp_reference): .lit8 and .lit4 are accessed via the GP register.
(macro): Added cases M_LI_S, M_LI_SS. Fixed M_LI_D and M_LI_DD.
(mips_ip): Added cases 'F', 'L', 'f', 'l' for floating point.
* config/obj-ecoff.c: Renamed some variables to avoid shadow
warnings.
Jim Kingdon [Wed, 18 Aug 1993 05:10:45 +0000 (05:10 +0000)]
* hosts/i386{mach3,osf1mk}.h: New files, for Mach hosting.
* hosts/i386mach.h: removed, replaced by i386osf1mk.h.
* config/i386mach3.mt, i386mach3.c: New files, for Mach a.out format.
* Makefile.in, configure.host, config.bfd: Corresponding changes.
* hosts/decstation.h: Include <sys/param.h> not <machine/param.h>.
Jim Kingdon [Wed, 18 Aug 1993 00:54:48 +0000 (00:54 +0000)]
* hosts/i386{mach3,osf1mk}.h: New files, for Mach hosting.
* hosts/i386mach.h: removed, replaced by i386osf1mk.h.
* config/i386mach3.mt, i386mach3.c: New files, for Mach a.out format.
* Makefile.in, configure.host, config.bfd: Corresponding changes.
* hosts/decstation.h: Include <sys/param.h> not <machine/param.h>.
Ian Lance Taylor [Tue, 17 Aug 1993 22:30:24 +0000 (22:30 +0000)]
* coffgen.c (coff_section_symbol): If section's output_section is
not yet set, point to itself. This is needed because this is
called on the output file, not the input file.
* config/m88k/tm-m88k.h: Fix typo in comment.
(FP_REGNUM): define in terms of SP_REGNUM
rather than by absolute number. Also clearly comment that this
is a convenient lie in order to decrease future confusion.
(ACTUAL_FP_REGNUM): new macro for FP.
(FRAME_CHAIN_VALID): removed. Standard default works fine.
* m88k-tdep.c (frame_chain_valid): redundant, so removed.
(NEXT_PROLOGUE_INSN): removed unused fourth arg, fixed all
callers.
(read_next_frame_reg): declare static.
(examine_prologue): removed unused variabel insn2, rename insn1
to insn, rewrote comment about finding fp, sp, etc. set frame_fp
based on ACTUAL_FP_REGNUM rather than FP_REGNUM which is
actually a scammed alias for SP_REGNUM on m88k.
Ian Lance Taylor [Tue, 17 Aug 1993 19:24:21 +0000 (19:24 +0000)]
* archures.c (bfd_default_set_arch_mach): Set bfd_error on
failure.
* aoutx.h (NAME(aout,set_arch_mach)): Check return value of
bfd_default_set_arch_mach.
Peter Schauer [Tue, 17 Aug 1993 08:47:25 +0000 (08:47 +0000)]
* blockframe.c, frame.h (sigtramp_saved_pc): New routine to fetch
the saved pc from sigcontext on the stack for BSD signal handling.
* config/i386/tm-i386bsd.h (SIGTRAMP_START, SIGTRAMP_END, FRAME_CHAIN,
FRAMELESS_FUNCTION_INVOCATION, FRAME_SAVED_PC, SIGCONTEXT_PC_OFFSET):
Define to make backtracing through sigtramp work.
* config/vax/tm-vax.h (SIGTRAMP_START, SIGTRAMP_END, TARGET_UPAGES,
FRAME_SAVED_PC, SIGCONTEXT_PC_OFFSET): Ditto.
Jim Kingdon [Tue, 17 Aug 1993 03:23:50 +0000 (03:23 +0000)]
* stabs.texinfo (Stabs-in-elf): Talk about getting the start
addresses of a source file. Also revise formatting.
Change "object module" or "object file" to "source file".
Various: Miscellaneous cleanups.
Peter Schauer [Mon, 16 Aug 1993 10:06:20 +0000 (10:06 +0000)]
* gdb.t00/help.exp, gdb.t02/whatis.exp, gdb.t07/watchpoint.exp,
gdb.t08/opaque.exp, gdb.t17/interrupt.exp: Update for vax running
Ultrix.
* gdb.t02/whatis.exp: Use procedure to setup xfails on long versus
int tests.
* gdb.t08/opaque.exp: Use procedure to setup xfails for opaque tests.
Peter Schauer [Mon, 16 Aug 1993 10:03:57 +0000 (10:03 +0000)]
* blockframe.c (create_new_frame, get_prev_frame_info):
Use the function name when calling IN_SIGTRAMP.
* config/m68k/tm-m68k.h (SIG_PC_FP_OFFSET, SIG_SP_FP_OFFSET):
Define for correct handling of bachtraces through _sigtramp.
* m68k-tdep.c (m68k_find_saved_regs): Adjust saved sp for fake
sigtramp frames.
* mipsread.c (parse_type): Handle corrupt TIR info with complaint
instead of core dump.
* mipsread.c (parse_partial_symbols): Put static symbols into the
mimimal symbol table, use proper mst_types for all minimal symbols.
* stack.c (frame_info, print_frame_info): Use the starting source
line number on a line boundary if backtracing through sigtramp.
Peter Schauer [Mon, 16 Aug 1993 09:58:26 +0000 (09:58 +0000)]
* blockframe.c (create_new_frame, get_prev_frame_info):
Use the function name when calling IN_SIGTRAMP.
* config/m68k/tm-m68k.h (SIG_PC_FP_OFFSET, SIG_SP_FP_OFFSET):
Define for correct handling of bachtraces through _sigtramp.
* m68k-tdep.c (m68k_find_saved_regs): Adjust saved sp for fake
sigtramp frames.
* mipsread.c (parse_type): Handle corrupt TIR info with complaint
instead of core dump.
* mipsread.c (parse_partial_symbols): Put static symbols into the
mimimal symbol table, use proper mst_types for all minimal symbols.
* stack.c (frame_info, print_frame_info): Use the starting source
line number on a line boundary if backtracing through sigtramp.
Jim Kingdon [Mon, 16 Aug 1993 02:49:53 +0000 (02:49 +0000)]
* install.sh: If one command fails, don't try the rest. Don't try
to remove $dsttmp (via trap) unless we have already created it.
If $src doesn't exist, detect it and exit with an error.