[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: USE_LSB_TAG not supported on this platform
From: |
Herbert J. Skuhra |
Subject: |
Re: USE_LSB_TAG not supported on this platform |
Date: |
Sun, 07 Feb 2016 17:52:43 +0100 |
User-agent: |
Wanderlust/2.15.9 (Almost Unreal) Emacs/25.1 Mule/6.0 (HANACHIRUSATO) |
On Sat, 06 Feb 2016 21:34:40 +0100, Paul Eggert wrote:
>
> Herbert J. Skuhra wrote:
> > INTPTR_MAX=0x7fffffff
> > EMACS_INT_MAX=0x7fffffffffffffffLL
> >
> > Before the commit mentioned above both are 0x7fffffff.
>
> Commit d6585a910ed3e9e0e43c093b5fbfeb6d56b703b4 should not have
> affected EMACS_INT_MAX, and I don't see how it did.
Before this commit I get:
(EMACS_INT_MAX=0x7fffffff, INTPTR_MAX=0x7fffffff, NONPOINTER_BITS=0)
After this commit:
(EMACS_INT_MAX=0x7fffffffffffffffLL, INTPTR_MAX=0x7fffffff, NONPOINTER_BITS=3)
I can fix the build by:
--- a/configure.ac
+++ b/configure.ac
@@ -2123,7 +2123,7 @@ esac
if test "${system_malloc}" != yes && test "${doug_lea_malloc}" != yes \
&& test "${UNEXEC_OBJ}" = unexelf.o && test "${hybrid_malloc}" != no; then
- hybrid_malloc=yes
+ hybrid_malloc=no
fi
(EMACS_INT_MAX=0x7fffffff, INTPTR_MAX=0x7fffffff, NONPOINTER_BITS=0)
This does not work on later master checkouts.
> I assume you are not configuring with --with-wide-int, so the reason
> EMACS_INT_MAX has that large value is due to the following tests in
> src/lisp.h:
Enabling "--with-wide-int" does indeed fix the build.
(EMACS_INT_MAX=0x7fffffffffffffffLL, INTPTR_MAX=0x7fffffff, NONPOINTER_BITS=3)
> Is the value of NONPOINTER_BITS 0 on your platform, or 3? If 0, is
> this correct? That is, does malloc ever return a pointer that, when
> treated as an integer, is not a multiple of 8? If malloc always
> returns a multiple of 8, then we should be able to work around the
> problem by setting NONPOINTER_BITS to 0 on your platform.
How can I tell?
Without "--with-wide-int" I also get
EMACS_INT_MAX=0x7fffffffffffffffLL, INTPTR_MAX=0x7fffffff, NONPOINTER_BITS=3
To be able to build master without "--with-wide-int" I have to apply:
@@ -73,7 +76,7 @@ DEFINE_GDB_SYMBOL_END (GCTYPEBITS)
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 __FreeBSD__ || defined DARWIN_OS || defined __sun ||
defined __MINGW32__ \
|| defined CYGWIN))
# define NONPOINTER_BITS 0
#else
(EMACS_INT_MAX=0x7fffffff, INTPTR_MAX=0x7fffffff, NONPOINTER_BITS=0)
--
Herbert
- Re: USE_LSB_TAG not supported on this platform, (continued)
- Re: USE_LSB_TAG not supported on this platform, Herbert J. Skuhra, 2016/02/08
- Re: USE_LSB_TAG not supported on this platform, Paul Eggert, 2016/02/08
- Re: USE_LSB_TAG not supported on this platform, Herbert J. Skuhra, 2016/02/09
- Re: USE_LSB_TAG not supported on this platform, Paul Eggert, 2016/02/09
- Re: USE_LSB_TAG not supported on this platform, Wolfgang Jenkner, 2016/02/09
- Re: USE_LSB_TAG not supported on this platform, Paul Eggert, 2016/02/09
- Re: USE_LSB_TAG not supported on this platform, Paul Eggert, 2016/02/06
- Re: USE_LSB_TAG not supported on this platform,
Herbert J. Skuhra <=
- Re: USE_LSB_TAG not supported on this platform, Paul Eggert, 2016/02/07