Commit graph

30669 commits

Author SHA1 Message Date
Jim Blandy
75af7f6801 Clean up the D10V port so that GDB and the target program no
longer disagree on how big pointers are.
* findvar.c (value_from_register): Remove special case code for D10V.
* printcmd.c (print_frame_args): Same.
* valops.c (value_at, value_fetch_lazy): Same.
* values.c (unpack_long): Same.
* gdbarch.sh: Changes to effect the following:
* gdbarch.h (GDB_TARGET_IS_D10V, D10V_MAKE_DADDR,
gdbarch_d10v_make_daddr_ftype, gdbarch_d10v_make_daddr,
set_gdbarch_d10v_make_daddr, D10V_MAKE_IADDR,
gdbarch_d10v_make_iaddr_ftype, gdbarch_d10v_make_iaddr,
set_gdbarch_d10v_make_iaddr, D10V_DADDR_P,
gdbarch_d10v_daddr_p_ftype, gdbarch_d10v_daddr_p,
set_gdbarch_d10v_daddr_p, D10V_IADDR_P,
gdbarch_d10v_iaddr_p_ftype, gdbarch_d10v_iaddr_p,
set_gdbarch_d10v_iaddr_p, D10V_CONVERT_DADDR_TO_RAW,
gdbarch_d10v_convert_daddr_to_raw_ftype,
gdbarch_d10v_convert_daddr_to_raw,
set_gdbarch_d10v_convert_daddr_to_raw, D10V_CONVERT_IADDR_TO_RAW,
gdbarch_d10v_convert_iaddr_to_raw_ftype,
gdbarch_d10v_convert_iaddr_to_raw,
set_gdbarch_d10v_convert_iaddr_to_raw): Delete declarations.
* gdbarch.c: Delete the corresponding definitions.
(struct gdbarch): Delete members d10v_make_daddr,
d10v_make_iaddr, d10v_daddr_p, d10v_iaddr_p,
d10v_convert_daddr_to_raw, and d10v_convert_iaddr_to_raw.
(startup_gdbarch): Remove initializers for the above.
(verify_gdbarch, gdbarch_dump): Don't verify or dump them any
more.
* d10v-tdep.c (d10v_register_virtual_type): Rather that
claiming the stack pointer and PC are 32 bits long (which they
aren't), say that the stack pointer is an int16_t, and the
program counter is a function pointer.  This allows the rest
of GDB to make the appropriate conversions between the code
pointer format and real addresses.
(d10v_register_convertible, d10v_register_convert_to_virtual,
d10v_register_convert_to_raw): Delete function; no registers
are convertible now, so we use
generic_register_convertible_not instead.
(d10v_address_to_pointer, d10v_pointer_to_address): New gdbarch
methods.
(d10v_push_arguments, d10v_extract_return_value): Remove special
cases for code and data pointers.
(d10v_gdbarch_init): Set gdbarch_ptr_bit to 16, so that GDB and
the target agree on how large pointers are.  Say that addresses
are 32 bits long.  Register the address_to_pointer and
pointer_to_address conversion functions.  Since no registers are
convertible now, register generic_register_convertible_not as the
gdbarch_register_convertible method instead of
d10v_register_convertible.  Remove registrations for
d10v_register_convert_to_virtual,
d10v_register_convert_to_raw, gdbarch_d10v_make_daddr,
gdbarch_d10v_make_iaddr, gdbarch_d10v_daddr_p,
gdbarch_d10v_iaddr_p, gdbarch_d10v_convert_daddr_to_raw, and
gdbarch_d10v_convert_iaddr_to_raw.
2001-07-10 21:24:48 +00:00
Jim Blandy
ef166cf46a * printcmd.c (print_scalar_formatted): If we are printing an
address, remember that TARGET_ADDR_BIT is not always equal to
TARGET_PTR_BIT.
2001-07-10 21:17:49 +00:00
Jim Blandy
2bf1f4a12e * valops.c (value_cast): When casting a pointer to an integer,
don't convert it to an address.
2001-07-10 21:15:28 +00:00
Andrew Cagney
ba3a85231b * remote-utils.h (struct serial): Declare as opaque. Remove
include of "serial.h".
* Makefile.in (remote_utils_h): Update.
* monitor.h (struct serial): Declare as opaque.  Remove include of
"serial.h".
(struct monitor_ops): Replace serial_t with `struct serial *'.
* monitor.c (monitor_desc): Ditto.
2001-07-10 21:06:34 +00:00
Daniel Jacobowitz
2aa830e4a6 MIPS/Linux support 2001-07-10 20:41:54 +00:00
Nick Clifton
15dcfbc30f Fix grammatical errors 2001-07-10 10:11:35 +00:00
Nick Clifton
f740e790c7 Use FOPEN_.. macros in calls to fopen(). 2001-07-10 09:45:50 +00:00
David O'Brien
c2a1a436ff 2001-07-09 David O'Brien <obrien@FreeBSD.org>
* emultempl/elf32.em: Do not assuming that contents of the buffer
	returned from basename function will remain unchanged accross other
	function calls.

NOTE: DJ Delorie recomends doing a basename()->lbasename() conversion.

Approved by:  DJ Delorie
              <200107100030.UAA01223@envy.delorie.com>
2001-07-10 00:38:16 +00:00
gdbadmin
2309f64071 *** empty log message *** 2001-07-10 00:00:08 +00:00
Mark Kettenis
bf702e7ee8 * mi-out.c (mi_out_new): Initialize suppress_ouput field of newly
created `struct ui_out_data'.
2001-07-09 22:19:50 +00:00
Michael Chastain
112f9ab535 2001-06-24 Michael Chastain <chastain@redhat.com>
* gdb.base/arithmet.exp: Remove some tests to make all test names
	unique.
2001-07-09 21:42:52 +00:00
Kevin Buettner
d8bf3afa18 Fix memory leak and compilation problems using AIX 5 native compiler. 2001-07-09 16:53:03 +00:00
Andrew Cagney
96052a95b1 * mi-main.c (mi_cmd_data_evaluate_expression): Replace value_ptr
with `struct value *'.
2001-07-09 14:50:37 +00:00
Andrew Cagney
65e2f7407a s/struct _serial_t/struct serial/ 2001-07-09 14:38:49 +00:00
Andreas Jaeger
7081ff0445 2001-07-09 Andreas Jaeger <aj@suse.de>, Karsten Keil <kkeil@suse.de>
* i386-dis.c (set_op): Handle 64 bit and 32 bit mode.
	(OP_J): Use bfd_vma for mask to work properly with 64 bits.
	(op_address,op_riprel): Use bfd_vma to handle 64 bits.
2001-07-09 14:22:11 +00:00
Nick Clifton
7e005732aa Add .incbin pseudo op 2001-07-09 08:19:18 +00:00
Kevin Buettner
4671219147 Make function declarators match function declarations. 2001-07-09 05:53:44 +00:00
gdbadmin
dd834ebbda *** empty log message *** 2001-07-09 00:00:03 +00:00
Andrew Cagney
090a2205b5 * gdbtypes.h (builtin_type_void_data_ptr): Rename
builtin_type_ptr.
* gdbtypes.c (builtin_type_void_data_ptr): Update.
(build_gdbtypes): Update.
(_initialize_gdbtypes): Update.
* values.c (value_as_pointer): Update.
* utils.c (host_pointer_to_address): Update.
(address_to_host_pointer): Update.
2001-07-08 20:42:15 +00:00
Andrew Cagney
8059d5aa1c * remote-udi.c (udi_wait): Make type, instead of name, of first
parameter a ptid_t.
2001-07-08 20:21:36 +00:00
Andrew Cagney
cc61049cca * ser-mac.c: Make obsolete.
* Makefile.in (ser-mac.o): Ditto.
2001-07-08 20:11:12 +00:00
Eli Zaretskii
10ba702db3 * go32-nat.c (go32_get_windows_version, print_mem, go32_sysinfo)
(read_memory_region, get_descriptor, display_descriptor)
	(go32_sldt, go32_sgdt, go32_sidt): New functions.
	(top-level): Include ctype.h, utsname.h, dos.h, and go32.h.  Ifdef
	away `disable' from dos.h, since breakpoint.h defines an enum
	member of the same name, and GCC 2.7.2 barfs.
	(_initialize_go32_nat): Provide new commands dos-sysinfo, dos-ldt,
	dos-gdt, and dos-idt, all of them in the "info" class
2001-07-08 10:28:20 +00:00
gdbadmin
6cc9a2ee51 *** empty log message *** 2001-07-08 00:00:01 +00:00
Kevin Buettner
44312dba28 Allocate/free space associated with saved_entryset and saved_exitset. 2001-07-07 22:02:51 +00:00
Kevin Buettner
1d5e060273 Allocate/free space associated with saved_entryset and saved_exitset. 2001-07-07 21:55:28 +00:00
Andrew Cagney
5329c7568d Updates. 2001-07-07 17:39:35 +00:00
Andrew Cagney
51cc5b0737 * symtab.c (main_name): New function.
(set_main_name): New function.
* symtab.h: Declare.
* TODO: Update

From 2000-03-05 Anthony Green <green@redhat.com>:
* dbxread.c (process_one_symbol): Handle the N_MAIN stab by
setting main_name.
* blockframe.c (inside_main_func): Use main_name instead of
"main".
* symtab.c (find_main_psymtab): Ditto.
* source.c (select_source_symtab): Ditto.
* nlmread.c (nlm_symfile_read): Ditto.
* rs6000-tdep.c (skip_prologue): Ditto.
2001-07-07 17:19:50 +00:00
Andrew Cagney
c72e73889f * gdbint.texinfo (User Interface): Update ui-out documentation to
refelect recent UI/MI updates.
2001-07-07 16:20:57 +00:00
Andrew Cagney
56ddd993fb TODO: Convert most items into PRs. 2001-07-07 16:12:19 +00:00
Nick Clifton
ae341099a8 Only set debug_type to DEBUG_NONE if it is DEBUG_UNSPECIFIED. 2001-07-07 15:43:04 +00:00
Mark Kettenis
58eeadbab5 * lin-lwp.c (status_to_str): New function.
(lin_lwp_wait): Use it to print debug messages where appropriate.
2001-07-07 10:58:37 +00:00
Michael Chastain
7f1659e652 I'm using the obvious fix rule to commit this.
Testing: I tested on native Red Hat Linux 7 using gcc 3.0.
The "info float" command exercises print_i387_value.

2001-07-06  Michael Chastain  <chastain@redhat.com>

	* i387-tdep.c (print_i387_value): Fix pointer glitch.

===

Index: i387-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/i387-tdep.c,v
retrieving revision 1.11
diff -c -1 -0 -p -r1.11 i387-tdep.c
*** gdb/i387-tdep.c	2001/07/04 21:14:05	1.11
--- gdb/i387-tdep.c	2001/07/06 12:47:00
*************** print_i387_value (char *raw)
*** 163,184 ****
    DOUBLEST value;
    int len = TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT;
    char *tmp = alloca (len);

    /* This code only works on targets where ... */
    gdb_assert (TARGET_LONG_DOUBLE_FORMAT == &floatformat_i387_ext);

    /* Take care of the padding.  FP reg is 80 bits.  The same value in
       memory is 96 bits.  */
    gdb_assert (FPU_REG_RAW_SIZE < len);
!   memcpy (&tmp, raw, FPU_REG_RAW_SIZE);
!   memset (&tmp + FPU_REG_RAW_SIZE, 0, len - FPU_REG_RAW_SIZE);

    /* Extract the value as a DOUBLEST.  */
    /* Use extract_floating() rather than floatformat_to_doublest().
       The latter is lossy in nature.  Once GDB gets a host/target
       independent and non-lossy FP it will become possible to bypass
       extract_floating() and call floatformat*() directly.  Note also
       the assumptions about TARGET_LONG_DOUBLE above.  */
    value = extract_floating (tmp, len);

    /* We try to print 19 digits.  The last digit may or may not contain
--- 163,184 ----
    DOUBLEST value;
    int len = TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT;
    char *tmp = alloca (len);

    /* This code only works on targets where ... */
    gdb_assert (TARGET_LONG_DOUBLE_FORMAT == &floatformat_i387_ext);

    /* Take care of the padding.  FP reg is 80 bits.  The same value in
       memory is 96 bits.  */
    gdb_assert (FPU_REG_RAW_SIZE < len);
!   memcpy (tmp, raw, FPU_REG_RAW_SIZE);
!   memset (tmp + FPU_REG_RAW_SIZE, 0, len - FPU_REG_RAW_SIZE);

    /* Extract the value as a DOUBLEST.  */
    /* Use extract_floating() rather than floatformat_to_doublest().
       The latter is lossy in nature.  Once GDB gets a host/target
       independent and non-lossy FP it will become possible to bypass
       extract_floating() and call floatformat*() directly.  Note also
       the assumptions about TARGET_LONG_DOUBLE above.  */
    value = extract_floating (tmp, len);

    /* We try to print 19 digits.  The last digit may or may not contain
2001-07-07 00:14:06 +00:00
gdbadmin
0e2bc86140 *** empty log message *** 2001-07-07 00:00:02 +00:00
Michael Snyder
4c8a82de3f 2001-07-02 Michael Snyder <msnyder@redhat.com>
* gdb.base/completion.exp: Don't assume that break.c is the only
	source file that may contain functions named "marker".
2001-07-06 22:51:21 +00:00
Mark Kettenis
00d4fce629 * lin-lwp.c (count_events_callback): Fix formatting. Turn check
commented with "paranoia" into gdb_assert.
(select_event_lwp_callback): Likewise.
(cancel_breakpoints_callback): Bail out early if LP is the event
LWP.  Add comment about backup up breakpoints.  Fix formatting and
debug message.
(select_event_lwp): Make solely repsonsible for switching event
LWP.  Fix formatting and remove bogus "ERROR" debug message.
Don't backup breakpoints from here.
(lin_lwp_wait): Don't touch LP->status, let select_event_lwp
handle that.  Only call select_event_lwp if we're not waiting for
a specific LWP, i.e. when PID == -1.  Backup breakpoints from here.
2001-07-06 22:31:47 +00:00
Ben Elliston
32cfffe316 2001-07-07 Ben Elliston <bje@redhat.com>
* m88k.h: Clean up and reformat. Remove unused code.
2001-07-06 22:14:07 +00:00
Michael Snyder
7de4590493 2001-07-06 Michael Snyder <msnyder@redhat.com>
* procfs.c (procfs_resume): Silence noisy warning.
2001-07-06 21:31:04 +00:00
John Healy
002de68b31 2001-07-06 John Healy <jhealy@redhat.com>
* cgen.c (gas_cgen_save_fixups): Modified to allow more than one
        set of fixups to be stored.
        (gas_cgen_restore_fixups): Modified to allow the fixup chain to be
        restored to be chosen from any that are saved.
        (gas_cgen_swap_fixups): Modified to allow the current set of
        fixups to be swapped with any other set that has been saved.
        (gas_cgen_initialize_saved_fixups_array): New routine.
        * cgen.h: Modifed prototypes for gas_cgen_save_fixups,
        gas_cgen_restore_fixups, and gas_cgen_swap_fixups.  Added definitions
        or MAX_SAVED_FIXUP_CHAINS.
        * config/tc-m32r.c (assemble_two_insns): Changed calls to fixup
        store, swap and restore fuctions to reflect the new interface.
2001-07-06 19:09:23 +00:00
Michael Snyder
b1aeb4c5a3 2001-06-12 Michael Snyder <msnyder@redhat.com>
* lin-lwp.c: Prevent thread starvation by using a monte carlo
	method to choose which of several event threads to handle next.

	(stop_wait_callback): Defer pushback of breakpoint events until
	later; add SIGTRAP events to the queue of unhandled events.
	Keep calling waitpid until SIGSTOP retrieved.  If more than one
	non-SIGSTOP event is retrieved, push them back onto the process
	queue using kill.
	(count_events_callback, select_singlestep_lwp_callback,
	select_event_lwp_callback, cancel_breakpoints_callback,
	select_event_lwp): New functions.  Implement monte carlo method
	for selecting which of several SIGTRAP threads to handle next.
	Push back the breakpoint event for all threads other than the
	selected one.
	(lin_lwp_wait): Call select_event_lwp to decide which of several
	sigtrapped lwps to handle next.
	(resume_callback): Disable code that attempts to handle
	step_resume breakpoints.  Let core gdb handle this.
2001-07-06 19:06:24 +00:00
Jim Blandy
ee3a7b7f0d * gdbtypes.h (builtin_type_void_func_ptr): New builtin type.
* gdbtypes.c (builtin_type_void_func_ptr): Define the variable.
(build_gdbtypes): Initialize it.
(_initialize_gdbtypes): Swap it.
2001-07-06 14:44:19 +00:00
Nick Clifton
7099f9f917 Catch and ignore empty, ineffectual alignment frags when deciding if a
branch can be short.
2001-07-06 08:21:35 +00:00
Nick Clifton
eed1d0acc7 And remove the seconf accidental patch commission. 2001-07-06 08:05:27 +00:00
Nick Clifton
ec5d57d5e8 Remove patch accidentally checked in with readelf.c patch 2001-07-06 08:01:17 +00:00
Jim Wilson
557debbaef 32-bit unwind data for ia64-hpux, from Steve Ellcey
* config/tc-ia64.c (special_section): Add SPECIAL_SECTION_INIT_ARRAY
	and SPECIAL_SECTION_FINI_ARRAY.
	(special_section_name): Add .init_array and .fini_array.
	(md_pseudo_table): Add init_array and fini_array.
	(md): Add pointer_size and pointer_size_shift fields.
	(setup_unwind_header): New static function.
	(output_unw_records): Modify to use setup_unwind_header.
	(generate_unwind_image, dot_endp): Modify to use md.pointer_size and
	md.pointer_size_shift.
	(md_begin): Initialize md.pointer_size and md.pointer_size_shift.
2001-07-06 07:32:42 +00:00
Daniel Jacobowitz
e135b88994 Branch prediction code cleanup 2001-07-06 05:35:17 +00:00
Andrew Cagney
94bbb2c00d Mention mi0 and mi1 as --interpreter options. 2001-07-06 04:07:29 +00:00
Andrew Cagney
9dc5e2a936 Replace:
if (interpreter_p && strncmp (interpreter_p, "mi", 2) == 0)
with:
  if (ui_out_is_mi_like_p (uiout))
2001-07-06 03:53:11 +00:00
Alan Modra
7fb088be89 Oops, missed committing entry for 2001-07-05 change. 2001-07-06 02:02:42 +00:00
gdbadmin
f1217e8515 *** empty log message *** 2001-07-06 00:00:03 +00:00
Daniel Jacobowitz
9022177cbd * mips-tdep.c (mips_software_single_step): New function.
* config/mips/tm-mips.h: Add prototype for
        mips_software_single_step.
2001-07-05 23:30:43 +00:00