* configure.in (hppa-*-mpeix*): New target.
* config/obj-som.h (obj_som_compiler): Declare.
* config/obj-som.c (compiler_seen): New static variable.
(obj_som_compiler): New function.
* config/tc-hppa.c: Update tc_data uses for change to bfd/som.h.
(md_pseudo_table): Add "compiler" if OBJ_SOM.
(pa_type_args): Set hppa_priv_level.
(pa_compiler): New static function if OBJ_SOM.
* configure: Rebuild.
* config.bfd (hppa*-*-mpeix*): New target.
* configure.in: Add AC_HEADER_DIRENT.
(hppa*-*-mpeix*): New target.
* configure.host (hppa*-*-mpeix*): New host.
* hpux-core.c: Check HOST_HPPAMPEIX. Use HAVE_DIRENT_H and
friends rather than just including <sys/dir.h>.
* som.h (struct som_symbol): Add hppa_priv_level and apto
tc_data. Change all users.
(struct somdata): Add comp_unit field.
(obj_som_compilation_unit): Define.
(bfd_som_attach_compilation_unix): Declare.
* som.c: Check HOST_HPPAMPEIX.
(struct som_misc_symbol_info): Add new field priv_level.
(som_object_setup): Add current_offset parameter. Change all
callers.
(setup_sections): Likewise.
(som_object_p): For EXECLIBMAGIC, read the lst header.
(som_write_symbol_strings): Add compilation_unit parameter.
Change all callers.
(som_finish_writing): Write out compilation_unit.
(som_bfd_derive_misc_symbol_info): Set priv_level.
(som_build_and_write_symbol_table): Set xleast field to 3.
(som_slurp_symbol_table): Set symbol priv_level.
(bfd_som_attach_compilation_unit): New function.
(som_bfd_ar_write_symbol_stuff): Set xleast field to 3. Set
priv_level into symbol_value.
* configure, config.in: Rebuild.
* config/xm-aix4.h (SIGWINCH_HANDLER): Function `aix_resize_window'
must accept a signal number as parameter.
* config/rs6000/xm-rs6000.h (SIGWINCH_HANDLER): Ditto.
* utils.c (initialize_utils): Give a parameter to `SIGWINCH_HANDLER'.
* inferior.h (register_valid): Variable's type is `SIGNED char', not
`char'.
* findvar.c (register_valid): Ditto.
* defs.h (make_cleanup_func): Protect parameter list by `PARAMS'.
* gdbthread.h (unbind_target_thread_vector): Likewise.
* Makefile.in, configure.host, configure.tgt: Add support for
m68k-linux.
* config/m68k/linux.mh: New file.
* config/m68k/linux.mt: New file.
* config/m68k/nm-linux.h: New file.
* config/m68k/tm-linux.h: New file.
* config/m68k/xm-linux.h: New file.
* gdb/m68klinux-nat.c: New file.
* gdbserver/low-linux.c: Add support for m68k-linux.
* gdb/config/m68k/tm-m68k.h (NUM_FREGS): New macro.
* config/m68k/xm-linux.h: m68k-linux patch. New file.
* config/m68k/tm-linux.h: m68k-linux patch. New file.
* config/m68k/nm-linux.h: m68k-linux patch. New file.
* config/m68k/linux.mt: m68k-linux patch. New file.
* config/m68k/linux.mh: m68k-linux patch. New file.
* gdbserver/low-linux.c: m68k-linux patch. Added an ifdef
that checks the value of __GLIBC to decide whether or
not to include sys/reg.h.
* m68klinux-nat.c: m68k-linux patch. New file. Note
both m68k-tdep.c and m68klinux-nat.c contain definitions
for supply_gregset and supply_fpregset. The definitions
in m68k-tdep.c are valid is USE_PROC_FS is defined. Otherwise,
the definitions in m68klinux-nat.c will be used. This is a
bit of a hack. The supply_* routines do not belong in
*_tdep.c files. But, there are several lynx ports that currently
depend on these definitions.
* sim/fr30/testutils.inc (set_s_user): Correct Mask.
(set_s_system): Correct Mask.
* sim/fr30/ld.cgs (ld): Move previously failing test back
into place.
* sim/fr30/ldm0.cgs: New testcase.
* sim/fr30/ldm1.cgs: New testcase.
* sim/fr30/stm0.cgs: New testcase.
* sim/fr30/stm1.cgs: New testcase.
Andrew Macleod [Tue, 8 Dec 1998 17:05:38 +0000 (17:05 +0000)]
* config/tc-ppc.c (ppc_vbyte): Prototype and new function for
AIX .vbyte unaligned data support.
(md_pseudo_table): Add 'vbyte' to list of valid pseudos.
(ppc_elf_validate_fix): Add eh_frame to list of ELF relocatable
sections.
David Taylor [Tue, 8 Dec 1998 16:33:13 +0000 (16:33 +0000)]
The following changes were made by Jim Blandy
<[email protected]> and David Taylor
<[email protected]> as part of a project to merge in changes
made by HP; HP did not create ChangeLog entries.
* config/mp-enable-tui: New file.
(TUI_CFLAGS): Search devo's include directory, as long as we're
totally ruining modularity.
(INCLUDE_SRCDIR): New var.
(GDB_TUI_SRCDIR): Fix syntax error.
* configure.in: Check the --enable-tui flag; if it's set, include
a makefile fragment that #defines TUI and adds the needed #include
directories.
(*-*-hpux*): New host; use sysdep-hpux.h.
* Makefile.in (.c.o): Check the variable set in the makefile
fragment above.
* display.c (term_goto): declare it.
(insert_some_chars): set it.
(delete_chars): set it.
* readline.c: add tui include files surrounded by TUI.
(rl_reset): new function, move some of rl_abort functionality to
here.
(rl_abort): call rl_reset.
(rl_getc): tui changes.
(init_terminal_io): tui changes.
* readline.h (tui_version, fputc_unfiltered, fputs_unfiltered,
tui_tputs): declare if TUI is defined.
* signals.c: add tui include files surrounded by TUI. move #if
and #endif to column 1 so HP's compiler will accept them. Remove
declaration of tuiDoAndReturnToTop since it's declared in tui.h.
(rl_handle_sigwinch): call tuiDoAndReturnToTop if TUI defined.
(rl_handle_sigwinch_on_clear): define if TUI defined.
(rl_set_signals): if TUI, avoid infinite recursion.
(rl_clear_signals): install rl_handle_sigwinch_on_clear.
David Taylor [Tue, 8 Dec 1998 15:54:10 +0000 (15:54 +0000)]
The following changes were made by
Elena Zannoni <[email protected]>,
David Taylor <[email protected]>, and
Edith Epstein <[email protected]> as part of a project to
merge in changes by HP; HP did not create ChangeLog entries.
* dis-buf.c (generic_strcat_address): new function.
* hppa-dis.c: Changes to improve hppa disassembly.
Changed formatting in : reg_names, fp_reg_names,control_reg,
New variables : sign_extension_names, deposit_names, conversion_names
float_test_names, compare_cond_names_double, add_cond_names_double,
logical_cond_names_double, unit_cond_names_double,
branch_push_pop_names, saturation_names, shift_names, mix_names,
New Macros : GET_COMPL_O, GET_PUSH_POP,MERGED_REG
Move some definitions to libhppa.h: GET_FIELD, GET_BIT
(fput_const): renamed as fput_hex_const
(print_insn_hppa):
- use the macros fputs_filtered and
fput_decimal_const whenever possible; calls to sign_extend require
2 params -- add a missing second param of 0.
- Some new code ifdefed for LOCAL_ONLY, all related to figuring out
architecture version number of current machine. HP folks are
trying to handle situation where the target program was compiled
for PA 1.x (32-bit), but is running on a PA 2.0 machine and
visa versa.
- added new cases : 'g', 'B', 'm'
- added cases specifically for PA 2.0
- changed the following cases : '"', 'n', 'N', 'p', 'Z',
- calls to fput_const become calls to fput_hex_const
David Taylor [Tue, 8 Dec 1998 15:44:05 +0000 (15:44 +0000)]
HP merge changes by David Taylor, Edith Epstein, Jim Blandy, and Elena
Zannoni.
* hpux-core.c (hpux_core_core_file_p): this function now
understands HPUX 10.30 thread info. Yes, the thread stacks can be
found in the corefile! Also, in hpux_core_core_file_p, if we
encounter a section with an unknown type, don't punt. Instead,
just skip it. Also, count the number of sections of known type
that we encounter. If we encounter at least one good one, then
we'll declare that the file is a core file. If we encounter any
unknown ones but some known ones, then we'll issue a warning (but
still declare it to be a core file). Also, correctly decide when a
file is not a core.
(PROC_INFO_HAS_THREAD_ID): define if CORE_ANON_SHMEM defined.
(CORE_ANON_SHMEM): define if not defined.
(hpux_core_struct): add members lwpid and user_tid.
(core_kernel_thread_id, core_user_thread_id): new macros.
(make_bfd_asection): use bfd_alloc to allocate room for a copy of
the name before storing it in the bfd.
(hpux_core_core_file_p): handle threads.
Jim Blandy [Mon, 7 Dec 1998 20:28:54 +0000 (20:28 +0000)]
* rs6000-tdep.c (pop_frame): Correctly find the registers saved in
the stack frame. Their offset from the previous stack frame is in
fdata.gpr_offset and fdata.fpr_offset, not fdata.offset.
(gdb.base/return.exp)
* config/rs6000/tm-rs6000.h: Doc fixes.
* mipsbsd.c (MY(set_arch_mach)): Make static.
* aoutx.h (NAME(aout,machine_type)): For bfd_arch_mips, use
bfd_mach_mips* macros rather than simple numbers.
COFF weak symbol support, based on patches from Mark Elbrecht
<[email protected]>:
* config/obj-coff.h (S_IS_WEAK): Define if not BFD_ASSEMBLER.
* config/obj-coff.c (obj_coff_weak): New static function.
(obj_coff_endef) [both versions]: Handle weak symbols.
(coff_frob_symbol): Likewise.
(yank_symbols): Likewise.
(obj_pseudo_table): Add "weak".
* objdump.c (SFILE): Add size field.
(objdump_sprintf): Merge both versions into one. Increase buffer
size as needed to avoid overflow.
(disassemble_bytes): Change buf from 1000 bytes to 50. Change
initialization and use of sfile to match changes to
objdump_sprintf.
* bfd-in.h: Always define BFD_HOST_64_BIT and BFD_HOST_U_64_BIT if
possible, rather than only if BFD64.
* elflink.h (compute_bucket_count): Just check BFD_HOST_U_64_BIT,
not __GNUC__.
* bfd-in2.h: Rebuild.
* srec.c (srec_set_section_contents): Correct test to avoid
switching to 4 byte addresses after seeing a second section which
requires 3 byte addresses. From Joel Schantz
<[email protected]>.
Doug Evans [Sat, 5 Dec 1998 07:56:13 +0000 (07:56 +0000)]
* cgen-defs.h: New file, old cgen-sim.h.
* cgen-sim.h: Simple header that includes others.
* sim-arange.c: New file.
* sim-arange.h: New file.
* sim-basics.h: Include it.
* Make-common.in (SIM_NEW_COMMON_OBJS): Add sim-arange.o.
(sim-arange.o): Add rule for.
* sim-cpu.h (sim_cpu_msg_prefix): Add prototype.
(sim_io_eprintf_cpu): Add prototype.
* sim-inline.h (HAVE_INLINE): Define if GNUC.
(INLINE2): New macro.
(EXTERN_INLINE): New macro.
* sim-module.c (sim_post_argv_init): Initialize cpu backlink
before calling module init fns.
* sim-profile.h (OPTION_PROFILE_*): Move into enum.
(profile_init): New function.
(profile_options): New option --profile-range.
(profile_option_handler): Handle --profile-range.
(profile_print_insn): Qualify address range specific section titles.
(profile_print_addr_ranges): New function.
(profile_info): Print address ranges if specified.
(profile_install): Set profile_init init fn.
* sim-profile.h (PROFILE_DATA): New member `range'.
* sim-trace.c (trace_init): New function.
(trace_options): New option --trace-range.
(trace_option_handler): Handle --trace-range.
(trace_install): Set trace_init init fn.
* sim-trace.h (TRACE_DATA): New member `range'.
* sim-utils.c (sim_cpu_msg_prefix): New function.
(sim_io_eprintf_cpu): New function.
* cgen-engine.h (PC_IN_TRACE_RANGE_P): New macro.
(PC_IN_PROFILE_RANGE_P): New macro.
* cgen-trace.c (trace_insn_init): Set current_insn to NULL.
(trace_insn_fini): New arg abuf. All callers updated.
Exit early if trace_insn not called. Check ARGBUF_PROFILE_P before
printing cycle counts.
* cgen-trace.h (trace_insn_fini): Update prototype.
(TRACE_RESULT_P): New macro.
(TRACE_INSN_INIT,TRACE_INSN_FINI): New arg abuf. All callers updated.
(TRACE_INSN): Check ARGBUF_TRACE_P.
(TRACE_EXTRACT,TRACE_RESULT): New arg abuf. All callers updated.
* cgen-types.h (SIM_INLINE): Delete.
(SIM_HAVE_MODEL,SIM_HAVE_ADDR_RANGE): Define.
* cgen-utils.c: Don't include cgen-engine.h
* genmloop.sh (@cpu@_fill_argbuf): New function.
(@cpu@_fill_argbuf_tp): New function.
(@cpu@_emit_before,@cpu@_emit_after): New functions.
(@cpu@_pbb_begin): Prefix cti_sc,insn_count with '_'.
(SET_CTI_VPC,SET_INSN_COUNT): Update.
(@cpu@_pbb_before): Check ARGBUF_PROFILE_P before calling
doing profiling. Update call to TRACE_INSN_INIT,TRACE_INSN_FINI.
(@cpu@_pbb_after): Check ARGBUF_PROFILE_P before calling
doing profiling. Update call to TRACE_INSN_FINI.
* monitor.c (monitor_read_memory): Zero out pattern buffers
before calling re_search.
(parse_register_dump): Ditto.
PR 18049. This bug had existed erratically since I upgraded to
the new gnu-regex.c this last summer. The problem is mostly in
parse_register_dump; the allocated structure has some random values
in it and there is a flag set in the register_pattern structure by the
gnu-regex library which indicates that the values in the re_registers
should be trusted.
If those arbitrary contents aren't zero, gnu-regex tries to run realloc
on them and we get a core dump on some hosts for some targets when the
moon is just right.
* sim/fr30/ld.cgs: Implement more loads.
* sim/fr30/call.cgs: New testcase.
* sim/fr30/testutils.inc (testr_h_dr): New macro.
(set_s_user,set_s_system): New macros.
* m32r-tdep.c (decode_prologue): If no branch or push fp is found,
but there's a stack adjust, then use that as the end of prologue.
(m32r_skip_prologue): don't skip past the first line if there is
line info. (m32r_virtual_frame_pointer): new function.
(m32r_fix_call_dummy): no return value needed.