aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog25
-rw-r--r--gdb/config/djgpp/djconfig.sh26
-rw-r--r--gdb/go32-nat.c50
-rw-r--r--gdb/ser-go32.c48
4 files changed, 99 insertions, 50 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index b01c01d..1816bd7 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,28 @@
+2001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * config/djgpp/djconfig.sh: Add copyright notice.
+
+ * ser-go32.c (rawclock): Remove prototype; include time.h instead.
+ (ISR, dos_hookirq, isr_t): Convert K&R definition to ANSI C.
+ (top level) <string.h>: Include gdb_string.h instead.
+ (dos_noop, dos_raw, dos_noflush_set_tty_state)
+ (dos_print_tty_state, dos_info): Remove ATTRIBUTE_UNUSED.
+
+ * go32-nat.c (go32_create_inferior): Move the declaration of
+ `environ' to here from the top level.
+ (top level) <_initialize_go32_nat>: Remove redundant prototype.
+ <gdb_string.h>: Include it instead of string.h.
+ (store_register): Call register_buffer instead of accessing
+ registers[] directly.
+ (redir_cmdline_delete, redir_cmdline_parse, redir_to_debugger)
+ (redir_to_debugger, redir_debug_init) [__DJGPP_MINOR__ < 3]: Put
+ the function names at the start of the line.
+ (go32_set_dr): Throw internal_error if the argument is not a valid
+ debug register number.
+ (go32_open, go32_close, go32_attach, go32_detach, go32_resume)
+ (go32_wait, go32_xfer_memory, go32_files_info)
+ (go32_terminal_info): Remove ATTRIBUTE_UNUSED.
+
2001-03-25 Jim Blandy <jimb@redhat.com>
* mips-tdep.c (mips_gdbarch_init): Tweak indentation.
diff --git a/gdb/config/djgpp/djconfig.sh b/gdb/config/djgpp/djconfig.sh
index 241f6dd..ae3006d 100644
--- a/gdb/config/djgpp/djconfig.sh
+++ b/gdb/config/djgpp/djconfig.sh
@@ -1,15 +1,35 @@
#!/bin/sh
-#
+#
# This shell script is a wrapper to the main configure script when
# configuring GDB for DJGPP. 99% of it can also be used when
# configuring other GNU programs for DJGPP.
#
+#=====================================================================
+# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
+#
# Originally written by Robert Hoehne, revised by Eli Zaretskii.
+# This file is part of GDB.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-# Call it like the main configure script with one exception. If you
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA. */
+#=====================================================================
+#
+# Call this script like the main configure script with one exception. If you
# want to pass parameters to configure, you have to pass as the first
# argument the srcdir, even when it is `.' !!!!!
-
+#
# Where are the sources? If you are used to having the sources
# in a separate directory and the objects in another, then set
# here the full path to the source directory and run this script
diff --git a/gdb/go32-nat.c b/gdb/go32-nat.c
index 04550b3..dffc5d9 100644
--- a/gdb/go32-nat.c
+++ b/gdb/go32-nat.c
@@ -29,11 +29,12 @@
#include "floatformat.h"
#include "buildsym.h"
#include "i387-nat.h"
+#include "value.h"
#include "regcache.h"
+#include "gdb_string.h"
#include <stdio.h> /* required for __DJGPP_MINOR__ */
#include <stdlib.h>
-#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <io.h>
@@ -120,31 +121,33 @@ typedef struct {
int redirected;
} cmdline_t;
-void redir_cmdline_delete (cmdline_t *ptr) {ptr->redirected = 0;}
-int redir_cmdline_parse (const char *args, cmdline_t *ptr)
+void
+redir_cmdline_delete (cmdline_t *ptr) {ptr->redirected = 0;}
+
+int
+redir_cmdline_parse (const char *args, cmdline_t *ptr)
{
return -1;
}
-int redir_to_child (cmdline_t *ptr)
+int
+redir_to_child (cmdline_t *ptr)
{
return 1;
}
-int redir_to_debugger (cmdline_t *ptr)
+int
+redir_to_debugger (cmdline_t *ptr)
{
return 1;
}
-int redir_debug_init (cmdline_t *ptr) { return 0; }
+int
+redir_debug_init (cmdline_t *ptr) { return 0; }
#endif /* __DJGPP_MINOR < 3 */
-extern void _initialize_go32_nat (void);
-
typedef enum { wp_insert, wp_remove, wp_count } wp_op;
/* This holds the current reference counts for each debug register. */
static int dr_ref_count[4];
-extern char **environ;
-
#define SOME_PID 42
static int prog_has_started = 0;
@@ -276,18 +279,18 @@ static struct {
};
static void
-go32_open (char *name ATTRIBUTE_UNUSED, int from_tty ATTRIBUTE_UNUSED)
+go32_open (char *name, int from_tty)
{
printf_unfiltered ("Done. Use the \"run\" command to run the program.\n");
}
static void
-go32_close (int quitting ATTRIBUTE_UNUSED)
+go32_close (int quitting)
{
}
static void
-go32_attach (char *args ATTRIBUTE_UNUSED, int from_tty ATTRIBUTE_UNUSED)
+go32_attach (char *args, int from_tty)
{
error ("\
You cannot attach to a running program on this platform.\n\
@@ -295,7 +298,7 @@ Use the `run' command to run DJGPP programs.");
}
static void
-go32_detach (char *args ATTRIBUTE_UNUSED, int from_tty ATTRIBUTE_UNUSED)
+go32_detach (char *args, int from_tty)
{
}
@@ -303,7 +306,7 @@ static int resume_is_step;
static int resume_signal = -1;
static void
-go32_resume (int pid ATTRIBUTE_UNUSED, int step, enum target_signal siggnal)
+go32_resume (int pid, int step, enum target_signal siggnal)
{
int i;
@@ -327,7 +330,7 @@ go32_resume (int pid ATTRIBUTE_UNUSED, int step, enum target_signal siggnal)
static char child_cwd[FILENAME_MAX];
static int
-go32_wait (int pid ATTRIBUTE_UNUSED, struct target_waitstatus *status)
+go32_wait (int pid, struct target_waitstatus *status)
{
int i;
unsigned char saved_opcode;
@@ -392,7 +395,7 @@ go32_wait (int pid ATTRIBUTE_UNUSED, struct target_waitstatus *status)
if (!*child_cwd)
/* Initialize child's cwd with the current one. */
getcwd (child_cwd, sizeof (child_cwd));
-
+
chdir (child_cwd);
#if __DJGPP_MINOR__ < 3
@@ -473,7 +476,7 @@ static void
store_register (int regno)
{
void *rp;
- void *v = (void *) &registers[REGISTER_BYTE (regno)];
+ void *v = (void *) register_buffer (regno);
if (regno < FP0_REGNUM)
memcpy ((char *) &a_tss + regno_mapping[regno].tss_ofs,
@@ -507,8 +510,7 @@ go32_prepare_to_store (void)
static int
go32_xfer_memory (CORE_ADDR memaddr, char *myaddr, int len, int write,
- struct mem_attrib *attrib ATTRIBUTE_UNUSED,
- struct target_ops *target ATTRIBUTE_UNUSED)
+ struct mem_attrib *attrib, struct target_ops *target)
{
if (write)
{
@@ -537,7 +539,7 @@ go32_xfer_memory (CORE_ADDR memaddr, char *myaddr, int len, int write,
static cmdline_t child_cmd; /* parsed child's command line kept here */
static void
-go32_files_info (struct target_ops *target ATTRIBUTE_UNUSED)
+go32_files_info (struct target_ops *target)
{
printf_unfiltered ("You are running a DJGPP V2 program.\n");
}
@@ -563,6 +565,7 @@ go32_kill_inferior (void)
static void
go32_create_inferior (char *exec_file, char *args, char **env)
{
+ extern char **environ;
jmp_buf start_state;
char *cmdline;
char **env_save = environ;
@@ -661,6 +664,9 @@ go32_can_run (void)
void
go32_set_dr (int i, CORE_ADDR addr)
{
+ if (i < 0 || i > 3)
+ internal_error (__FILE__, __LINE__,
+ "Invalid register %d in go32_set_dr.\n", i);
D_REGS[i] = addr;
}
@@ -733,7 +739,7 @@ go32_terminal_init (void)
}
static void
-go32_terminal_info (char *args ATTRIBUTE_UNUSED, int from_tty ATTRIBUTE_UNUSED)
+go32_terminal_info (char *args, int from_tty)
{
printf_unfiltered ("Inferior's terminal is in %s mode.\n",
!inf_mode_valid
diff --git a/gdb/ser-go32.c b/gdb/ser-go32.c
index e3d3bf5..3d336f7 100644
--- a/gdb/ser-go32.c
+++ b/gdb/ser-go32.c
@@ -1,12 +1,12 @@
/* Remote serial interface for local (hardwired) serial ports for GO32.
- Copyright 1992, 1993, 2000 Free Software Foundation, Inc.
+ Copyright 1992, 1993, 2000, 2001 Free Software Foundation, Inc.
Contributed by Nigel Stephens, Algorithmics Ltd. (nigel@algor.co.uk).
- This version uses DPMI interrupts to handle buffered i/o
+ This version uses DPMI interrupts to handle buffered i/o
without the separate "asynctsr" program.
- This file is part of GDB.
+ This file is part of GDB.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -26,6 +26,7 @@
#include "defs.h"
#include "gdbcmd.h"
#include "serial.h"
+#include "gdb_string.h"
/*
@@ -127,7 +128,7 @@
#define MSR_DDSR 0x02
#define MSR_DCTS 0x01
-#include <string.h>
+#include <time.h>
#include <dos.h>
#include <go32.h>
#include <dpmi.h>
@@ -139,9 +140,6 @@ typedef unsigned long u_long;
/* input buffer size */
#define CBSIZE 4096
-/* return raw 18Hz clock count */
-extern long rawclock (void);
-
#define RAWHZ 18
#ifdef DOS_STATS
@@ -356,24 +354,23 @@ dos_comisr (int irq)
}
#define ISRNAME(x) dos_comisr##x
-#define ISR(x) static void ISRNAME(x)() {dos_comisr(x);}
+#define ISR(x) static void ISRNAME(x)(void) {dos_comisr(x);}
ISR (0) ISR (1) ISR (2) ISR (3)
ISR (4) ISR (5) ISR (6) ISR (7)
- typedef void (*isr_t) ();
+typedef void (*isr_t) (void);
- static isr_t isrs[NINTR] =
- {
+static isr_t isrs[NINTR] =
+ {
ISRNAME (0), ISRNAME (1), ISRNAME (2), ISRNAME (3),
ISRNAME (4), ISRNAME (5), ISRNAME (6), ISRNAME (7)
-};
+ };
- static struct intrupt *
- dos_hookirq (irq)
- unsigned int irq;
+static struct intrupt *
+dos_hookirq (unsigned int irq)
{
struct intrupt *intr;
unsigned int vec;
@@ -412,7 +409,8 @@ ISR (4) ISR (5) ISR (6) ISR (7)
intr->new_pmhandler.pm_offset = (u_long) isr;
_go32_dpmi_allocate_iret_wrapper (&intr->new_pmhandler);
- if (_go32_dpmi_set_protected_mode_interrupt_vector (vec, &intr->new_pmhandler))
+ if (_go32_dpmi_set_protected_mode_interrupt_vector (vec,
+ &intr->new_pmhandler))
{
return 0;
}
@@ -507,7 +505,8 @@ ok:
outb (port, com_ier, 0);
/* tentatively enable 16550 fifo, and see if it responds */
- outb (port, com_fifo, FIFO_ENABLE | FIFO_RCV_RST | FIFO_XMT_RST | FIFO_TRIGGER);
+ outb (port, com_fifo,
+ FIFO_ENABLE | FIFO_RCV_RST | FIFO_XMT_RST | FIFO_TRIGGER);
sleep (1);
port->fifo = ((inb (port, com_iir) & IIR_FIFO_MASK) == IIR_FIFO_MASK);
@@ -601,13 +600,13 @@ dos_close (serial_t scb)
static int
-dos_noop (serial_t scb ATTRIBUTE_UNUSED)
+dos_noop (serial_t scb)
{
return 0;
}
static void
-dos_raw (serial_t scb ATTRIBUTE_UNUSED)
+dos_raw (serial_t scb)
{
/* Always in raw mode */
}
@@ -667,7 +666,7 @@ dos_set_tty_state (serial_t scb, serial_ttystate ttystate)
static int
dos_noflush_set_tty_state (serial_t scb, serial_ttystate new_ttystate,
- serial_ttystate old_ttystate ATTRIBUTE_UNUSED)
+ serial_ttystate old_ttystate)
{
struct dos_ttystate *state;
@@ -689,9 +688,8 @@ dos_flush_input (serial_t scb)
}
static void
-dos_print_tty_state (serial_t scb ATTRIBUTE_UNUSED,
- serial_ttystate ttystate ATTRIBUTE_UNUSED,
- struct ui_file *stream ATTRIBUTE_UNUSED)
+dos_print_tty_state (serial_t scb, serial_ttystate ttystate,
+ struct ui_file *stream)
{
/* Nothing to print */
return;
@@ -705,7 +703,7 @@ dos_baudconv (int rate)
if (rate <= 0)
return -1;
-#define divrnd(n, q) (((n) * 2 / (q) + 1) / 2) /* divide and round off */
+#define divrnd(n, q) (((n) * 2 / (q) + 1) / 2) /* divide and round off */
x = divrnd (COMTICK, rate);
if (x <= 0)
return -1;
@@ -864,7 +862,7 @@ static struct serial_ops dos_ops =
static void
-dos_info (char *arg ATTRIBUTE_UNUSED, int from_tty ATTRIBUTE_UNUSED)
+dos_info (char *arg, int from_tty)
{
struct dos_ttystate *port;
#ifdef DOS_STATS