Ken Raeburn [Sat, 28 Aug 1993 00:12:52 +0000 (00:12 +0000)]
More patches from Jeff Law, plus a little cleanup of my own.
These changes separate PA-SOM support from PA-ELF support.
A sun4-x-hppaosf assembler can now be built.
Include <stdlib.h> and <unistd.h>. Do not define malloc or free.
Ken Raeburn [Sat, 28 Aug 1993 00:10:54 +0000 (00:10 +0000)]
More patches from Jeff Law, plus a little cleanup of my own.
These changes separate PA-SOM support from PA-ELF support.
A sun4-x-hppaosf assembler can now be built.
* elf32-hppa.c (elf_hppa_howto_table): Now static.
(symext_rootP, symext_lastP, global_value, GOT_value, global_symbol,
global_sym_defined, symextn_contents, symextn_contents_real_size,
elf_hppa_stub_rootP, elf32_hppa_symextn_map, elf32_hppa_symextn_map_size): Rely
on default initialization.
(hppa_elf_gen_reloc_type): Macro "UNDEFINED" doesn't need a trailing semicolon.
(hppa_look_for_stubs_in_section): Introduce temporaries to make code more
readable in 80 columns.
* libhppa.h (all functions): Now inline under GNU C.
* elf32-hppa.c (AR_WARN): Give argument which caused the invalid argument
relocation.
(AR_UNIMP): Delete unused macro.
(hppa_elf_set_section_contents): Always return a value.
(elf32_hppa_backend_table_processing): Likewise.
(elf32_hppa_backend_section_processing: Likewise.
* som.c: New file containing SOM specific code extracted from hppa.c
* som.h: New file containing SOM specific code extracted from libhppa.h
* hppa.c: Deleted.
* libhppa.h: Delete SOM specific code. Add generic PA code which can be shared
by both SOM and ELF backends.
* Makefile.in: Replace hppa.c with som.c. elf32-hppa.o depends on libhppa.h
now.
* configure.in (hppa_vec): Needs som.o module instead of hppa.o.
* elf32-hppa.c: Include libhppa.h. Do not define BYTES_IN_WORD.
* elf32-hppa.h (hppa_reloc_field_selector_type): Delete now lives in libhppa.h.
(hppa_reloc_field_selector_type_alt): Likewise.
* elf32-hppa.c (hppa_elf_relocate_unwind_table): Delete unused variables.
(elf_hppa_reloc_type_lookup): Likewise.
(elf_hppa_tc_make_sections): Likewise.
(hppa_elf_arg_reloc_needed_p): Likewise.
(hppa_elf_build_long_branch_stub): Likewise.
(elf_reloc_map): Delete, no longer used.
(elf_hppa_reloc_map): Likewise.
(elf32_hppa_symextn_map_max_size): Likewise.
(elf32_hppa_get_sym_extn): Abort if type is bogus.
* elf32-hppa.c (elf32_hppa_backend_fake_sections): Add processing
of the .hppa_unwind section.
Jim Kingdon [Fri, 27 Aug 1993 03:22:33 +0000 (03:22 +0000)]
* infcmd.c, inferior.h (run_stack_dummy): If we stop somewhere
besides the dummy, return 1 rather than calling error().
Let caller print the error message. Remove name argument.
* valops.c (call_function_by_hand): Deal with changes to calling
sequence of run_stack_dummy. Discard restore_inferior_status cleanup
if run_stack_dummy returns 1.
Jim Kingdon [Thu, 26 Aug 1993 23:04:07 +0000 (23:04 +0000)]
* config/unix-gdb.exp: Remove this version of gdb_exit
* lib/gdb.exp: Merge in all the crap from config/unix-gdb.exp.
Rob says he'll look at it when he gets back to testing boards.
Fred Fish [Thu, 26 Aug 1993 00:36:15 +0000 (00:36 +0000)]
* config/{udi-gdb.exp, gdb-unix.exp}: Replace calls to obsolete
"alldone" proc with call to cleanup and exit.
* {gdb.t01/run.exp, gdb.t01/term.exp, gdb.t02/whatis.exp,
gdb.t03/ptype.exp, gdb.t04/setvar.exp, gdb.t05/expr.exp,
gdb.t06/break.exp, gdb.t07/watchpoint.exp, gdb.t08/opaque.exp,
gdb.t09/corefile.exp, gdb.t10/crossload.exp, gdb.t11/list.exp,
gdb.t12/scope.exp, gdb.t13/bitfields.exp}: Replace calls to
"alldone" proc with simple returns that suppress remaining
tests. The alldone proc went away many months ago.
* emultempl/hppaosf.em (ld_hppaosf_emulation): Correct name for PA
ELF emulation is "elf32-hppa" not "elf-big".
(hppaosf_before_parse): Remove unneeded processing of environment variables.
* scripttempl/hppaosf.sc: Include .hppa_linker_stubs sections in
.text segment of output file.
* emulparams/hppaosf.sh (OUTPUT_FORMAT): Use elf32-hppa.
Jim Kingdon [Tue, 24 Aug 1993 21:38:24 +0000 (21:38 +0000)]
* frame.h, symtab.h, findvar.c (read_var_value): Change basereg
support to use LOC_BASEREG rather than SYMBOL_BASEREG_VALID.
* dwarfread.c: Use LOC_BASEREG where appropriate.
* Various: Support LOC_BASEREG and LOC_BASEREG_ARG.
Jim Kingdon [Tue, 24 Aug 1993 01:43:59 +0000 (01:43 +0000)]
* buildsym.h: Remove declaration of dbxread.c functions.
* stabsread.h: Group together dbxread.c functions.
Move elfstab_build_psymtabs here from symfile.h.
Declare pastab_build_psymtabs.
* elfread.c, paread.c: Include stabsread.h (for stabsread_new_init
declaration, etc).
* remote-bug.c: rename quiet to bug88k_snoop.
(double_scan, multi_scan): generalize double_scan into a scan
for multiple patterns. Rename to multi_scan.
(bug_wait, bug_write_inferior_memory): adapt to use the new
multi_scan in order to catch and represent target bus errors.
(bug_scan): currently unused, so comment out.
(bug_quiet): removed. Replaced with a standard user settable boolean.
Peter Schauer [Mon, 23 Aug 1993 20:01:20 +0000 (20:01 +0000)]
* mipsread.c (parse_symbol, parse_type, cross_ref): Pass name of symbol
as an argument and use it in complaints.
* symmisc.c (dump_psymtab): Dump filenames of dependencies.
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.