* 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:
parent
0879a67a8f
commit
4d2779813f
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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 *) ®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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user