Changeset 11468


Ignore:
Timestamp:
Dec 8, 2008, 3:01:05 AM (11 years ago)
Author:
gb
Message:

In relocate_area_contents: need to skip over function code on x8632
as well as x8664; need to skip one extra word(object header).
On x8632, call update_self_references() when relocating a function too;
this seems to close ticket:331.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lisp-kernel/image.c

    r11199 r11468  
    5959      start = (LispObj *)skip_over_ivector((natural)start, w0);
    6060    } else {
     61#ifdef X86
     62      if (header_subtag(w0) == subtag_function) {
    6163#ifdef X8664
    62       if (header_subtag(w0) == subtag_function) {
    63         int skip = (int) start[1];
     64        int skip = ((int) start[1])+1;
     65#else
     66        int skip = ((unsigned short)start[1])+1;
     67        extern void update_self_references(LispObj *);
     68        update_self_references(start);
     69#endif
    6470     
    6571        start += skip;
Note: See TracChangeset for help on using the changeset viewer.