]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
alloca-conf.h (alloca): Don't use Gcc builtin or <alloca.h>.
authorRichard Henderson <rth@cygnus.com>
Mon, 27 Sep 1999 17:45:52 +0000 (10:45 -0700)
committerJeff Law <law@gcc.gnu.org>
Mon, 27 Sep 1999 17:45:52 +0000 (11:45 -0600)
        * alloca-conf.h (alloca) [C_ALLOCA]: Don't use Gcc builtin
        or <alloca.h>.
        * 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
libiberty/alloca-conf.h
libiberty/clock.c
libiberty/config.table
libiberty/config/mh-beos [new file with mode: 0644]
libiberty/getruntime.c

index 6b6a6434b9f799f5ea66a937c37b68e3b10652ad..d5c865f82efa9f0117262e937f1a21118dc3d423 100644 (file)
@@ -181,6 +181,17 @@ Sun Apr 11 23:20:59 1999  Mumit Khan  <khan@xraylith.wisc.edu>
        (xcalloc): UWIN has sbrk.
        (xrealloc): Fix guard macro.
 
+1999-04-11  Richard Henderson  <rth@cygnus.com>
+
+       * alloca-conf.h (alloca) [C_ALLOCA]: Don't use Gcc builtin
+       or <alloca.h>.
+       * 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  <mark@codesourcery.com>
 
        * cplus-dem.c (demangle_template_value_parm): Handle
index 4eb87d3cfa4dd7d3608190995cf9577127dec49d..9c3eea396c19359acacad49f735999982ec56410 100644 (file)
@@ -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 <alloca.h>
 #  else /* ! defined (HAVE_ALLOCA_H) */
 #   ifdef __STDC__
index 8d265406c3903b6ef74fbb76f02d024e2751de2f..db2509c17f277aaffacd36533797fabcd1d1e037 100644 (file)
@@ -36,8 +36,20 @@ the executable file might be covered by the GNU General Public License. */
 #include <sys/times.h>
 #endif
 
-#if defined (HAVE_TIMES) && ! defined (HZ) && defined (CLOCKS_PER_SEC)
-#define HZ CLOCKS_PER_SEC
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#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
index 248aa13ae2960fcc94233d090f4f8d4dc4eeb9c3..814c9eb1d9befb58df65c43e20b580ac23ed3c64 100644 (file)
@@ -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 (file)
index 0000000..9b75e7d
--- /dev/null
@@ -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
index c7a33d78d7cef7f49a3aeab74964789dbcd55e3c..b855ea6e82f56c35ceb92b9a8724c4d571f6be66 100644 (file)
@@ -40,6 +40,10 @@ Boston, MA 02111-1307, USA.  */
 #include <sys/times.h>
 #endif
 
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#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;