emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Systems that can't USE_LSB_TAG


From: Paul Eggert
Subject: Re: Systems that can't USE_LSB_TAG
Date: Tue, 15 Apr 2014 22:25:42 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0

Stefan Monnier wrote:
Hmmm.. so with this patch we fail on all hosts where USE_LSB_TAG can't
be used, even those where DATA_SEG_BITS is not needed.
Yes, that's why I originally went for the wide-int fallback.

Which systems currently can't USE_LSB_TAG?
Only IRIX as far as I know.  Specifically, the list includes:

1. Systems with pre-C11 compilers that are not in the following list: GCC, HP, IBM, Intel, Sun/Oracle, Microsoft, plus any mimics of these (such as clang). Fundamentally we need the equivalent of GCC's attribute ((aligned (8))) and/or C11's _Alignas (8).
2. Systems where we must use the system malloc and it doesn't return a 
multiple of 8.
The only category (1) system I know of is IRIX cc, which SGI stopped 
supporting in December.  I don't know of any category (2) systems.
I don't know all the Emacs porting targets and quite possibly I've 
missed some.  Perhaps other unusual systems are in category (1); most 
likely we could port to them if we knew the right incantation to get an 
_Alignas equivalent on their compiler, and if not we could fall back on 
aligning the static C variables some other way.  We could port to 
category (2) systems (if any practical ones exist) by wrapping 
malloc/free/etc. and losing at most 8 bytes per allocation.  I hope we 
needn't use either hack, though.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]