* m68k-stub.c: Remove ansidecl.h and the few uses of it.
Stubs should stand alone as much as possible. * source.c (show_directories): Avoid printf_filtered length prob pointed out by Jonathan Stone. * i960-pinsn.c (MEM_MAX, MEM_SIZ): Set upper limit properly to avoid accesses beyond end of table. Fix by Lee W. Cooprider, <Lee_Cooprider@vos.stratus.com>.
This commit is contained in:
parent
a644baaa03
commit
8a96d79b70
3 changed files with 64 additions and 24 deletions
|
@ -1,3 +1,15 @@
|
||||||
|
Fri Nov 6 00:14:38 1992 John Gilmore (gnu@cygnus.com)
|
||||||
|
|
||||||
|
* m68k-stub.c: Remove ansidecl.h and the few uses of it.
|
||||||
|
Stubs should stand alone as much as possible.
|
||||||
|
|
||||||
|
* source.c (show_directories): Avoid printf_filtered length prob
|
||||||
|
pointed out by Jonathan Stone.
|
||||||
|
|
||||||
|
* i960-pinsn.c (MEM_MAX, MEM_SIZ): Set upper limit properly to
|
||||||
|
avoid accesses beyond end of table. Fix by Lee W. Cooprider,
|
||||||
|
<Lee_Cooprider@vos.stratus.com>.
|
||||||
|
|
||||||
Thu Nov 5 17:33:08 1992 Fred Fish (fnf@cygnus.com)
|
Thu Nov 5 17:33:08 1992 Fred Fish (fnf@cygnus.com)
|
||||||
|
|
||||||
* {ser-bsd.c, ser-termios.c} (serial_close): Pass address of
|
* {ser-bsd.c, ser-termios.c} (serial_close): Pass address of
|
||||||
|
|
|
@ -341,8 +341,12 @@ mem( memaddr, word1, word2, noprint )
|
||||||
* -2: 2 operands, store instruction
|
* -2: 2 operands, store instruction
|
||||||
*/
|
*/
|
||||||
static struct tabent *mem_tab = NULL;
|
static struct tabent *mem_tab = NULL;
|
||||||
static struct { int opcode; char *name; char numops; } mem_init[] = {
|
/* Opcodes of 0x8X, 9X, aX, bX, and cX must be in the table. */
|
||||||
#define MEM_MIN 0x80
|
#define MEM_MIN 0x80
|
||||||
|
#define MEM_MAX 0xcf
|
||||||
|
#define MEM_SIZ ((MEM_MAX-MEM_MIN+1) * sizeof(struct tabent))
|
||||||
|
|
||||||
|
static struct { int opcode; char *name; char numops; } mem_init[] = {
|
||||||
0x80, "ldob", 2,
|
0x80, "ldob", 2,
|
||||||
0x82, "stob", -2,
|
0x82, "stob", -2,
|
||||||
0x84, "bx", 1,
|
0x84, "bx", 1,
|
||||||
|
@ -363,8 +367,6 @@ mem( memaddr, word1, word2, noprint )
|
||||||
0xc2, "stib", -2,
|
0xc2, "stib", -2,
|
||||||
0xc8, "ldis", 2,
|
0xc8, "ldis", 2,
|
||||||
0xca, "stis", -2,
|
0xca, "stis", -2,
|
||||||
#define MEM_MAX 0xca
|
|
||||||
#define MEM_SIZ ((MEM_MAX-MEM_MIN+1) * sizeof(struct tabent))
|
|
||||||
0, NULL, 0
|
0, NULL, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
68
gdb/source.c
68
gdb/source.c
|
@ -200,7 +200,9 @@ show_directories (ignore, from_tty)
|
||||||
char *ignore;
|
char *ignore;
|
||||||
int from_tty;
|
int from_tty;
|
||||||
{
|
{
|
||||||
printf_filtered ("Source directories searched: %s\n", source_path);
|
puts_filtered ("Source directories searched: ");
|
||||||
|
puts_filtered (source_path);
|
||||||
|
puts_filtered ("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Forget what we learned about line positions in source files,
|
/* Forget what we learned about line positions in source files,
|
||||||
|
@ -608,6 +610,7 @@ find_source_lines (s, desc)
|
||||||
int desc;
|
int desc;
|
||||||
{
|
{
|
||||||
struct stat st;
|
struct stat st;
|
||||||
|
char c;
|
||||||
register char *data, *p, *end;
|
register char *data, *p, *end;
|
||||||
int nlines = 0;
|
int nlines = 0;
|
||||||
int lines_allocated = 1000;
|
int lines_allocated = 1000;
|
||||||
|
@ -618,14 +621,35 @@ find_source_lines (s, desc)
|
||||||
line_charpos = (int *) xmmalloc (s -> objfile -> md,
|
line_charpos = (int *) xmmalloc (s -> objfile -> md,
|
||||||
lines_allocated * sizeof (int));
|
lines_allocated * sizeof (int));
|
||||||
if (fstat (desc, &st) < 0)
|
if (fstat (desc, &st) < 0)
|
||||||
perror_with_name (s->filename);
|
perror_with_name (s->filename);
|
||||||
|
|
||||||
if (exec_bfd) {
|
if (exec_bfd) {
|
||||||
exec_mtime = bfd_get_mtime(exec_bfd);
|
exec_mtime = bfd_get_mtime(exec_bfd);
|
||||||
if (exec_mtime && exec_mtime < st.st_mtime)
|
if (exec_mtime && exec_mtime < st.st_mtime)
|
||||||
printf_filtered ("Source file is more recent than executable.\n");
|
printf_filtered ("Source file is more recent than executable.\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef LSEEK_NOT_LINEAR
|
||||||
|
/* Have to read it byte by byte to find out where the chars live */
|
||||||
|
|
||||||
|
line_charpos[0] = tell(desc);
|
||||||
|
nlines = 1;
|
||||||
|
while (myread(desc, &c, 1)>0)
|
||||||
|
{
|
||||||
|
if (c == '\n')
|
||||||
|
{
|
||||||
|
if (nlines == lines_allocated)
|
||||||
|
{
|
||||||
|
lines_allocated *= 2;
|
||||||
|
line_charpos =
|
||||||
|
(int *) xmrealloc (s -> objfile -> md, (char *) line_charpos,
|
||||||
|
sizeof (int) * lines_allocated);
|
||||||
|
}
|
||||||
|
line_charpos[nlines++] = tell(desc);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
/* st_size might be a large type, but we only support source files whose
|
/* st_size might be a large type, but we only support source files whose
|
||||||
size fits in an int. FIXME. */
|
size fits in an int. FIXME. */
|
||||||
size = (int) st.st_size;
|
size = (int) st.st_size;
|
||||||
|
@ -637,31 +661,33 @@ find_source_lines (s, desc)
|
||||||
data = (char *) alloca (size);
|
data = (char *) alloca (size);
|
||||||
#endif
|
#endif
|
||||||
if (myread (desc, data, size) < 0)
|
if (myread (desc, data, size) < 0)
|
||||||
perror_with_name (s->filename);
|
perror_with_name (s->filename);
|
||||||
end = data + size;
|
end = data + size;
|
||||||
p = data;
|
p = data;
|
||||||
line_charpos[0] = 0;
|
line_charpos[0] = 0;
|
||||||
nlines = 1;
|
nlines = 1;
|
||||||
while (p != end)
|
while (p != end)
|
||||||
|
{
|
||||||
|
if (*p++ == '\n'
|
||||||
|
/* A newline at the end does not start a new line. */
|
||||||
|
&& p != end)
|
||||||
{
|
{
|
||||||
if (*p++ == '\n'
|
if (nlines == lines_allocated)
|
||||||
/* A newline at the end does not start a new line. */
|
{
|
||||||
&& p != end)
|
lines_allocated *= 2;
|
||||||
{
|
line_charpos =
|
||||||
if (nlines == lines_allocated)
|
(int *) xmrealloc (s -> objfile -> md, (char *) line_charpos,
|
||||||
{
|
sizeof (int) * lines_allocated);
|
||||||
lines_allocated *= 2;
|
}
|
||||||
line_charpos =
|
line_charpos[nlines++] = p - data;
|
||||||
(int *) xmrealloc (s -> objfile -> md, (char *) line_charpos,
|
|
||||||
sizeof (int) * lines_allocated);
|
|
||||||
}
|
|
||||||
line_charpos[nlines++] = p - data;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
s->nlines = nlines;
|
s->nlines = nlines;
|
||||||
s->line_charpos =
|
s->line_charpos =
|
||||||
(int *) xmrealloc (s -> objfile -> md, (char *) line_charpos,
|
(int *) xmrealloc (s -> objfile -> md, (char *) line_charpos,
|
||||||
nlines * sizeof (int));
|
nlines * sizeof (int));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return the character position of a line LINE in symtab S.
|
/* Return the character position of a line LINE in symtab S.
|
||||||
|
@ -821,7 +847,7 @@ print_source_lines (s, line, stopline, noerror)
|
||||||
printf_filtered ("%d\t", current_source_line++);
|
printf_filtered ("%d\t", current_source_line++);
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
if (c < 040 && c != '\t' && c != '\n')
|
if (c < 040 && c != '\t' && c != '\n' && c != '\r')
|
||||||
printf_filtered ("^%c", c + 0100);
|
printf_filtered ("^%c", c + 0100);
|
||||||
else if (c == 0177)
|
else if (c == 0177)
|
||||||
printf_filtered ("^?");
|
printf_filtered ("^?");
|
||||||
|
@ -1293,7 +1319,7 @@ Lines can be specified in these ways:\n\
|
||||||
FILE:FUNCTION, to distinguish among like-named static functions.\n\
|
FILE:FUNCTION, to distinguish among like-named static functions.\n\
|
||||||
*ADDRESS, to list around the line containing that address.\n\
|
*ADDRESS, to list around the line containing that address.\n\
|
||||||
With two args if one is empty it stands for ten lines away from the other arg.");
|
With two args if one is empty it stands for ten lines away from the other arg.");
|
||||||
add_com_alias ("l", "list", class_files, 0);
|
add_com_alias ("l", "list", class_files, 1);
|
||||||
|
|
||||||
add_show_from_set
|
add_show_from_set
|
||||||
(add_set_cmd ("listsize", class_support, var_uinteger,
|
(add_set_cmd ("listsize", class_support, var_uinteger,
|
||||||
|
|
Loading…
Add table
Reference in a new issue