Changeset 4986


Ignore:
Timestamp:
Aug 20, 2006, 10:59:06 PM (18 years ago)
Author:
Gary Byers
Message:

Define DARWIN_GS_HACK.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/lisp-kernel/darwinx8664/Makefile

    r4943 r4986  
    5353AS = as
    5454M4 = gm4
    55 M4FLAGS = -DDARWIN -DX86 -DX8664
     55###
     56### DARWIN_GS_HACK enables some awful, dangerous, and slow workarounds
     57### for the fact that early versions of x86-64 Darwin don't provide
     58### working mechanisms for threads to address thread-local-data
     59### relative to a spare segment register.  We instead use the
     60### undocumented mechanism which the pthreads library uses to
     61### keep pthread data in %gs, and switch %gs between pthread data
     62### when running foreign code and lisp tcr data when running lisp
     63### code.  Hopefully, we won't have to do this for very long.
     64###
     65### (Things like i386_set_ldt() are defined, but not implemented
     66### correctly on the libc side and not implemented at all on the
     67### Mach kernel side.)
     68###
     69M4FLAGS = -DDARWIN -DX86 -DX8664 -DDARWIN_GS_HACK
    5670ASFLAGS = -arch x86_64
    57 CDEFINES = -DDARWIN -DX86 -DX8664 $(BROKEN_PREPROCESSOR_WORKAROUND)
     71CDEFINES = -DDARWIN -DX86 -DX8664 -DDARWIN_GS_HACK
    5872CDEBUG = -g
    5973COPT = -O2
Note: See TracChangeset for help on using the changeset viewer.