From 2c45d1a04de4cd940c53191e51e2e21ace86e541 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Mon, 27 Sep 1999 10:45:52 -0700 Subject: [PATCH] alloca-conf.h (alloca): Don't use Gcc builtin or . * alloca-conf.h (alloca) [C_ALLOCA]: Don't use Gcc builtin or . * clock.c (GNU_HZ): New definition. (clock): Use it. * getruntime.c: Likewise. * config.table: Use mh-beos. * config/mh-beos: New file. From-SVN: r29680 --- libiberty/ChangeLog | 11 +++++++++++ libiberty/alloca-conf.h | 4 ++-- libiberty/clock.c | 18 +++++++++++++++--- libiberty/config.table | 1 + libiberty/config/mh-beos | 7 +++++++ libiberty/getruntime.c | 18 +++++++++++++++--- 6 files changed, 51 insertions(+), 8 deletions(-) create mode 100644 libiberty/config/mh-beos diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 6b6a6434b9f7..d5c865f82efa 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -181,6 +181,17 @@ Sun Apr 11 23:20:59 1999 Mumit Khan (xcalloc): UWIN has sbrk. (xrealloc): Fix guard macro. +1999-04-11 Richard Henderson + + * alloca-conf.h (alloca) [C_ALLOCA]: Don't use Gcc builtin + or . + * clock.c (GNU_HZ): New definition. + (clock): Use it. + * getruntime.c: Likewise. + + * config.table: Use mh-beos. + * config/mh-beos: New file. + 1999-04-11 Mark Mitchell * cplus-dem.c (demangle_template_value_parm): Handle diff --git a/libiberty/alloca-conf.h b/libiberty/alloca-conf.h index 4eb87d3cfa4d..9c3eea396c19 100644 --- a/libiberty/alloca-conf.h +++ b/libiberty/alloca-conf.h @@ -1,6 +1,6 @@ #include "config.h" -#ifdef __GNUC__ +#if defined(__GNUC__) && !defined(C_ALLOCA) # ifndef alloca # define alloca __builtin_alloca # endif @@ -8,7 +8,7 @@ # ifdef _AIX #pragma alloca # else -# ifdef HAVE_ALLOCA_H +# if defined(HAVE_ALLOCA_H) && !defined(C_ALLOCA) # include # else /* ! defined (HAVE_ALLOCA_H) */ # ifdef __STDC__ diff --git a/libiberty/clock.c b/libiberty/clock.c index 8d265406c390..db2509c17f27 100644 --- a/libiberty/clock.c +++ b/libiberty/clock.c @@ -36,8 +36,20 @@ the executable file might be covered by the GNU General Public License. */ #include #endif -#if defined (HAVE_TIMES) && ! defined (HZ) && defined (CLOCKS_PER_SEC) -#define HZ CLOCKS_PER_SEC +#ifdef HAVE_UNISTD_H +#include +#endif + +#ifdef _SC_CLK_TCK +#define GNU_HZ sysconf(_SC_CLK_TCK) +#else +#ifdef HZ +#define GNU_HZ HZ +#else +#ifdef CLOCKS_PER_SEC +#define GNU_HZ CLOCKS_PER_SEC +#endif +#endif #endif /* FIXME: should be able to declare as clock_t. */ @@ -56,7 +68,7 @@ clock () struct tms tms; times (&tms); - return (tms.tms_utime + tms.tms_stime) * (1000000 / HZ); + return (tms.tms_utime + tms.tms_stime) * (1000000 / GNU_HZ); #else #ifdef VMS struct diff --git a/libiberty/config.table b/libiberty/config.table index 248aa13ae296..814c9eb1d9be 100644 --- a/libiberty/config.table +++ b/libiberty/config.table @@ -6,6 +6,7 @@ case "${host}" in *-*-freebsd2.2.[012]) frag=mh-fbsd21 ;; i370-*-opened*) frag=mh-openedition ;; i[345]86-*-windows*) frag=mh-windows ;; + *-*-beos*) frag=mh-beos ;; esac frags=$frag diff --git a/libiberty/config/mh-beos b/libiberty/config/mh-beos new file mode 100644 index 000000000000..9b75e7d33723 --- /dev/null +++ b/libiberty/config/mh-beos @@ -0,0 +1,7 @@ +# Host makefile fragment for BeOS + +# This is a temporary hack until the wimpy default 64k stack +# limit in BeOS is either increased or made user settable somehow. +# This probably won't happen until after the DR9 release. + +EXTRA_OFILES = alloca.o diff --git a/libiberty/getruntime.c b/libiberty/getruntime.c index c7a33d78d7ce..b855ea6e82f5 100644 --- a/libiberty/getruntime.c +++ b/libiberty/getruntime.c @@ -40,6 +40,10 @@ Boston, MA 02111-1307, USA. */ #include #endif +#ifdef HAVE_UNISTD_H +#include +#endif + /* This is a fallback; if wrong, it will likely make obviously wrong results. */ @@ -47,8 +51,16 @@ Boston, MA 02111-1307, USA. */ #define CLOCKS_PER_SEC 1 #endif -#if defined (HAVE_TIMES) && ! defined (HZ) -#define HZ CLOCKS_PER_SEC +#ifdef _SC_CLK_TCK +#define GNU_HZ sysconf(_SC_CLK_TCK) +#else +#ifdef HZ +#define GNU_HZ HZ +#else +#ifdef CLOCKS_PER_SEC +#define GNU_HZ CLOCKS_PER_SEC +#endif +#endif #endif long @@ -65,7 +77,7 @@ get_run_time () struct tms tms; times (&tms); - return (tms.tms_utime + tms.tms_stime) * (1000000 / HZ); + return (tms.tms_utime + tms.tms_stime) * (1000000 / GNU_HZ); #else /* ! HAVE_TIMES */ /* Fall back on clock and hope it's correctly implemented. */ const long clocks_per_sec = CLOCKS_PER_SEC;