all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Paul Eggert <eggert@cs.ucla.edu>
To: Glenn Morris <rgm@gnu.org>
Cc: Gilles Pion <gilles.pion@gmail.com>, 13650@debbugs.gnu.org
Subject: bug#13650: Emacs pretest 24.2.93 - compilation error on AIX 5.3 using gcc 4.7-2
Date: Wed, 13 Feb 2013 18:49:02 -0800	[thread overview]
Message-ID: <511C509E.80609@cs.ucla.edu> (raw)
In-Reply-To: <97ip5veqly.fsf@fencepost.gnu.org>

[-- Attachment #1: Type: text/plain, Size: 1571 bytes --]

On 02/13/2013 03:33 PM, Glenn Morris wrote:

> since it apparently worked in Emacs 24.2, then in emacs-24
> branch at this stage we should just do the minimum to get
> it back to that working state, and save improvements for trunk.

We can certainly give that a try.  Looking at unexaix.c, the
changes made between 24.2 and 24.2.93 are small.  The first
change to unexaix.c, in emacs-24 bzr 108226
<http://bzr.savannah.gnu.org/lh/emacs/emacs-24/revision/108226>,
fixed a bug privately reported to me by Gilles on
2012-05-09; he already tested this so it shouldn't be the
problem.  The remaining changes are small: it shouldn't hurt
to undo them but the real problem surely lies elsewhere.

I see two main suspects.  First, we got rid of DATA_START
and DATA_SEG_BITS on AIX.  Second, USE_LSB_TAG changed from
0 to 1 on AIX.

And now that I look at the code again, I see a serious bug
in Emacs 24.2.93's src/lisp.h when DATA_SEG_BITS is nonzero:
it mis-defines XPNTR as if DATA_SEG_BITS were zero.  This is a
regression and should be fixed in emacs-24 regardless of the
AIX fixes, I expect.

So: Gilles, can you please try the following?

First, aply the attached patch to a fresh copy of emacs-24.2.93.

Then, run these shell commands:

   ./configure CPPFLAGS='-DDATA_START=0x20000000 -DDATA_SEG_BITS=0x20000000 -DUSE_LSB_TAG=0'
   make

If this works, I'll have some followup questions and
proposed changes; the point of the above is to try to test
reverting to 24.2's approach as quickly and painlessly as
possible, without reverting all the other changes we've
made.


[-- Attachment #2: aix.txt --]
[-- Type: text/plain, Size: 1622 bytes --]

diff -pru emacs-24.2.93/src/lisp.h emacs-24.2.93-AIX/src/lisp.h
--- emacs-24.2.93/src/lisp.h	2013-01-01 12:37:17.000000000 -0800
+++ emacs-24.2.93-AIX/src/lisp.h	2013-02-13 18:05:17.635430235 -0800
@@ -496,13 +496,9 @@ static EMACS_INT const VALMASK
   (XIL ((EMACS_INT) ((EMACS_UINT) (type) << VALBITS)  \
 	+ ((intptr_t) (ptr) & VALMASK)))
 
-#if DATA_SEG_BITS
 /* DATA_SEG_BITS forces extra bits to be or'd in with any pointers
    which were stored in a Lisp_Object.  */
 #define XPNTR(a) ((uintptr_t) ((XLI (a) & VALMASK)) | DATA_SEG_BITS))
-#else
-#define XPNTR(a) ((uintptr_t) (XLI (a) & VALMASK))
-#endif
 
 #endif /* not USE_LSB_TAG */
 
diff -pru emacs-24.2.93/src/unexaix.c emacs-24.2.93-AIX/src/unexaix.c
--- emacs-24.2.93/src/unexaix.c	2013-01-01 12:37:17.000000000 -0800
+++ emacs-24.2.93-AIX/src/unexaix.c	2013-02-13 18:23:19.179525573 -0800
@@ -57,9 +57,8 @@ what you give them.   Help stamp out sof
 #include <unistd.h>
 #include <fcntl.h>
 
-#include "mem-limits.h"
-
 char *start_of_text (void);		        /* Start of text */
+extern char *start_of_data (void);		/* Start of initialized data */
 
 extern int _data;
 extern int _text;
@@ -90,6 +89,7 @@ static int adjust_lnnoptrs (int, int, co
 
 static int pagemask;
 
+#include <setjmp.h>
 #include "lisp.h"
 
 static void
@@ -104,6 +104,9 @@ report_error (const char *file, int fd)
 #define ERROR1(msg,x) report_error_1 (new, msg, x, 0); return -1
 #define ERROR2(msg,x,y) report_error_1 (new, msg, x, y); return -1
 
+#undef ADDR_CORRECT
+#define ADDR_CORRECT(x) ((int)(x))
+
 static void
 report_error_1 (int fd, const char *msg, int a1, int a2)
 {

  reply	other threads:[~2013-02-14  2:49 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-07  9:49 bug#13650: Emacs pretest 24.2.93 - compilation error on AIX 5.3 using gcc 4.7-2 Gilles Pion
2013-02-07 10:57 ` Gilles Pion
2013-02-07 17:47   ` Glenn Morris
2013-02-07 21:17     ` Paul Eggert
2013-02-07 21:42       ` Glenn Morris
2013-02-08  7:09       ` Gilles Pion
2013-02-11  7:51       ` Gilles Pion
2013-02-11 21:18         ` Paul Eggert
2013-02-12  8:06           ` Gilles Pion
2013-02-12 19:03             ` Paul Eggert
2013-02-13 11:27               ` Gilles Pion
2013-02-13 18:37                 ` Glenn Morris
2013-02-13 23:13                   ` Paul Eggert
2013-02-13 23:33                     ` Glenn Morris
2013-02-14  2:49                       ` Paul Eggert [this message]
2013-02-14  7:28                         ` Gilles Pion
2013-02-14  7:32                           ` Paul Eggert
2013-02-14  7:43                             ` Gilles Pion
2013-02-14  7:56                               ` Paul Eggert
2013-02-14  8:09                                 ` Gilles Pion
2013-02-14 14:57                               ` Paul Eggert
2013-02-14 15:11                                 ` Gilles Pion
2013-02-14 15:46                                   ` Stefan Monnier
2013-02-14 22:23                                     ` Paul Eggert
2013-02-14 23:51                                       ` Glenn Morris

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=511C509E.80609@cs.ucla.edu \
    --to=eggert@cs.ucla.edu \
    --cc=13650@debbugs.gnu.org \
    --cc=gilles.pion@gmail.com \
    --cc=rgm@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.