Changeset 5005


Ignore:
Timestamp:
Aug 22, 2006, 1:01:22 AM (18 years ago)
Author:
Gary Byers
Message:

Some PPC64 conditionalizations should really have tested WORD_SIZE.

DARWIN_GS_HACK stuff around suspend/resume signal handlers. (May not
be necessary.)

Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/lisp-kernel/thread_manager.c

    r4981 r5005  
    257257suspend_resume_handler(int signo, siginfo_t *info, ExceptionInformation *context)
    258258{
     259#ifdef DARWIN_GS_HACK
     260  Boolean gs_was_tcr = ensure_gs_pthread();
     261#endif
    259262  TCR *tcr = get_interrupt_tcr(false);
    260263
     
    288291  }
    289292#if WAIT_FOR_RESUME_ACK
    290     SEM_RAISE(tcr->suspend);
     293  SEM_RAISE(tcr->suspend);
     294#endif
     295#ifdef DARWIN_GS_HACK
     296  if (gs_was_tcr) {
     297    set_gs_address(tcr);
     298  }
    291299#endif
    292300#ifdef DARWIN
     
    443451    tcr = calloc(1, sizeof(TCR));
    444452#ifdef DARWIN
    445 #ifdef PPC64
     453#if WORD_SIZE == 64
    446454    if (((unsigned)((natural)tcr)) != ((natural)tcr)) {
    447455      tcr->next = chain;
     
    495503  /* darwin_set_x8664_fs_reg(tcr); */
    496504#endif
    497   tcr->linear = tcr;
    498505}
    499506
     
    520527#else
    521528  TCR *tcr = allocate_tcr();
     529#endif
     530
     531#ifdef X8664
     532  tcr->linear = tcr;
    522533#endif
    523534
Note: See TracChangeset for help on using the changeset viewer.