mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-24 04:29:49 +00:00
merge from gcc
This commit is contained in:
parent
66491ebcb7
commit
4938384a1f
@ -1,3 +1,7 @@
|
||||
2003-02-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* libiberty.h (physmem_total, physmem_available): Prototype.
|
||||
|
||||
2003-02-20 Daniel Jacobowitz <drow@mvista.com>
|
||||
|
||||
* libiberty.h (lrealpath): Add declaration.
|
||||
|
@ -246,6 +246,10 @@ extern char *xstrdup PARAMS ((const char *)) ATTRIBUTE_MALLOC;
|
||||
|
||||
extern PTR xmemdup PARAMS ((const PTR, size_t, size_t)) ATTRIBUTE_MALLOC;
|
||||
|
||||
/* Physical memory routines. */
|
||||
extern double physmem_total PARAMS ((void));
|
||||
extern double physmem_available PARAMS ((void));
|
||||
|
||||
/* hex character manipulation routines */
|
||||
|
||||
#define _hex_array_size 256
|
||||
|
@ -1,3 +1,13 @@
|
||||
2003-02-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* Makefile.in (CFILES): Add physmem.c.
|
||||
(REQUIRED_OFILES): Add physmem.o.
|
||||
* configure.in: Check for sys/pstat.h.
|
||||
(checkfuncs): Add pstat_getstatic and pstat_getdynamic.
|
||||
* physmem.c: New file, copied from textutils.
|
||||
|
||||
* config.in, configure: Regenerated.
|
||||
|
||||
2003-02-20 Daniel Jacobowitz <drow@mvista.com>
|
||||
|
||||
* Makefile.in (CFILES): Add lrealpath.c.
|
||||
|
@ -145,7 +145,7 @@ CFILES = alloca.c argv.c asprintf.c atexit.c \
|
||||
partition.c \
|
||||
pex-djgpp.c pex-mpw.c pex-msdos.c pex-os2.c \
|
||||
pex-unix.c pex-win32.c \
|
||||
putenv.c \
|
||||
physmem.c putenv.c \
|
||||
random.c regex.c rename.c rindex.c \
|
||||
safe-ctype.c setenv.c sigsetmask.c sort.c spaces.c \
|
||||
splay-tree.c strcasecmp.c strchr.c strdup.c strerror.c \
|
||||
@ -170,7 +170,7 @@ REQUIRED_OFILES = regex.o cplus-dem.o cp-demangle.o md5.o \
|
||||
make-relative-prefix.o \
|
||||
make-temp-file.o \
|
||||
objalloc.o obstack.o \
|
||||
partition.o @pexecute@ \
|
||||
partition.o physmem.o @pexecute@ \
|
||||
safe-ctype.o sort.o spaces.o splay-tree.o strerror.o \
|
||||
strsignal.o \
|
||||
ternary.o \
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* config.in. Generated automatically from configure.in by autoheader 2.13. */
|
||||
/* config.in. Generated automatically from configure.in by autoheader. */
|
||||
|
||||
/* Define to empty if the keyword does not work. */
|
||||
#undef const
|
||||
@ -222,6 +222,9 @@
|
||||
/* Define if you have the <sys/param.h> header file. */
|
||||
#undef HAVE_SYS_PARAM_H
|
||||
|
||||
/* Define if you have the <sys/pstat.h> header file. */
|
||||
#undef HAVE_SYS_PSTAT_H
|
||||
|
||||
/* Define if you have the <sys/resource.h> header file. */
|
||||
#undef HAVE_SYS_RESOURCE_H
|
||||
|
||||
|
4
libiberty/configure
vendored
4
libiberty/configure
vendored
@ -1356,7 +1356,7 @@ else
|
||||
fi
|
||||
echo "$ac_t""$CPP" 1>&6
|
||||
|
||||
for ac_hdr in sys/file.h sys/param.h limits.h stdlib.h string.h unistd.h strings.h sys/time.h time.h sys/resource.h sys/stat.h sys/mman.h fcntl.h alloca.h
|
||||
for ac_hdr in sys/file.h sys/param.h limits.h stdlib.h string.h unistd.h strings.h sys/time.h time.h sys/resource.h sys/stat.h sys/mman.h fcntl.h alloca.h sys/pstat.h
|
||||
do
|
||||
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
|
||||
@ -1738,7 +1738,7 @@ funcs="$funcs waitpid"
|
||||
vars="sys_errlist sys_nerr sys_siglist"
|
||||
|
||||
checkfuncs="getrusage on_exit psignal strerror strsignal sysconf times sbrk gettimeofday"
|
||||
checkfuncs="$checkfuncs realpath canonicalize_file_name"
|
||||
checkfuncs="$checkfuncs realpath canonicalize_file_name pstat_getstatic pstat_getdynamic"
|
||||
|
||||
# These are neither executed nor required, but they help keep
|
||||
# autoheader happy without adding a bunch of text to acconfig.h.
|
||||
|
@ -142,7 +142,7 @@ AC_SUBST_FILE(host_makefile_frag)
|
||||
# It's OK to check for header files. Although the compiler may not be
|
||||
# able to link anything, it had better be able to at least compile
|
||||
# something.
|
||||
AC_CHECK_HEADERS(sys/file.h sys/param.h limits.h stdlib.h string.h unistd.h strings.h sys/time.h time.h sys/resource.h sys/stat.h sys/mman.h fcntl.h alloca.h)
|
||||
AC_CHECK_HEADERS(sys/file.h sys/param.h limits.h stdlib.h string.h unistd.h strings.h sys/time.h time.h sys/resource.h sys/stat.h sys/mman.h fcntl.h alloca.h sys/pstat.h)
|
||||
AC_HEADER_SYS_WAIT
|
||||
AC_HEADER_TIME
|
||||
|
||||
@ -207,7 +207,7 @@ funcs="$funcs waitpid"
|
||||
vars="sys_errlist sys_nerr sys_siglist"
|
||||
|
||||
checkfuncs="getrusage on_exit psignal strerror strsignal sysconf times sbrk gettimeofday"
|
||||
checkfuncs="$checkfuncs realpath canonicalize_file_name"
|
||||
checkfuncs="$checkfuncs realpath canonicalize_file_name pstat_getstatic pstat_getdynamic"
|
||||
|
||||
# These are neither executed nor required, but they help keep
|
||||
# autoheader happy without adding a bunch of text to acconfig.h.
|
||||
|
92
libiberty/physmem.c
Normal file
92
libiberty/physmem.c
Normal file
@ -0,0 +1,92 @@
|
||||
/* Calculate the size of physical memory.
|
||||
Copyright 2000, 2001 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 2, 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, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* Written by Paul Eggert. */
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_SYS_PSTAT_H
|
||||
# include <sys/pstat.h>
|
||||
#endif
|
||||
|
||||
/* Return the total amount of physical memory. */
|
||||
double
|
||||
physmem_total (void)
|
||||
{
|
||||
#if defined _SC_PHYS_PAGES && defined _SC_PAGESIZE
|
||||
{
|
||||
double pages = sysconf (_SC_PHYS_PAGES);
|
||||
double pagesize = sysconf (_SC_PAGESIZE);
|
||||
if (0 <= pages && 0 <= pagesize)
|
||||
return pages * pagesize;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if HAVE_PSTAT_GETSTATIC
|
||||
{
|
||||
struct pst_static pss;
|
||||
if (0 <= pstat_getstatic (&pss, sizeof pss, 1, 0))
|
||||
{
|
||||
double pages = pss.physical_memory;
|
||||
double pagesize = pss.page_size;
|
||||
if (0 <= pages && 0 <= pagesize)
|
||||
return pages * pagesize;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Return 0 if we can't determine the value. */
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Return the amount of physical memory available. */
|
||||
double
|
||||
physmem_available (void)
|
||||
{
|
||||
#if defined _SC_AVPHYS_PAGES && defined _SC_PAGESIZE
|
||||
{
|
||||
double pages = sysconf (_SC_AVPHYS_PAGES);
|
||||
double pagesize = sysconf (_SC_PAGESIZE);
|
||||
if (0 <= pages && 0 <= pagesize)
|
||||
return pages * pagesize;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC
|
||||
{
|
||||
struct pst_static pss;
|
||||
struct pst_dynamic psd;
|
||||
if (0 <= pstat_getstatic (&pss, sizeof pss, 1, 0)
|
||||
&& 0 <= pstat_getdynamic (&psd, sizeof psd, 1, 0))
|
||||
{
|
||||
double pages = psd.psd_free;
|
||||
double pagesize = pss.page_size;
|
||||
if (0 <= pages && 0 <= pagesize)
|
||||
return pages * pagesize;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Guess 25% of physical memory. */
|
||||
return physmem_total () / 4;
|
||||
}
|
Loading…
Reference in New Issue
Block a user