* top.h (lim_at_start): Declare.

* main.c (captured_main): Set it.
        * top.c (lim_at_start): Define.
        (command_loop): Use it instead of &environ.
        * event-top.c (command_handler): Likewise.

        * gdb.base/selftest.exp: Next over lim_at_start initialization.
This commit is contained in:
Richard Henderson 2003-06-02 16:02:59 +00:00
parent f6347e1633
commit 6dd77b815f
7 changed files with 31 additions and 12 deletions

View File

@ -1,3 +1,11 @@
2003-06-02 Richard Henderson <rth@redhat.com>
* top.h (lim_at_start): Declare.
* main.c (captured_main): Set it.
* top.c (lim_at_start): Define.
(command_loop): Use it instead of &environ.
* event-top.c (command_handler): Likewise.
2003-06-01 Jason Thorpe <thorpej@wasabisystems.com>
* mipsnbsd-tdep.c: Update copyright years.

View File

@ -492,10 +492,8 @@ command_handler (char *command)
if (display_space)
{
#ifdef HAVE_SBRK
extern char **environ;
char *lim = (char *) sbrk (0);
space_at_cmd_start = (long) (lim - (char *) &environ);
space_at_cmd_start = lim - lim_at_start;
#endif
}
@ -538,9 +536,8 @@ command_handler (char *command)
if (display_space)
{
#ifdef HAVE_SBRK
extern char **environ;
char *lim = (char *) sbrk (0);
long space_now = lim - (char *) &environ;
long space_now = lim - lim_at_start;
long space_diff = space_now - space_at_cmd_start;
printf_unfiltered ("Space used: %ld (%c%ld for this command)\n",
@ -577,9 +574,8 @@ command_line_handler_continuation (struct continuation_arg *arg)
if (display_space)
{
#ifdef HAVE_SBRK
extern char **environ;
char *lim = (char *) sbrk (0);
long space_now = lim - (char *) &environ;
long space_now = lim - lim_at_start;
long space_diff = space_now - space_at_cmd_start;
printf_unfiltered ("Space used: %ld (%c%ld for this command)\n",

View File

@ -168,6 +168,10 @@ captured_main (void *data)
/* This needs to happen before the first use of malloc. */
init_malloc (NULL);
#ifdef HAVE_SBRK
lim_at_start = (char *) sbrk (0);
#endif
#if defined (ALIGN_STACK_ON_STARTUP)
i = (int) &count & 0x3;
if (i != 0)

View File

@ -1,3 +1,7 @@
2003-06-02 Richard Henderson <rth@redhat.com>
* gdb.base/selftest.exp: Next over lim_at_start initialization.
2003-06-02 Richard Henderson <rth@redhat.com>
* gdb.base/dump.exp [alpha*-*-*]: Add -taso linker switch.

View File

@ -115,6 +115,10 @@ proc do_steps_and_nexts {} {
set description "next over init_malloc and everything it calls"
set command "next"
}
-re ".*lim_at_start.*$gdb_prompt $" {
set description "next over lim_at_start initialization"
set command "next"
}
-re ".*count . 0x3.*$gdb_prompt $" {
set description "next over conditional stack alignment code 1"
set command "next"

View File

@ -171,6 +171,11 @@ int target_executing = 0;
/* Level of control structure. */
static int control_level;
/* Sbrk location on entry to main. Used for statistics only. */
#ifdef HAVE_SBRK
char *lim_at_start;
#endif
/* Signal to catch ^Z typed while reading a command: SIGTSTP or SIGCONT. */
#ifndef STOP_SIGNAL
@ -782,10 +787,8 @@ command_loop (void)
if (display_space)
{
#ifdef HAVE_SBRK
extern char **environ;
char *lim = (char *) sbrk (0);
space_at_cmd_start = (long) (lim - (char *) &environ);
space_at_cmd_start = lim - lim_at_start;
#endif
}
@ -805,9 +808,8 @@ command_loop (void)
if (display_space)
{
#ifdef HAVE_SBRK
extern char **environ;
char *lim = (char *) sbrk (0);
long space_now = lim - (char *) &environ;
long space_now = lim - lim_at_start;
long space_diff = space_now - space_at_cmd_start;
printf_unfiltered ("Space used: %ld (%c%ld for this command)\n",

View File

@ -70,5 +70,6 @@ extern char *source_error;
extern char *source_pre_error;
extern int history_expansion_p;
extern int server_command;
extern char *lim_at_start;
#endif