OSDN Git Service

* alloca-conf.h (alloca) [C_ALLOCA]: Don't use Gcc builtin
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 27 Sep 1999 17:45:52 +0000 (17:45 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 27 Sep 1999 17:45:52 +0000 (17:45 +0000)
        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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29680 138bc75d-0d04-0410-961f-82ee72b054a4

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 6b6a643..d5c865f 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 4eb87d3..9c3eea3 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 8d26540..db2509c 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 248aa13..814c9eb 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 c7a33d7..b855ea6 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;