mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-05 23:23:09 +00:00
For a long time, Fedora has been carrying an out-of-tree patch with a similar test to the one proposed in this patch, that ensures that the memory requirements don't grow with the inferior's memory. It's been so long that the context for why this test exists has been lost, but it looked like it could be interesting for upstream. The test runs twice, once with the inferior allocating 4Mb of memory, and the other allocating 64Mb. My plan was to find the rate at which things increase based on inferior size, and have that tested to ensure we're not growing that requirement accidentally, but my testing actually showed memory requirements going down as the inferior increases, so instead I just hardcoded that we need less than 2Mb for the command, and it can be tweaked later if necessary. Approved-By: Tom Tromey <tom@tromey.com>
54 lines
1.6 KiB
C
54 lines
1.6 KiB
C
/* This testcase is part of GDB, the GNU debugger.
|
|
|
|
Copyright 2025 Free Software Foundation, Inc.
|
|
|
|
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 3 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, see <http://www.gnu.org/licenses/>. */
|
|
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <unistd.h>
|
|
|
|
int spin = 1;
|
|
|
|
int
|
|
main (int argc, char **argv)
|
|
{
|
|
/* Small quality of life thing for people re-running tests
|
|
manually. */
|
|
if (argc < 2)
|
|
{
|
|
printf("Usage: %s [Megs]", argv[0]);
|
|
return 1;
|
|
}
|
|
/* Use argv to calculate how many megabytes to allocate.
|
|
Do this to see how much gcore memory usage increases
|
|
based on inferior dynamic memory. */
|
|
int megs = atoi (argv[1]);
|
|
char *p = malloc (megs * 1024 * 1024);
|
|
|
|
/* Setup an alarm, in case something goes wrong with testing. */
|
|
alarm (300);
|
|
|
|
/* Wait a long time so GDB can attach to this.
|
|
We need to have the second statement inside of the loop
|
|
to sidestep PR breakpoints/32744. */
|
|
while (spin)
|
|
sleep (1);/* TAG: BREAK HERE */
|
|
|
|
/* Let's be nice citizens :). */
|
|
free (p);
|
|
return 0;
|
|
}
|