* 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.
This commit is contained in:
Eli Zaretskii 2001-03-26 11:26:45 +00:00
parent 0879a67a8f
commit 4d2779813f
4 changed files with 100 additions and 51 deletions

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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