mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-10 08:52:40 -07:00
Port --enable-gcc-warnings to bleeding-edge glibc
Bleeding-edge glibc sets emacs_cv_var_doug_lea_malloc to 'no'. Do not merge to master. * configure.ac: Check for valloc decl when compiling gmalloc.c. * src/gmalloc.c (emacs_abort) [emacs]: Adjust decl to match what is in lisp.h. Remove duplicate decl. (aligned_alloc): #undef before defining. (aligned_alloc, memalign) [!MSDOS]: Declare. (valloc) [HAVE_DECL_VALLOC]: Remove duplicate decl.
This commit is contained in:
parent
ee04aedc72
commit
7bb5c4f206
2 changed files with 10 additions and 8 deletions
|
|
@ -2158,7 +2158,10 @@ elif test "$hybrid_malloc" = yes; then
|
||||||
GMALLOC_OBJ=gmalloc.o
|
GMALLOC_OBJ=gmalloc.o
|
||||||
VMLIMIT_OBJ=
|
VMLIMIT_OBJ=
|
||||||
else
|
else
|
||||||
test "$doug_lea_malloc" != "yes" && GMALLOC_OBJ=gmalloc.o
|
if test "$doug_lea_malloc" != "yes"; then
|
||||||
|
GMALLOC_OBJ=gmalloc.o
|
||||||
|
AC_CHECK_DECLS([valloc])
|
||||||
|
fi
|
||||||
VMLIMIT_OBJ=vm-limit.o
|
VMLIMIT_OBJ=vm-limit.o
|
||||||
|
|
||||||
AC_CHECK_HEADERS([sys/vlimit.h])
|
AC_CHECK_HEADERS([sys/vlimit.h])
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef emacs
|
#ifdef emacs
|
||||||
extern void emacs_abort (void);
|
extern _Noreturn void emacs_abort (void) NO_INLINE;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* If HYBRID_MALLOC is defined, then temacs will use malloc,
|
/* If HYBRID_MALLOC is defined, then temacs will use malloc,
|
||||||
|
|
@ -59,6 +59,7 @@ extern void emacs_abort (void);
|
||||||
#undef malloc
|
#undef malloc
|
||||||
#undef realloc
|
#undef realloc
|
||||||
#undef calloc
|
#undef calloc
|
||||||
|
#undef aligned_alloc
|
||||||
#undef free
|
#undef free
|
||||||
#define malloc gmalloc
|
#define malloc gmalloc
|
||||||
#define realloc grealloc
|
#define realloc grealloc
|
||||||
|
|
@ -95,9 +96,9 @@ extern void *calloc (size_t nmemb, size_t size) ATTRIBUTE_MALLOC_SIZE ((1,2));
|
||||||
extern void free (void *ptr);
|
extern void free (void *ptr);
|
||||||
|
|
||||||
/* Allocate SIZE bytes allocated to ALIGNMENT bytes. */
|
/* Allocate SIZE bytes allocated to ALIGNMENT bytes. */
|
||||||
#ifdef MSDOS
|
|
||||||
extern void *aligned_alloc (size_t, size_t);
|
extern void *aligned_alloc (size_t, size_t);
|
||||||
extern void *memalign (size_t, size_t);
|
extern void *memalign (size_t, size_t);
|
||||||
|
#ifdef MSDOS
|
||||||
extern int posix_memalign (void **, size_t, size_t);
|
extern int posix_memalign (void **, size_t, size_t);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -106,10 +107,6 @@ extern int posix_memalign (void **, size_t, size_t);
|
||||||
extern void malloc_enable_thread (void);
|
extern void malloc_enable_thread (void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef emacs
|
|
||||||
extern void emacs_abort (void);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* The allocator divides the heap into blocks of fixed size; large
|
/* The allocator divides the heap into blocks of fixed size; large
|
||||||
requests receive one or more whole blocks, and small requests
|
requests receive one or more whole blocks, and small requests
|
||||||
receive a fragment of a block. Fragment sizes are powers of two,
|
receive a fragment of a block. Fragment sizes are powers of two,
|
||||||
|
|
@ -1686,7 +1683,9 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||||
or (US mail) as Mike Haertel c/o Free Software Foundation. */
|
or (US mail) as Mike Haertel c/o Free Software Foundation. */
|
||||||
|
|
||||||
/* Allocate SIZE bytes on a page boundary. */
|
/* Allocate SIZE bytes on a page boundary. */
|
||||||
|
#ifndef HAVE_DECL_VALLOC
|
||||||
extern void *valloc (size_t);
|
extern void *valloc (size_t);
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined _SC_PAGESIZE || !defined HAVE_GETPAGESIZE
|
#if defined _SC_PAGESIZE || !defined HAVE_GETPAGESIZE
|
||||||
# include "getpagesize.h"
|
# include "getpagesize.h"
|
||||||
|
|
@ -1769,7 +1768,7 @@ hybrid_aligned_alloc (size_t alignment, size_t size)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void *
|
void *
|
||||||
hybrid_realloc (void *ptr, size_t size)
|
hybrid_realloc (void *ptr, size_t size)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue