1 2002-07-15 Bruno Haible <bruno@clisp.org>
3 * sigsegv.h.in (HAVE_STACK_OVERFLOW_RECOVERY): Define also on FreeBSD.
4 (stackoverflow_context_t): Define as 'struct sigcontext *' on FreeBSD.
5 * handler.c (SIGSEGV_ALL_SIGNALS) [FreeBSD]: Add SIGSEGV; this is the
6 signal that gets sent on stack overflow.
7 (get_vma) [FreeBSD]: New.
8 (reset_onstack_flag) [FreeBSD]: New .
10 2002-05-07 Paolo Bonzini <bonzini@gnu.org>
12 * sigsegv.h.in [__hpux, hpux]: Define HAVE_SIGSEGV_RECOVERY.
13 * handler.c (UNIX_HPUX) [__hpux, hpux]: New macro.
14 Define the hacks to access CR21.
15 * test1.c (mmap_zeromap): Return the address.
16 (handler): Don't hardcode the correct fault address.
17 (main): Set page to the result of mmap_zeromap.
18 * test2.c (mmap_zeromap): Return the address.
19 (main): Set area1/area2/area3 to the result of mmap_zeromap.
21 2002-05-06 Bruno Haible <bruno@clisp.org>
23 * test1.c: Include <stdlib.h>, for exit().
27 2002-04-28 Bruno Haible <bruno@clisp.org>
29 * Makefile.devel (ACLOCAL): Remove variable.
30 (ACSELECT): Remove variable.
31 (OTHERMACROS): Remove variable.
33 (autoconf/aclocal.m4): Construct using aclocal instead of acselect.
35 2001-08-25 Bruno Haible <haible@clisp.cons.org>
37 Upgrade to autoconf-2.52.
38 * autoconf/autoconf: Upgrade to autoconf-2.52.
39 * autoconf/acgeneral.m4: Remove file.
40 * autoconf/acspecific.m4: Remove file.
41 * autoconf/autoconf.m4f: New file, from autoconf-2.52.
42 * autoconf/aclocal.m4: Require autoconf-2.52.
43 (CL_CANONICAL_HOST): Call AC_CANONICAL_HOST. Don't cache the result,
44 AC_CANONICAL_HOST does it itself. Add $SHELL in front of
45 $ac_config_guess and $ac_config_sub.
46 (CL_SIGACTION_REINSTALL): Include <string.h>, for memset declaration.
47 * Makefile.devel (AUTOCONF_FILES): Remove acgeneral.m4, acspecific.m4.
49 (configure): Use autoconf options -A, -l instead of -m.
50 * config.h.in: Don't define HAVE_MEMSET.
51 (MPROTECT_CONST, SETRLIMIT_CONST): Use #undef, not #define, to work
52 around an autoconf bug.
54 2001-08-05 Bruno Haible <haible@clisp.cons.org>
56 * autoconf/acgeneral.m4 (AC_MSG_RESULTPROTO): Remove macro.
57 (AC_LANG_EXTERN): Move to aclocal.m4.
58 * autoconf/aclocal.m4 (AC_LANG_EXTERN): Moved here from acgeneral.m4.
59 (CL_PROTO): Use AC_MSG_RESULT directly, instead of AC_MSG_RESULTPROTO.
60 (CL_SILENT): No need to pushdef AC_MSG_RESULTPROTO.
62 2001-06-08 Bruno Haible <haible@clisp.cons.org>
64 * autoconf/ltmain.sh: Upgrade to libtool-1.4.
65 * autoconf/ltconfig: Remove file.
67 2001-06-08 Bruno Haible <haible@clisp.cons.org>
69 * autoconf/config.guess: Update to GNU version 2001-05-11.
70 * autoconf/config.sub: Likewise.
72 2001-05-09 Bruno Haible <haible@clisp.cons.org>
74 * sigsegv.h.in: Recognize __arm__ as CPU indicator on Linux.
75 * handler.c: Likewise.
77 2001-03-19 Bruno Haible <haible@clisp.cons.org>
79 * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Always define
80 ac_config_guess and ac_config_sub. Then ignore requests for
81 AC_CONFIG_AUX_DIR_DEFAULT or AC_CANONICAL_HOST.
83 2001-03-19 Bruno Haible <haible@clisp.cons.org>
85 * ltconfig, ltmain.sh: Upgrade to libtool-1.3.5.
87 2001-02-20 Bruno Haible <haible@clisp.cons.org>
89 * Makefile.in (libdir, includedir): Use the autoconf determined value,
90 in order to respect the configure arguments.
91 (mandir): Remove unused variable.
92 * Makefile.msvc (mandir): LIkewise.
94 * Makefile.in (install, installdirs, uninstall): Support DESTDIR.
96 2000-12-08 Bruno Haible <haible@clisp.cons.org>
98 * Makefile.in (exec_prefix): Use configure's --exec-prefix argument.
100 2000-11-15 Bruno Haible <haible@clisp.cons.org>
102 * Makefile.msvc: Add support for MFLAGS and DEBUG parameters.
104 2000-11-12 Bruno Haible <haible@clisp.cons.org>
106 * autoconf/config.guess, autoconf/config.sub: Upgrade to newest
107 version from GNU CVS.
109 2000-11-08 Bruno Haible <haible@clisp.cons.org>
111 * aclocal.m4 (CL_SIGNAL_UNBLOCK): Enable 'volatile' for gotsig,
113 (CL_SIGNAL_BLOCK_OTHERS): Enable 'volatile' for gotsig,
115 (CL_SIGACTION_UNBLOCK): Enable 'volatile' for gotsig, wasblocked.
117 2000-09-29 Bruno Haible <haible@clisp.cons.org>
119 * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Fix bug in 2000-05-23
122 2000-05-29 Bruno Haible <haible@clisp.cons.org>
124 * autoconf/aclocal.m4 (CL_PROG_INSTALL): Fix typo.
125 Reported by Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
127 2000-05-25 Bruno Haible <haible@clisp.cons.org>
129 * Makefile.msvc: Use 'copy' and 'ren' instead of 'cp' and 'mv'.
131 2000-05-23 Bruno Haible <haible@clisp.cons.org>
133 * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Determine host_cpu,
134 host_vendor, host_os correctly if $host has more than two hyphens.
136 2000-04-02 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
138 Allow building on filesystems lacking symlinks and hard links.
139 * Makefile.devel (autoconf/aclocal.m4): Replace AC_PROG_LN_S with
141 * configure.in: Add CL_PROG_LN_S.
142 * src/Makefile.in (LN): Remove.
144 1999-06-18 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
146 * handler.c (user_handler): Define also on WIN32.
148 1999-06-16 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
150 * sigsegv.h.in (stackoverflow_context_t): More precise definition on
151 Solaris, Irix, OSF/1.
153 1999-05-30 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
155 * Makefile.in (install-lib): New target.
157 1999-05-29 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
159 * Makefile.in (install): Make sure the directories $(prefix) and
160 $(exec_prefix) exist.
162 1999-05-16 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
165 * autoconf/ltconfig, autoconf/ltmain.sh: New files, from libtool-1.2.
166 * Makefile.devel (OTHERMACROS): New macro.
167 (autoconf/aclocal.m4): Add the contents of $(OTHERMACROS).
168 * configure.in: Call CL_CANONICAL_HOST and AM_PROG_LIBTOOL.
169 * Makefile.in (LIBTOOL, LIBTOOL_COMPILE, LIBTOOL_LINK,
170 LIBTOOL_INSTALL, LIBTOOL_UNINSTALL): New macros.
171 (top_builddir): New macro.
172 (OBJECTS): Change .o to .lo.
173 (all): Change .a to .la.
174 (handler.lo): Renamed from handler.o. Use $(LIBTOOL_COMPILE).
175 (dispatcher.lo): Renamed from dispatcher.o. Use $(LIBTOOL_COMPILE).
176 (libsigsegv.la): Renamed from libsigsegv.a. Use $(LIBTOOL_LINK).
177 (install): Use $(LIBTOOL_INSTALL). Copy ./sigsegv.h not
179 (uninstall): Use $(LIBTOOL_UNINSTALL).
180 (test1, test2, test3): Change .a to .la. Use $(LIBTOOL_LINK).
181 (clean): Also remove *.lo *.la .libs _libs.
182 (distclean): Also remove libtool.
184 1999-05-16 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
186 For Linux 2.0.x with glibc2.0.
187 * aclocal.m4 (CL_SIGALTSTACK): Define HAVE_SIGALTSTACK only if the
188 sigaction flags macro SA_ONSTACK is also defined.
190 1999-05-15 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
193 * sigsegv.h.in (HAVE_STACK_OVERFLOW_RECOVERY): Undefine if test3
195 * Makefile.in (SEDPREPARE0, SEDCOMMAND3): New macros.
196 (sigsegv.h): Also try running test3.
198 1999-05-09 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
200 * sigsegv.h.in (HAVE_STACK_OVERFLOW_RECOVERY): Also define on Solaris,
202 * handler.c: Use symbolic UNIX_* macros for various Unix brands.
203 (SIGSEGV_FAULT_HANDLER_ARGLIST, SIGSEGV_ALL_SIGNALS): Define also
204 when HAVE_SIGSEGV_RECOVERY is not defined. Add support for
205 Linux/m68k, Linux/mips, Linux/alpha, Linux/arm.
206 (SIGSEGV_FAULT_CONTEXT, SIGSEGV_FAULT_STACKPOINTER): New macros.
207 (get_vma) [UNIX_LINUX]: No need to initialize prev twice.
208 (reset_onstack_flag) [UNIX_LINUX]: New function.
209 (get_vma, reset_onstack_flag) [UNIX_SUNOS, UNIX_IRIX, UNIX_OSF]: New
211 (sigsegv_leave_handler): If SIGACTION_NEED_UNBLOCK is defined,
212 unblock the signal itself. Call reset_onstack_flag.
213 (stackoverflow_deinstall_handler): Print something if sigaltstack
215 * aclocal.m4 (CL_SIGNAL_UNBLOCK, CL_SIGNAL_BLOCK_OTHERS,
216 CL_SIGACTION_UNBLOCK): Perform the test if either POSIX or BSD
217 signal mask primitives are available. Otherwise,
218 SIGACTION_NEED_UNBLOCK would not be defined on Solaris.
220 1999-05-07 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
222 * test3.c (main): Make more verbose.
224 Avoid a "make check" failure with "cc" on DEC OSF/1 4.0.
225 * test2.c (barrier): New function.
226 (main): Call it at the right moment.
228 * Makefile.in (SEDPREPARE1, SEDCOMMAND2): Don't use # as literal.
229 Only GNU make understands \#, other `make's don't.
231 1999-05-02 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
233 Support for catching stack overflow on Unix, using sigaltstack().
234 * aclocal.m4 (CL_SIGALTSTACK): New macro.
235 * configure.in: Add CL_SIGALTSTACK and CL_RLIMIT.
236 * config.h.in: Add HAVE_SIGALTSTACK, HAVE_SETRLIMIT,
237 RLIMIT_RESOURCE_T, SETRLIMIT_CONST.
238 * Makefile.in (SEDPREPARE1, SEDCOMMAND1, SEDCOMMAND2): New macros.
239 (sigsegv.h): Use them. Depend on config.h.
240 * sigsegv.h.in: Test __linux__ instead of linux.
241 Conditionally define HAVE_STACK_OVERFLOW_RECOVERY for Linux.
242 (sigsegv_handler_t): Add `serious' argument.
243 (stackoverflow_context_t): New type.
244 (stackoverflow_handler_t, stackoverflow_install_handler,
245 stackoverflow_deinstall_handler): Declare unconditionally.
246 (stackoverflow_handler_t): Add `scp' argument.
247 (stackoverflow_install_handler): Change return type to `int'.
248 * handler.c: Test __linux__ instead of linux.
249 Move Win32 section to the end.
250 On Unix, install SIGSEGV handler if HAVE_SIGSEGV_RECOVERY or
251 HAVE_STACK_OVERFLOW_RECOVERY.
252 (vma_struct): New type.
253 (get_vma): New function.
254 (SIGSEGV_FAULT_CONTEXT, SIGSEGV_FAULT_STACKPOINTER): New macros.
255 (stack_top): New variable.
256 (remember_stack_top): New function.
257 (stk_user_handler, stk_extra_stack, stk_extra_stack_size): New
259 (no_user_handler): Remove, use NULL instead.
260 (sigsegv_handler): Extend to support HAVE_STACK_OVERFLOW_RECOVERY.
261 (install_for): Add SA_ONSTACK to sigaction flags if needed.
262 (sigsegv_deinstall_handler): Deinstall handlers only if
263 not needed for stk_user_handler.
264 (stackoverflow_install_handler, stackoverflow_deinstall_handler):
266 (stack_overflow_handler) [WIN32]: Add context argument.
267 (main_exception_filter): Pass context argument.
268 * test1.c (handler): Add `serious' argument.
269 * test2.c (handler): Likewise.
270 * test3.c (stackoverflow_handler): Add `scp' argument. Use
271 sigsegv_leave_handler instead of complicated #ifdef spaghetti.
272 (main): Call setrlimit, to make sure the recursion doesn't kill the
273 machine. If stackoverflow_install_handler returns -1, bypass the
274 test, because it would crash.
276 1999-03-15 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
278 * configure.in: Add CL_CC_GCC.
279 * Makefile.in: Use "-x none" option where appropriate.
280 * dispatcher.c: In C++ mode, don't define a function named `delete'.
282 1999-02-08 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
284 * sigsegv/sigsegv.h.in: Renamed from sigsegv/sigsegv.h.
285 Added "#undef HAVE_SIGSEGV_RECOVERY", commented out.
286 * Makefile.in (sigsegv.h): Try compiling and running test1. If it
287 fails, like on Solaris 2.5 and 2.5.1, uncomment "#undef
288 HAVE_SIGSEGV_RECOVERY".
289 * Makefile.msvc: Update.
291 1999-01-29 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
293 * sigsegv.h [linux && sparc]: Disable HAVE_SIGSEGV_RECOVERY. It does