Fred Fish [Sun, 30 Jul 1995 19:29:36 +0000 (19:29 +0000)]
* gdb.base/callfuncs.exp: Add tests for passing structs to
inferior functions and return various types.
* gdb.base/callfuncs.c: Add functions to receive a struct
and return a member of the struct, in various types.
Peter Schauer [Sun, 30 Jul 1995 08:45:15 +0000 (08:45 +0000)]
* rs6000-tdep.c (frame_saved_pc): Check for signal handler caller
before trying to determine the start of the function.
(skip_prologue): Skip subroutine call which might save the
floating point registers only if it is within the first three
instructions.
Reinstate setting of alloca_reg if setup of a gcc frame pointer
is found.
(frame_get_cache_fsr): Use new fields in rs6000_framedata.
Fred Fish [Sun, 30 Jul 1995 01:15:54 +0000 (01:15 +0000)]
Fix problem with configure script when run on systems where native shell
is bash or ksh, which handles "... $(TCL) ..." by trying to run TCL.
Changed configure.in and regenerated configure, including two lines
apparently inserted by custom cygnus version of autoconf 2.4.
Stan Shebs [Sat, 29 Jul 1995 21:59:26 +0000 (21:59 +0000)]
* sparclite: Removed subdirectory. aload and eload are now in
utils/sparclite, low-level library is in libgloss.
* configure.in (sparclite*): Don't configure sparclite subdir.
* configure: Update.
* Makefile.in (TARDIRS): Remove, no longer used.
Peter Schauer [Sat, 29 Jul 1995 20:56:22 +0000 (20:56 +0000)]
* procfs.c (unconditionally_kill_inferior): Clear current signal
if PROCFS_NEED_CLEAR_CURSIG_FOR_KILL is defined.
* config/alpha/nm-osf3.h (PROCFS_NEED_CLEAR_CURSIG_FOR_KILL): Define.
Peter Schauer [Sat, 29 Jul 1995 08:50:00 +0000 (08:50 +0000)]
* alpha-tdep.c: Move sigtramp handling of saved registers from
read_next_frame_reg to alpha_find_saved_regs, handle saved
floating point registers.
* mips-tdep.c: Move sigtramp handling of saved registers from
read_next_frame_reg to mips_find_saved_regs, handle saved
floating point registers.
* config/mips/tm-irix3.h, config/mips/tm-irix5.h,
config/mips/tm-mipsv4.h (SIGFRAME_FPREGSAVE_OFF): Define.
* sparc-tdep.c (sparc_pc_adjust): Fix check for `unimp'
instruction to handle functions returning structures with
large sizes properly.
Fred Fish [Fri, 28 Jul 1995 04:58:12 +0000 (04:58 +0000)]
* gdb.base/interrupt.exp: Setup "i*86-*-linux" xfail for
"call function when asleep" and "send end of file".
* gdb.base/corefile.exp: Add "i*86-*-linuxaout" to xfail list
for "backtrace in corefile.exp".
* gdb.base/a1-selftest.exp: Add "i*86-*-linux*" to xfail list
for "backtrace through signal handler".
* gdb.base/corefile.exp: Make sure we actually generate a core file
before trying the core tests. Some systems allow the user to suppress
generation of core files and default to that (linux for example).
* gdb.base/signals.exp: Change xfail for "next" acting like "continue"
from "i*86-*-linux" to "i*86-*-linuxaout". Works with ELF beta.
Fred Fish [Thu, 27 Jul 1995 20:50:10 +0000 (20:50 +0000)]
* config.guess (*:Linux:*:*): First try asking the linker what the
default object file format is (elf, aout, or coff). Then if this
fails, try previous methods.
Jeff Law [Wed, 26 Jul 1995 07:17:34 +0000 (07:17 +0000)]
* remote.c: Add documentation for extended protocol operations
and for thread_alive change from a couple weeks ago.
(extended_remote_ops): Declare and define a new target vector
for the extended remote protocol.
(extended_remote_restart): New function to restart the remote
server & process.
(remote_open): Just a stub routine.
(extended_remote_open): New function to start a remote session
using the extended gdb remote protocol.
(remote_open_1): New function containing code common to both
remote_open and extended_remote_open.
(remote_mourn, extended_remote_mourn, remote_mourn_1): Similarly.
(extended_remote_create_inferior): New function for the extended
remote target.
(initialize_remote): Add the extended_remote_ops target vector.
* gdbserver/server.c (main, case '!'): Set extended_protocol.
(main, case 'k'): If the extended protocol is in use, kill the
inferior then start a new one.
(main, case 'R'): New command to restart the remote server and
inferior process. Only supported when using the extended
protocol.
(main, server loop): If the inferior terminates while using the
extended protocol then start a new one. If getpkt fails when
using the extended protocol then exit.
New extended remote gdb protocol support; intended mainly for use with
the gdbserver testing framework that I'll be checking in soon. Also
useful for interactive remote debugging since it supports "run".
Jeff Law [Wed, 26 Jul 1995 00:35:07 +0000 (00:35 +0000)]
* gdb.threads: New directory with some crude multi-threaded
gdb tests (step.exp and step2.exp).
* config/mt-lynx (STEP_EXECUTABLE): Define.
(THREADFLAGS): Define.
Hiro's test for 6100 and a crude test of my own. They both need some
major cleanup for non-lynx hosts; both are also a little too loose in
their checks. But I'm too burnt out on lynx to address either concern.
Ian Lance Taylor [Tue, 25 Jul 1995 15:26:54 +0000 (15:26 +0000)]
* strings.c (DATA_FLAGS): Remove SEC_DATA.
(main): If no file names are given, scan standard input.
* binutils.texi, strings.1: strings now scans non-data sections by
default.
Jeff Law [Tue, 25 Jul 1995 08:52:39 +0000 (08:52 +0000)]
* gdb.base/signals.exp: Disable whole file for lynx until
further notice.
Looks like a bug in the lynx2.2.2 kernel scroggs the stack pointer in
these tests leading to massive failures. I've sent a nice small concise
example to Mark Rome @ lynx. Severe braindamage.
Ian Lance Taylor [Mon, 24 Jul 1995 21:42:41 +0000 (21:42 +0000)]
* ecofflink.c (_bfd_ecoff_locate_line): When handling stabs:
correct setting of sym_ptr_end to consider symbols skipped when
setting sym_ptr; don't leave loop early unless an N_FUN is found
with a larger value.
* srconv.c (wr_hd): Set afl field to 4 for bfd_arch_sh.
* sysdump.c (fillup): Return size - 1, the last byte is a checksum
and shouldn't be counted.
* sysroff.info (hd): Changed segment identifier from a byte to a 1
bit field. The sysroff 2.0-01 specification seems to be in error
here. Reduce width of following "spare" field from 4 to 3 bits.
(rl): Changed order and width of first 4 bitfields to correspond
to sysroff specification.
(dln_head, dln_inside, dln_tail): Removed.
Ian Lance Taylor [Mon, 24 Jul 1995 19:23:53 +0000 (19:23 +0000)]
* cofflink.c (coff_link_add_object_symbols): Call
_bfd_coff_get_external_symbols, not coff_link_get_symbols. Call
_bfd_coff_free_symbols, not coff_link_free_symbols. Call
_bfd_coff_read_string_table, not coff_read_string_table.
(coff_link_check_archive_element): Likewise.
(coff_link_input_bfd): Likewise.
(coff_link_get_symbols): Move to coffgen.c.
(coff_read_string_table): Likewise.
(coff_link_free_symbols): Likewise.
(_bfd_coff_internal_syment_name): New static function.
(coff_link_check_ar_symbols): Use _bfd_coff_internal_syment_name.
(coff_link_add_symbols): Likewise.
(coff_link_input_bfd): Likewise.
(_bfd_coff_generic_relocate_section): Likewise.
(_bfd_coff_read_internal_relocs): New function.
(coff_link_input_bfd): Use cached section contents if available.
Use _bfd_coff_read_internal_relocs.
* coffcode.h (coff_slurp_symbol_table): Don't call bfd_seek.
(coff_bfd_get_relocated_section_contents): Only define if not
already defined.
(coff_bfd_relax_section): Likewise.
* coffgen.c (build_string_table): Remove.
(_bfd_coff_get_external_symbols): New function, moved in from old
coff_link_get_symbols in cofflink.c.
(_bfd_coff_read_string_table): New function, moved in from old
coff_read_string_table in cofflink.c.
(_bfd_coff_free_symbols): New function, moved in frmo old
coff_link_free_symbols in cofflink.c.
(coff_get_normalized_symtab): Use _bfd_coff_get_external_symbols
rather than reading the symbols directly. To free them, call
_bfd_coff_free_symbols. Use _bfd_coff_read_string_table rather
than build_string_table.
* libcoff-in.h (obj_coff_keep_syms): Define.
(obj_coff_keep_strings): Define.
(coff_data_type): Add fields keep_syms and keep_strings.
(coff_section_tdata): Define new structure.
(coff_section_data): Define.
(_bfd_coff_get_external_symbols): Declare.
(_bfd_coff_read_string_table): Declare.
(_bfd_coff_free_symbols): Declare.
(_bfd_coff_read_internal_relocs): Declare.
* libcoff.h: Rebuild.
Ian Lance Taylor [Mon, 24 Jul 1995 19:20:15 +0000 (19:20 +0000)]
* coff-sh.c (sh_coff_howtos): Mark R_SH_PCDISP8BY2 and R_SH_PCDISP
as PC relative. Describe R_SH_IMM16. Add entries for
R_SH_SWITCH16, R_SH_SWITCH32, R_SH_USES, R_SH_COUNT, and
R_SH_ALIGN.
(SWAP_IN_RELOC_OFFSET): Define.
(SWAP_OUT_RELOC_OFFSET): Define.
(CALC_ADDEND): Define.
(sh_reloc): Change sym_value and addr to type bfd_vma. Skip reloc
types other than R_SH_IMM32 and R_SH_PCDISP on an external symbol.
(coff_bfd_relax_section): Define.
(coff_bfd_get_relocated_section_contents): Define.
(sh_relax_section): New static function.
(sh_relax_delete_bytes): New static function.
(sh_relocate_section): Handle R_SH_PCDISP on an external symbol.
(sh_coff_get_relocated_section_contents): New static function.
Ian Lance Taylor [Mon, 24 Jul 1995 18:18:39 +0000 (18:18 +0000)]
* config/tc-sh.c (md_pseudo_table): Add "uses".
(s_uses): New static function.
(sh_coff_frob_file): New function.
(md_convert_frag): Call subseg_change before calling fix_new.
(sh_handle_align): New function.
(SWITCH_TABLE): Define.
(sh_force_relocation): New function.
(md_apply_fix): Handle R_SH_USES, R_SH_COUNT and R_SH_ALIGN.
(sh_coff_reloc_mangle): Likewise. Also handle switch table
entries.
* config/tc-sh.h (HANDLE_ALIGN): Define.
(sh_handle_align): Declare.
(TC_FORCE_RELOCATION): Define.
(sh_force_relocation): Declare.
(TC_COUNT_RELOC): Simplify; rely on TC_FORCE_RELOCATION instead.
(tc_frob_file): Define.
(sh_coff_frob_file): Declare.
* config/obj-coff.c (write_object_file): Call tc_frob_file if it
is defined.
(fixup_mdeps): Call HANDLE_ALIGN if it is defined.
(TC_FORCE_RELOCATION): Define if not defined.
(fixup_segment): Use TC_FORCE_RELOCATION to decide whether to
clear the symbol fields of fixP.
Peter Schauer [Mon, 24 Jul 1995 06:35:58 +0000 (06:35 +0000)]
* configure.in: Reinstate setting of stabsdirs variable, fix
typo in setting up configdirs for native builds.
* gdb.base/return.exp: Fix typo in return double test.
* gdb.base/return.c (tmp2, tmp3): Made global to inhibit the
compiler from optimizing them away.
Jeff Law [Fri, 21 Jul 1995 17:42:14 +0000 (17:42 +0000)]
* gdb.base/gdbvars.exp: Expect zero or more additional cr-lf
sequences to be echo'd by gdb when using gdb_test.
* gdb.chill/chexp.exp: Likewise.
* gdb.fortran/exprs.exp: Likewise
Jeff Law [Fri, 21 Jul 1995 04:26:39 +0000 (04:26 +0000)]
* somread.c (som_symtab_read): Add unsatisfied common symbols to
the minimal symbol table. All common symbols are "unsatisfied"
when -E is passed to the linker.
Jeff Law [Thu, 20 Jul 1995 21:25:12 +0000 (21:25 +0000)]
* lynx-nat.c (child_wait): A thread_id of zero from wait apparently
means the process is single threaded, so there's no need to add
it to the thread list. Handle case where multi-threaded process
reverts back to a single-threaded process.
Jeff Law [Thu, 20 Jul 1995 20:33:39 +0000 (20:33 +0000)]
* gdb.base/a1-selftest.exp: Reset the timeout value to 30 seconds
after the inferior gdb has started.
'cuz lynx may take a couple minutes to start the inferior gdb...
* gdb.base/a2-run.exp: Handle gdb echoing more than one cr-lf
after each command.
* gdb.base/funcargs.exp: Likewise.
* gdb.base/gdbvars.exp: Likewise.
* gdb.base/interrupt.exp: Likewise.
* gdb.base/list.exp: Likewise.
* gdb.base/watchpoint.exp: Likewise.
* gdb.c++/demangle.exp: Likewise.
* gdb.c++/inherit.exp: Likewise.
* gdb.chill/chexp.exp: Likewise.
* gdb.fortran/exprs.exp: Likewise.
Just in case we can't get a version of expect that sets the tty modes
right on lynx to avoid this problem.
Fred Fish [Thu, 20 Jul 1995 19:57:07 +0000 (19:57 +0000)]
* hosts/i386v4.h (getgid, getuid): Change prototypes to be
compatible with Unixware 1.x and Unixware 2.x, and probably other
i386 svr4 versions as well.
Jeff Law [Thu, 20 Jul 1995 18:43:53 +0000 (18:43 +0000)]
* gdb.base/return.c: Put return values into variables so we
can have gdb print them rather than depending on the program
to print them.
* gdb.base/return.exp: Corresponding changes.
Ken Raeburn [Thu, 20 Jul 1995 17:56:18 +0000 (17:56 +0000)]
* targets.c (bfd_target_vector): Since armpe and armpei have been split into
big- and little-endian variants, list all of them, instead of the
now-nonexistant armpe[i]_vec.
Jeff Law [Thu, 20 Jul 1995 17:50:05 +0000 (17:50 +0000)]
* gdb.base/break.exp: Always check for a program already being
started after sending a "run" command to gdb.
(text_next_with_recursion): Don't check the output from the
program's printf statement. Instead just make sure the program
exited.
Stan Shebs [Thu, 20 Jul 1995 02:12:09 +0000 (02:12 +0000)]
From Richard Earnshaw (rearnsha@armltd.co.uk):
* gdb.texinfo (convenience variables): Document $_exitcode.
(quit): Document optional expression to use as exit code.
Stan Shebs [Thu, 20 Jul 1995 02:09:30 +0000 (02:09 +0000)]
From Richard Earnshaw (rearnsha@armltd.co.uk):
* infrun.c (wait_for_inferior): Set the convenience variable
$_exitcode to the termination code of the inferior.
* top.c (quit_command): Accept optional expression to use
as parameter to exit().
David Edelsohn [Wed, 19 Jul 1995 23:18:57 +0000 (23:18 +0000)]
* config/obj-coff.h (TE_PE): Delete.
* config/tc-arm.h (BYTE_ORDER): Delete.
(TARGET_FORMAT): Provide value for OBJ_COFF and TE_PE.
(ARM_BI_ENDIAN): Define if OBJ_COFF and TE_PE.
* config/tc-arm.c (byte_order): Delete.
(md_number_to_chars): Reference target_big_endian, not byte_order.
(md_chars_to_number): Likewise.
(md_longopts): Add -EB/-EL if ARM_BI_ENDIAN.
(md_parse_options): Recognize -EB/-EL.
(md_show_usage): List -EB/-EL.