|
From: | Paul Eggert |
Subject: | Re: Lisp_Marker size on 32bit systems |
Date: | Fri, 7 Sep 2018 06:45:48 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 |
Eli Zaretskii wrote:
The current master fails to build in the x86 32-bit configuration with wide ints: In file included from lisp.h:35:0, from window.c:25: ../lib/verify.h:207:21: error: static assertion failed: "verify (header_size == sizeof (union vectorlike_header))"
It works for me in that configuration in Fedora 28. I get the following values; what do you get?
sizeof (ptrdiff_t) = 4 sizeof (union vectorlike_header) = 4 offsetof (struct Lisp_Vector, contents) = 4 offsetof (struct Lisp_Sub_Char_Table, depth) == 4 offsetof (struct Lisp_Sub_Char_Table, contents) == 12If you're getting different values, it could be that the fact that the code ever worked at all is just luck.
I am using gcc 8.1.1 20180712 (Red Hat 8.1.1-5), and configure this way (because many modules don't work in 32-bit mode):
./configure --with-wide-int CC=gcc -m32 -march=native --enable-gcc-warnings --without-sound --without-dbus --without-file-notification --without-gconf --without-gif --without-gsettings --without-imagemagick --without-rsvg --with-x-toolkit=no --with-modules
[Prev in Thread] | Current Thread | [Next in Thread] |