* Using gnulib's alloca-opt module in Emacs
@ 2011-06-21 17:33 Paul Eggert
2011-06-21 20:15 ` Eli Zaretskii
0 siblings, 1 reply; 2+ messages in thread
From: Paul Eggert @ 2011-06-21 17:33 UTC (permalink / raw
To: Emacs Development
I plan to install the following patch, to port Emacs's use of alloca
a bit better to some rarely-used machines, and to simplify Emacs proper
by having it borrow more from gnulib. This may affect the Windows build
so I'm giving a heads-up here.
Most of this patch is automatically-generated: the files I modified by
hand are Makefile.in, configure.in, and .bzrignore.
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: eggert@cs.ucla.edu-20110621171010-8dmf1qn2uixwhvev
# target_branch: bzr+ssh://eggert@bzr.savannah.gnu.org/emacs/trunk
# testament_sha1: 6518c0208f2cbe054b79341eef0ba1e7b78e3972
# timestamp: 2011-06-21 10:24:07 -0700
# base_revision_id: eggert@cs.ucla.edu-20110621164756-vxcfvui32zhe01pr
#
# Begin patch
=== modified file '.bzrignore'
--- .bzrignore 2011-05-20 09:54:04 +0000
+++ .bzrignore 2011-06-21 16:15:07 +0000
@@ -47,6 +47,7 @@
lib/.deps/
lib/Makefile.in
lib/deps/
+lib/alloca.h
lib/arg-nonnull.h
lib/c++defs.h
lib/getopt.h
=== modified file 'ChangeLog'
--- ChangeLog 2011-06-21 08:45:39 +0000
+++ ChangeLog 2011-06-21 17:10:10 +0000
@@ -1,3 +1,14 @@
+2011-06-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use gnulib's alloca-opt module.
+ * .bzrignore: Add lib/alloca.h.
+ * Makefile.in (GNULIB_MODULES): Add alloca-opt.
+ * configure.in (AC_FUNC_ALLOCA): Remove almost all the alloca stuff,
+ as gnulib now does that for us. Put alloca check in config.h.
+ Include <alloca.h> before any other include file, for AIX 3.
+ * lib/gnulib.mk, m4/gl-comp.m4: Regenerate.
+ * lib/alloca.in.h, m4/alloca.m4: New files, from gnulib.
+
2011-06-21 Leo Liu <sdl.web@gmail.com>
* m4/sha256.m4:
=== modified file 'Makefile.in'
--- Makefile.in 2011-06-21 08:45:39 +0000
+++ Makefile.in 2011-06-21 16:15:07 +0000
@@ -332,6 +332,7 @@
# $(gnulib_srcdir) (relative to $(srcdir) and should have build tools
# as per $(gnulib_srcdir)/DEPENDENCIES.
GNULIB_MODULES = \
+ alloca-opt \
careadlinkat crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr \
filemode getloadavg getopt-gnu ignore-value intprops lstat mktime readlink \
socklen stdarg stdio strftime strtoumax symlink sys_stat
=== modified file 'configure.in'
--- configure.in 2011-06-17 17:32:58 +0000
+++ configure.in 2011-06-21 17:10:10 +0000
@@ -990,7 +990,7 @@
## If user specified a crt-dir, use that unconditionally.
if test "X$CRT_DIR" = "X"; then
-
+
case "$canonical" in
x86_64-*-linux-gnu* | s390x-*-linux-gnu*)
## On x86-64 and s390x GNU/Linux distributions, the standard library
@@ -2565,15 +2565,6 @@
AC_DEFINE(HAVE_H_ERRNO, 1, [Define to 1 if netdb.h declares h_errno.])
fi
-AC_FUNC_ALLOCA
-
-dnl src/alloca.c has been removed. Could also check if $ALLOCA is set?
-dnl FIXME is there an autoconf test that does the right thing, without
-dnl needing to call A_M_E afterwards?
-if test x"$ac_cv_func_alloca_works" != xyes; then
- AC_MSG_ERROR( [a system implementation of alloca is required] )
-fi
-
# fmod, logb, and frexp are found in -lm on most systems.
# On HPUX 9.01, -lm does not contain logb, so check for sqrt.
AC_CHECK_LIB(m, sqrt)
@@ -3459,6 +3450,12 @@
])dnl
AH_BOTTOM([
+/* On AIX 3 this must be included before any other include file. */
+#include <alloca.h>
+#if ! HAVE_ALLOCA
+# error "alloca not available on this machine"
+#endif
+
/* Define AMPERSAND_FULL_NAME if you use the convention
that & in the full name stands for the login id. */
/* Turned on June 1996 supposing nobody will mind it. */
@@ -3535,20 +3532,6 @@
#include <string.h>
#include <stdlib.h>
-#ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-#elif defined __GNUC__
-# define alloca __builtin_alloca
-#elif defined _AIX
-# define alloca __alloca
-#else
-# include <stddef.h>
-# ifdef __cplusplus
-extern "C"
-# endif
-void *alloca (size_t);
-#endif
-
#ifndef HAVE_STRCHR
#define strchr(a, b) index (a, b)
#endif
=== added file 'lib/alloca.in.h'
--- lib/alloca.in.h 1970-01-01 00:00:00 +0000
+++ lib/alloca.in.h 2011-06-21 16:15:07 +0000
@@ -0,0 +1,56 @@
+/* Memory allocation on the stack.
+
+ Copyright (C) 1995, 1999, 2001-2004, 2006-2011 Free Software Foundation,
+ Inc.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public
+ License along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ USA. */
+
+/* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H
+ means there is a real alloca function. */
+#ifndef _GL_ALLOCA_H
+#define _GL_ALLOCA_H
+
+/* alloca (N) returns a pointer to N bytes of memory
+ allocated on the stack, which will last until the function returns.
+ Use of alloca should be avoided:
+ - inside arguments of function calls - undefined behaviour,
+ - in inline functions - the allocation may actually last until the
+ calling function returns,
+ - for huge N (say, N >= 65536) - you never know how large (or small)
+ the stack is, and when the stack cannot fulfill the memory allocation
+ request, the program just crashes.
+ */
+
+#ifndef alloca
+# ifdef __GNUC__
+# define alloca __builtin_alloca
+# elif defined _AIX
+# define alloca __alloca
+# elif defined _MSC_VER
+# include <malloc.h>
+# define alloca _alloca
+# elif defined __DECC && defined __VMS
+# define alloca __ALLOCA
+# else
+# include <stddef.h>
+# ifdef __cplusplus
+extern "C"
+# endif
+void *alloca (size_t);
+# endif
+#endif
+
+#endif /* _GL_ALLOCA_H */
=== modified file 'lib/gnulib.mk'
--- lib/gnulib.mk 2011-06-21 08:45:39 +0000
+++ lib/gnulib.mk 2011-06-21 16:15:07 +0000
@@ -9,7 +9,7 @@
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=. --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files careadlinkat crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr filemode getloadavg getopt-gnu ignore-value intprops lstat mktime readlink socklen stdarg stdio strftime strtoumax symlink sys_stat
+# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=. --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt careadlinkat crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr filemode getloadavg getopt-gnu ignore-value intprops lstat mktime readlink socklen stdarg stdio strftime strtoumax symlink sys_stat
MOSTLYCLEANFILES += core *.stackdump
@@ -21,6 +21,29 @@
libgnu_a_DEPENDENCIES = $(gl_LIBOBJS)
EXTRA_libgnu_a_SOURCES =
+## begin gnulib module alloca-opt
+
+BUILT_SOURCES += $(ALLOCA_H)
+
+# We need the following in order to create <alloca.h> when the system
+# doesn't have one that works with the given compiler.
+if GL_GENERATE_ALLOCA_H
+alloca.h: alloca.in.h $(top_builddir)/config.status
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ cat $(srcdir)/alloca.in.h; \
+ } > $@-t && \
+ mv -f $@-t $@
+else
+alloca.h: $(top_builddir)/config.status
+ rm -f $@
+endif
+MOSTLYCLEANFILES += alloca.h alloca.h-t
+
+EXTRA_DIST += alloca.in.h
+
+## end gnulib module alloca-opt
+
## begin gnulib module allocator
libgnu_a_SOURCES += allocator.c
=== added file 'm4/alloca.m4'
--- m4/alloca.m4 1970-01-01 00:00:00 +0000
+++ m4/alloca.m4 2011-06-21 16:15:07 +0000
@@ -0,0 +1,121 @@
+# alloca.m4 serial 12
+dnl Copyright (C) 2002-2004, 2006-2007, 2009-2011 Free Software Foundation,
+dnl Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_ALLOCA],
+[
+ AC_REQUIRE([AC_FUNC_ALLOCA])
+ if test $ac_cv_func_alloca_works = no; then
+ gl_PREREQ_ALLOCA
+ fi
+
+ # Define an additional variable used in the Makefile substitution.
+ if test $ac_cv_working_alloca_h = yes; then
+ AC_CACHE_CHECK([for alloca as a compiler built-in], [gl_cv_rpl_alloca], [
+ AC_EGREP_CPP([Need own alloca], [
+#if defined __GNUC__ || defined _AIX || defined _MSC_VER
+ Need own alloca
+#endif
+ ], [gl_cv_rpl_alloca=yes], [gl_cv_rpl_alloca=no])
+ ])
+ if test $gl_cv_rpl_alloca = yes; then
+ dnl OK, alloca can be implemented through a compiler built-in.
+ AC_DEFINE([HAVE_ALLOCA], [1],
+ [Define to 1 if you have 'alloca' after including <alloca.h>,
+ a header that may be supplied by this distribution.])
+ ALLOCA_H=alloca.h
+ else
+ dnl alloca exists as a library function, i.e. it is slow and probably
+ dnl a memory leak. Don't define HAVE_ALLOCA in this case.
+ ALLOCA_H=
+ fi
+ else
+ ALLOCA_H=alloca.h
+ fi
+ AC_SUBST([ALLOCA_H])
+ AM_CONDITIONAL([GL_GENERATE_ALLOCA_H], [test -n "$ALLOCA_H"])
+])
+
+# Prerequisites of lib/alloca.c.
+# STACK_DIRECTION is already handled by AC_FUNC_ALLOCA.
+AC_DEFUN([gl_PREREQ_ALLOCA], [:])
+
+# This works around a bug in autoconf <= 2.68.
+# See <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00277.html>.
+
+m4_version_prereq([2.69], [] ,[
+
+# This is taken from the following Autoconf patch:
+# http://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=6cd9f12520b0d6f76d3230d7565feba1ecf29497
+
+# _AC_LIBOBJ_ALLOCA
+# -----------------
+# Set up the LIBOBJ replacement of `alloca'. Well, not exactly
+# AC_LIBOBJ since we actually set the output variable `ALLOCA'.
+# Nevertheless, for Automake, AC_LIBSOURCES it.
+m4_define([_AC_LIBOBJ_ALLOCA],
+[# The SVR3 libPW and SVR4 libucb both contain incompatible functions
+# that cause trouble. Some versions do not even contain alloca or
+# contain a buggy version. If you still want to use their alloca,
+# use ar to extract alloca.o from them instead of compiling alloca.c.
+AC_LIBSOURCES(alloca.c)
+AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])dnl
+AC_DEFINE(C_ALLOCA, 1, [Define to 1 if using `alloca.c'.])
+
+AC_CACHE_CHECK(whether `alloca.c' needs Cray hooks, ac_cv_os_cray,
+[AC_EGREP_CPP(webecray,
+[#if defined CRAY && ! defined CRAY2
+webecray
+#else
+wenotbecray
+#endif
+], ac_cv_os_cray=yes, ac_cv_os_cray=no)])
+if test $ac_cv_os_cray = yes; then
+ for ac_func in _getb67 GETB67 getb67; do
+ AC_CHECK_FUNC($ac_func,
+ [AC_DEFINE_UNQUOTED(CRAY_STACKSEG_END, $ac_func,
+ [Define to one of `_getb67', `GETB67',
+ `getb67' for Cray-2 and Cray-YMP
+ systems. This function is required for
+ `alloca.c' support on those systems.])
+ break])
+ done
+fi
+
+AC_CACHE_CHECK([stack direction for C alloca],
+ [ac_cv_c_stack_direction],
+[AC_RUN_IFELSE([AC_LANG_SOURCE(
+[AC_INCLUDES_DEFAULT
+int
+find_stack_direction (int *addr, int depth)
+{
+ int dir, dummy = 0;
+ if (! addr)
+ addr = &dummy;
+ *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
+ dir = depth ? find_stack_direction (addr, depth - 1) : 0;
+ return dir + dummy;
+}
+
+int
+main (int argc, char **argv)
+{
+ return find_stack_direction (0, argc + !argv + 20) < 0;
+}])],
+ [ac_cv_c_stack_direction=1],
+ [ac_cv_c_stack_direction=-1],
+ [ac_cv_c_stack_direction=0])])
+AH_VERBATIM([STACK_DIRECTION],
+[/* If using the C implementation of alloca, define if you know the
+ direction of stack growth for your system; otherwise it will be
+ automatically deduced at runtime.
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown */
+@%:@undef STACK_DIRECTION])dnl
+AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction)
+])# _AC_LIBOBJ_ALLOCA
+])
=== modified file 'm4/gl-comp.m4'
--- m4/gl-comp.m4 2011-06-21 08:45:39 +0000
+++ m4/gl-comp.m4 2011-06-21 16:15:07 +0000
@@ -26,6 +26,7 @@
m4_pattern_allow([^gl_LIBOBJS$])dnl a variable
m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
AC_REQUIRE([AC_PROG_RANLIB])
+ # Code from module alloca-opt:
# Code from module allocator:
# Code from module arg-nonnull:
# Code from module c++defs:
@@ -94,6 +95,7 @@
m4_pushdef([gl_LIBSOURCES_DIR], [])
gl_COMMON
gl_source_base='lib'
+gl_FUNC_ALLOCA
AC_CHECK_FUNCS_ONCE([readlinkat])
gl_MD5
gl_SHA1
@@ -392,6 +394,7 @@
build-aux/arg-nonnull.h
build-aux/c++defs.h
build-aux/warn-on-use.h
+ lib/alloca.in.h
lib/allocator.c
lib/allocator.h
lib/careadlinkat.c
@@ -445,6 +448,7 @@
lib/unistd.in.h
lib/verify.h
m4/00gnulib.m4
+ m4/alloca.m4
m4/c-strtod.m4
m4/extensions.m4
m4/filemode.m4
# Begin bundle
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
//xdyRThQkLeF9bo
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Using gnulib's alloca-opt module in Emacs
2011-06-21 17:33 Using gnulib's alloca-opt module in Emacs Paul Eggert
@ 2011-06-21 20:15 ` Eli Zaretskii
0 siblings, 0 replies; 2+ messages in thread
From: Eli Zaretskii @ 2011-06-21 20:15 UTC (permalink / raw
To: Paul Eggert; +Cc: emacs-devel
> Date: Tue, 21 Jun 2011 10:33:32 -0700
> From: Paul Eggert <eggert@cs.ucla.edu>
>
> I plan to install the following patch, to port Emacs's use of alloca
> a bit better to some rarely-used machines, and to simplify Emacs proper
> by having it borrow more from gnulib. This may affect the Windows build
> so I'm giving a heads-up here.
Thanks. I don't thing the Windows build will be affected because none
of the Emacs source files were modified, AFAICT.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-06-21 20:15 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-21 17:33 Using gnulib's alloca-opt module in Emacs Paul Eggert
2011-06-21 20:15 ` Eli Zaretskii
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.