diff options
author | Michael Meissner <meissner@cygnus.com> | 1999-10-05 19:41:35 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 1999-10-05 19:41:35 +0000 |
commit | df231a09701a0d5fe12626582767ea62cd5dd926 (patch) | |
tree | 8c3146b3ed722f11de74d64b4a308f559054891e /gcc | |
parent | dbf08f94a7e5f45d6fbfa1ba461fee95cd3b3b87 (diff) | |
download | gcc-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/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/frame.c | 11 | ||||
-rw-r--r-- | gcc/libgcc2.c | 14 |
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 |