aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMichael Meissner <meissner@cygnus.com>1999-10-05 19:41:35 +0000
committerMichael Meissner <meissner@gcc.gnu.org>1999-10-05 19:41:35 +0000
commitdf231a09701a0d5fe12626582767ea62cd5dd926 (patch)
tree8c3146b3ed722f11de74d64b4a308f559054891e /gcc
parentdbf08f94a7e5f45d6fbfa1ba461fee95cd3b3b87 (diff)
downloadgcc-df231a09701a0d5fe12626582767ea62cd5dd926.zip
gcc-df231a09701a0d5fe12626582767ea62cd5dd926.tar.gz
gcc-df231a09701a0d5fe12626582767ea62cd5dd926.tar.bz2
Declare malloc, free, and atexit if inhibit_libc is defined.
From-SVN: r29829
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/frame.c11
-rw-r--r--gcc/libgcc2.c14
3 files changed, 31 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0da5b3a..46dec8b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+Tue Oct 5 15:37:04 1999 Michael Meissner <meissner@cygnus.com>
+
+ * libgcc2.c (toplevel): If inhibit_libc is defined, declare
+ malloc, free, and atexit. Don't include stddef.h twice.
+
+ * frame.c (toplevel): If inhibit_libc is defined, declare
+ malloc and free.
+
Tue Oct 5 12:00:32 1999 Richard Henderson <rth@cygnus.com>
* flow.c (make_edge): Accept an optional 2D bitmap in which
diff --git a/gcc/frame.c b/gcc/frame.c
index b5f643e..d153960 100644
--- a/gcc/frame.c
+++ b/gcc/frame.c
@@ -1,6 +1,6 @@
/* Subroutines needed for unwinding stack frames for exception handling. */
/* Compile this one with gcc. */
-/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
Contributed by Jason Merrill <jason@cygnus.com>.
This file is part of GNU CC.
@@ -41,6 +41,15 @@ Boston, MA 02111-1307, USA. */
/* fixproto guarantees these system headers exist. */
#include <stdlib.h>
#include <unistd.h>
+
+#else
+#include <stddef.h>
+#ifndef malloc
+extern void *malloc (size_t);
+#endif
+#ifndef free
+extern void free (void *);
+#endif
#endif
#include "defaults.h"
diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c
index 777112c..0cf8c5c 100644
--- a/gcc/libgcc2.c
+++ b/gcc/libgcc2.c
@@ -40,11 +40,23 @@ Boston, MA 02111-1307, USA. */
/* fixproto guarantees these system headers exist. */
#include <stdlib.h>
#include <unistd.h>
+
+#else
+#include <stddef.h>
+#ifndef malloc
+extern void *malloc (size_t);
+#endif
+#ifndef free
+extern void free (void *);
+#endif
+#ifndef atexit
+extern int atexit(void (*)(void));
+#endif
#endif
#include "machmode.h"
#include "defaults.h"
-#ifndef L_trampoline
+#if !defined(L_trampoline) && !defined(inhibit_libc)
#include <stddef.h>
#endif