mps icon indicating copy to clipboard operation
mps copied to clipboard

Support for Linux i686 Clang/LLVM

Open fuzzko opened this issue 1 year ago • 1 comments

Will there be support for Linux i686 Clang/LLVM?

fuzzko avatar Jun 24 '24 10:06 fuzzko

If you create an lii3ll.gmk that is similar to lii3gc.gmk and try it out, does it work?

The contents would be something like:

PFM = lii3ll

MPMPF = \
    lockix.c \
    prmci3.c \
    prmcix.c \
    prmclii3.c \
    protix.c \
    protsgix.c \
    pthrdext.c \
    span.c \
    thix.c \
    vmix.c

LIBS = -lm -lpthread

include ll.gmk
include comm.gmk

You might need to crate a block in code/mpstd.h like this after the one for lii3gc:

#elif defined(__linux__) && defined(__i386__) && defined(__GNUC__) \
      && defined(__clang__)
#if defined(CONFIG_PF_STRING) && ! defined(CONFIG_PF_LII3LL)
#error "specified CONFIG_PF_... inconsistent with detected lii3ll"
#endif
#define MPS_PF_LII3LL
#define MPS_PF_STRING   "lii3ll"
#define MPS_OS_LI
#define MPS_ARCH_I3
#define MPS_BUILD_LL
#define MPS_T_WORD      unsigned long
#define MPS_T_ULONGEST  unsigned long
#define MPS_WORD_WIDTH  32
#define MPS_WORD_SHIFT  5
#define MPS_PF_ALIGN    4

That said, I don't know what Ravenbrook will accept ...

waywardmonkeys avatar Jun 25 '24 16:06 waywardmonkeys