Subject: Re: bug#17598: Emacs pretest 24.3.91 - AIX - SIGSEV when customize

From: Dmitry Antipov <[email-masked]>
Date: Fri, 30 May 2014 14:41:34 +0400

Can you try the development trunk as well? Since I guess you have no bzr, there is
a link to recently enough tarball: http://37.139.80.10/tmp/trunk-r117204.tgz.

First, try to compile as usual, i.e.

CFLAGS='-O0 -g3' ./configure --enable-checking

If that fails, try to use system malloc by applying an attached patch. This requires
you to regenerate build files with 'sh autogen.sh', which means that you will need
recently enough autoconf, automake and m4:

http://www.oss4aix.org/download/RPMS/autoconf/autoconf-2.69-1.aix5.1.ppc.rpm
http://www.oss4aix.org/download/RPMS/automake/automake-1.14.1-1.aix5.1.ppc.rpm
http://www.oss4aix.org/download/RPMS/m4/m4-1.4.17-1.aix5.1.ppc.rpm

(after installing, make sure /usr/bin/m4 is symlinked to /opt/freeware/bin/m4).

With system malloc, dumped executable will not work. But temacs should, and
you should be able to try it with MALLOCTYPE and MALLOCDEBUG.

Dmitry

=== modified file 'configure.ac'
--- configure.ac	2014-05-29 23:13:32 +0000
+++ configure.ac	2014-05-30 10:28:04 +0000
@@ -1975,6 +1975,8 @@
 case "$opsys" in
   ## darwin ld insists on the use of malloc routines in the System framework.
   darwin|mingw32|sol2-10) system_malloc=yes ;;
+  ## experimental
+  aix4-2) system_malloc=yes ;;
 esac
 
 GMALLOC_OBJ=

=== modified file 'src/lisp.h'
--- src/lisp.h	2014-05-30 07:40:29 +0000
+++ src/lisp.h	2014-05-30 10:28:04 +0000
@@ -72,7 +72,7 @@
    2.  We know malloc returns a multiple of 8.  */
 #if (defined alignas \
      && (defined GNU_MALLOC || defined DOUG_LEA_MALLOC || defined __GLIBC__ \
-	 || defined DARWIN_OS || defined __sun || defined __MINGW32__))
+	 || defined DARWIN_OS || defined __sun || defined _AIX || defined __MINGW32__))
 # define NONPOINTER_BITS 0
 #else
 # define NONPOINTER_BITS GCTYPEBITS