Build failure on 32-bit architectures

Jerry James <[email protected]>
Newsgroups gmane.lisp.clisp.devel
Message-ID <CAHCOHQm7oS7ZDk0N=7tLSxx48SxvXgVXyjKWR9g9jHbU8Wwcmw@mail.gmail.com>
Greetings,

I just attempted to update the Fedora clisp package to mercurial head
and found that 32-bit platforms fail to compile.  When attempting to
link lisp.run, this error occurs:

lisparit.o: In function `DF_DF_mult_DF':
/builddir/build/BUILD/clisp-2.49/build/../src/dfloat.d:926: undefined
reference to `bitQ'
lisparit.o: In function `DF_DF_mult_DF':
lisparit.c:(.text+0x65f3): undefined reference to `bitQ'
lisparit.c:(.text+0x6627): undefined reference to `bitQ'
lisparit.c:(.text+0x66d1): undefined reference to `bitQ'
lisparit.c:(.text+0x6701): undefined reference to `bitQ'
collect2: error: ld returned 1 exit status
make: *** [Makefile:1405: lisp.run] Error 1

This error appears to have been introduced with this commit:

changeset:   15707:4e7379e94894
user:        Bruno Haible <[email protected]>
date:        Sun Nov 13 22:10:24 2016 +0100
summary:     Prepare for ILP32 ABIs on 64-bit CPUs (x32 on x86_64, n32
on MIPS64).

It looks like bitQ is defined as a macro inside lispbibl.d, but only inside:

#if (long_bitsize==64) || defined(DECALPHA) || defined(MIPS64) || defined(SPARC6
4) || defined(IA64) || defined(AMD64)

Note that there is no corresponding definition inside the #else part.
Note also, though, that many 32-bit platforms do have a 64-bit type,
but it may be long long, instead of long.  I tried adding "||
(longlong_bitsize==64)" to that #if, but it didn't work.  I'm not sure
why.  In any case, all of Fedora's 32-bit architectures have a native
64-bit integer, so I'm removing the #if and the entire #else part as a
workaround for now.

Regards,
-- 
Jerry James
http://www.jamezone.org/

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
clisp-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/clisp-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.