[Sharp eyes, Jim...]
* remote.c: * (get_offsets): Temporary kludge to force data & bss sections to have the same relocation.
This commit is contained in:
parent
e632f85ee1
commit
1624c38fd7
|
@ -23,6 +23,8 @@ Tue Apr 26 09:50:45 1994 Stu Grossman (grossman at cygnus.com)
|
||||||
* partial-stabs.h (cases 'f' & 'F'): Fixes to work around Solaris
|
* partial-stabs.h (cases 'f' & 'F'): Fixes to work around Solaris
|
||||||
brain-damage which don't apply to relocatable object files.
|
brain-damage which don't apply to relocatable object files.
|
||||||
* remote.c (putpkt): Improve error reporting and error handling.
|
* remote.c (putpkt): Improve error reporting and error handling.
|
||||||
|
* (get_offsets): Temporary kludge to force data & bss sections to
|
||||||
|
have the same relocation.
|
||||||
* stabsread.c (define_symbol, scan_file_globals): Record section
|
* stabsread.c (define_symbol, scan_file_globals): Record section
|
||||||
info in sym.
|
info in sym.
|
||||||
|
|
||||||
|
|
47
gdb/remote.c
47
gdb/remote.c
|
@ -318,8 +318,13 @@ get_offsets ()
|
||||||
with SEC_CODE set, but we currently have no way to deal with that). */
|
with SEC_CODE set, but we currently have no way to deal with that). */
|
||||||
|
|
||||||
ANOFFSET (offs, SECT_OFF_TEXT) = text_addr;
|
ANOFFSET (offs, SECT_OFF_TEXT) = text_addr;
|
||||||
|
|
||||||
|
/* This is a temporary kludge to force data and bss to use the same offsets
|
||||||
|
because that's what nlmconv does now. The real solution requires changes
|
||||||
|
to the stub and remote.c that I don't have time to do right now. */
|
||||||
|
|
||||||
ANOFFSET (offs, SECT_OFF_DATA) = data_addr;
|
ANOFFSET (offs, SECT_OFF_DATA) = data_addr;
|
||||||
ANOFFSET (offs, SECT_OFF_BSS) = bss_addr;
|
ANOFFSET (offs, SECT_OFF_BSS) = data_addr;
|
||||||
|
|
||||||
objfile_relocate (symfile_objfile, offs);
|
objfile_relocate (symfile_objfile, offs);
|
||||||
}
|
}
|
||||||
|
@ -1096,10 +1101,13 @@ putpkt (buf)
|
||||||
|
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
|
int started_error_output = 0;
|
||||||
|
|
||||||
if (remote_debug)
|
if (remote_debug)
|
||||||
{
|
{
|
||||||
*p = '\0';
|
*p = '\0';
|
||||||
printf_unfiltered ("Sending packet: %s...", buf2); gdb_flush(gdb_stdout);
|
printf_unfiltered ("Sending packet: %s...", buf2);
|
||||||
|
gdb_flush(gdb_stdout);
|
||||||
}
|
}
|
||||||
if (SERIAL_WRITE (remote_desc, buf2, p - buf2))
|
if (SERIAL_WRITE (remote_desc, buf2, p - buf2))
|
||||||
perror_with_name ("putpkt: write failed");
|
perror_with_name ("putpkt: write failed");
|
||||||
|
@ -1109,6 +1117,23 @@ putpkt (buf)
|
||||||
{
|
{
|
||||||
ch = readchar ();
|
ch = readchar ();
|
||||||
|
|
||||||
|
if (remote_debug)
|
||||||
|
{
|
||||||
|
switch (ch)
|
||||||
|
{
|
||||||
|
case '+':
|
||||||
|
case SERIAL_TIMEOUT:
|
||||||
|
case SERIAL_ERROR:
|
||||||
|
case SERIAL_EOF:
|
||||||
|
case '$':
|
||||||
|
if (started_error_output)
|
||||||
|
{
|
||||||
|
putc_unfiltered ('\n');
|
||||||
|
started_error_output = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
switch (ch)
|
switch (ch)
|
||||||
{
|
{
|
||||||
case '+':
|
case '+':
|
||||||
|
@ -1121,9 +1146,25 @@ putpkt (buf)
|
||||||
perror_with_name ("putpkt: couldn't read ACK");
|
perror_with_name ("putpkt: couldn't read ACK");
|
||||||
case SERIAL_EOF:
|
case SERIAL_EOF:
|
||||||
error ("putpkt: EOF while trying to read ACK");
|
error ("putpkt: EOF while trying to read ACK");
|
||||||
|
case '$':
|
||||||
|
{
|
||||||
|
unsigned char junkbuf[PBUFSIZ];
|
||||||
|
|
||||||
|
/* It's probably an old response, and we're out of sync. Just
|
||||||
|
gobble up the packet and ignore it. */
|
||||||
|
getpkt (junkbuf, 0);
|
||||||
|
continue; /* Now, go look for + */
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
if (remote_debug)
|
if (remote_debug)
|
||||||
printf_unfiltered ("%02X %c ", ch&0xFF, ch);
|
{
|
||||||
|
if (!started_error_output)
|
||||||
|
{
|
||||||
|
started_error_output = 1;
|
||||||
|
printf_unfiltered ("putpkt: Junk: ");
|
||||||
|
}
|
||||||
|
putc_unfiltered (ch & 0177);
|
||||||
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
break; /* Here to retransmit */
|
break; /* Here to retransmit */
|
||||||
|
|
Loading…
Reference in New Issue