* config/mips/tm-irix5.h (IN_SIGTRAMP): Redefine for Irix 5,

Irix 5 has a standard _sigtramp signal handler.
	* irix5-nat.c (solib_add):  Get rid of sigtramp_address handling,
	it is not needed for a standard _sigtramp signal handler.
	Add shared library sections to the section table of the target
	before adding the symbols.
	* mips-tdep.c (mips_skip_prologue):  Do not skip load immediate
	instructions that do not prepare a stack adjustment.
	* regex.c (SIGN_EXTEND_CHAR):  Update to emacs-19.25 definition,
	which does the right thing on machines where `char' is unsigned.
This commit is contained in:
Peter Schauer 1994-08-07 13:33:45 +00:00
parent f20860cdbc
commit 0d98155c94
3 changed files with 51 additions and 35 deletions

View File

@ -1,3 +1,16 @@
Sat Aug 6 22:27:30 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
* config/mips/tm-irix5.h (IN_SIGTRAMP): Redefine for Irix 5,
Irix 5 has a standard _sigtramp signal handler.
* irix5-nat.c (solib_add): Get rid of sigtramp_address handling,
it is not needed for a standard _sigtramp signal handler.
Add shared library sections to the section table of the target
before adding the symbols.
* mips-tdep.c (mips_skip_prologue): Do not skip load immediate
instructions that do not prepare a stack adjustment.
* regex.c (SIGN_EXTEND_CHAR): Update to emacs-19.25 definition,
which does the right thing on machines where `char' is unsigned.
Fri Aug 5 17:50:59 1994 Stu Grossman (grossman@cygnus.com)
* remote.c (remote_open): Move setting of inferior_pid prior to

View File

@ -217,8 +217,6 @@ static char *bkpt_names[] = {
char shadow_contents[BREAKPOINT_MAX]; /* Stash old bkpt addr contents */
extern CORE_ADDR sigtramp_address, sigtramp_end;
struct so_list {
struct so_list *next; /* next structure in linked list */
struct obj_list ll;
@ -615,37 +613,10 @@ solib_add (arg_string, from_tty, target)
error ("Invalid regexp: %s", re_err);
}
/* Getting new symbols may change our opinion about what is
frameless. */
reinit_frame_cache ();
/* Not to mention where _sigtramp is. */
sigtramp_address = 0;
while ((so = find_solib (so)) != NULL)
{
if (so -> lm.o_path[0] && re_exec (so -> lm.o_path))
{
so -> from_tty = from_tty;
if (so -> symbols_loaded)
{
if (from_tty)
{
printf_unfiltered ("Symbols already loaded for %s\n", so -> lm.o_path);
}
}
else if (catch_errors
(symbol_add_stub, (char *) so,
"Error while reading shared library symbols:\n",
RETURN_MASK_ALL))
{
so_last = so;
so -> symbols_loaded = 1;
}
}
}
/* Now add the shared library sections to the section table of the
specified target, if any. */
/* Add the shared library sections to the section table of the
specified target, if any. We have to do this before reading the
symbol files as symbol_file_add calls reinit_frame_cache and
creating a new frame might access memory in the shared library. */
if (target)
{
/* Count how many new section_table entries there are. */
@ -691,6 +662,30 @@ solib_add (arg_string, from_tty, target)
}
}
}
/* Now add the symbol files. */
while ((so = find_solib (so)) != NULL)
{
if (so -> lm.o_path[0] && re_exec (so -> lm.o_path))
{
so -> from_tty = from_tty;
if (so -> symbols_loaded)
{
if (from_tty)
{
printf_unfiltered ("Symbols already loaded for %s\n", so -> lm.o_path);
}
}
else if (catch_errors
(symbol_add_stub, (char *) so,
"Error while reading shared library symbols:\n",
RETURN_MASK_ALL))
{
so_last = so;
so -> symbols_loaded = 1;
}
}
}
}
/*

View File

@ -93,8 +93,16 @@ init_syntax_once ()
#define BYTEWIDTH 8
#ifndef SIGN_EXTEND_CHAR
#define SIGN_EXTEND_CHAR(x) (x)
/* We remove any previous definition of `SIGN_EXTEND_CHAR',
since ours (we hope) works properly with all combinations of
machines, compilers, `char' and `unsigned char' argument types.
(Per Bothner suggested the basic approach.) */
#undef SIGN_EXTEND_CHAR
#if __STDC__
#define SIGN_EXTEND_CHAR(c) ((signed char) (c))
#else /* not __STDC__ */
/* As in Harbison and Steele. */
#define SIGN_EXTEND_CHAR(c) ((((unsigned char) (c)) ^ 128) - 128)
#endif
static int obscure_syntax = 0;