diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b01c01d195..1816bd7236 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,28 @@ +2001-03-23 Eli Zaretskii + + * 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) : 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. + : 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 * mips-tdep.c (mips_gdbarch_init): Tweak indentation. diff --git a/gdb/config/djgpp/djconfig.sh b/gdb/config/djgpp/djconfig.sh index 241f6dd57e..ae3006d028 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. # -# Originally written by Robert Hoehne, revised by Eli Zaretskii. +#===================================================================== +# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc. # -# Call it like the main configure script with one exception. If you +# 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. +# +# 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 04550b3773..dffc5d959b 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 /* required for __DJGPP_MINOR__ */ #include -#include #include #include #include @@ -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 *) ®isters[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 e3d3bf525c..3d336f77c3 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 +#include #include #include #include @@ -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