[Top][All Lists]

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

[MIT-Scheme-devel] x86-64 assembler problem

From: Matt Birkholz
Subject: [MIT-Scheme-devel] x86-64 assembler problem
Date: Wed, 27 Apr 2011 11:03:11 -0700

I get the following error when compiling gtk/keys.scm for x86-64 (on
an x86-64 host).  I get NO error when compiling for i386 and C.  This
happens in the latest (yesterday's) LIAR.

The problem seems to be with the C-enum constants, not the length of
the argument list.  If I forget to (load-option 'FFI), no error is
signaled.  I narrowed the problem down somewhat so that my Gtk will
build on x86-64.

I have just started to debug this, but perhaps a word to The Wise will
suffice. :-)

  1 ]=> (compile-file "keys")

  ;Generating SCode for file: "keys.scm" => "keys.bin"... 
  ;  Loading "/usr/local/lib/mit-scheme-x86-64/gtk-types.bin"... done
  ;  Loading "/usr/local/lib/mit-scheme-x86-64/gtk-const.bin"... done
  ;... done
  ;Compiling file: "keys.bin" => ""... 
  ;The object 69923, passed as the second argument to 
unsigned-integer->bit-string, is not in the correct range.
  ;To continue, call RESTART with an option number:
  ; (RESTART 1) => Return to read-eval-print level 1.

  2 error> (debug)

  There are 15 subproblems on the stack.

  Subproblem level: 0 (this is the lowest subproblem level)
  Expression (from stack):
      (unsigned-integer->bit-string 16 69923)
  There is no current environment.
  There is no execution history for this subproblem.
  You are now in the debugger.  Type q to quit, ? for commands.

  3 debug> h
  SL#  Procedure-name          Expression

  0                            (unsigned-integer->bit-string 16 69923)
  1    block-offset            (instruction-insert! (unsigned-integer->bit-st 
  2                            (begin (assemble-directives! code-block direct 
  3                            (assemble-objects (final-phase directives))
  4                            ((assemble *block-label* (if compiler:preserve 
  5                            (let ((value (do-it))) (let ((process-delta (& 
  6    assemble&link           (begin (phase/assemble) (if info-output-pathna 
  7                            (let ((expression (thunk))) (let ((others (rec 
  8                            (compiler-file-output (transform input-pathnam 
  9                            (let ((v (let ((.*notification-depth*.1-0 (1+  
  10   compile-bin-file        (begin (compiler-pathnames input-string (if (e 
  11   %repl-eval              (let ((value (hook/repl-eval s-expression envi 
  12   %repl-eval/write        (hook/repl-write (%repl-eval s-expression envi 
  13   do-loop                 (begin (if (queue-empty? queue) (let ((environ 
  14   loop                    (loop (bind-abort-restart cmdl (lambda () (der 

  3 debug> u
  Subproblem level: 1
  Compiled code expression (from stack):
       (lambda (np)
         (loop (cdr directives) dir-stack (&+ pc 16) pc-stack ...)))
   subproblem being executed (marked by ###):
       (&+ (&* 2 offset) (if (eq? blabel *start-label*) 0 1)))
  Environment created by the procedure: BLOCK-OFFSET

   applied to: (34961 #[uninterned-symbol 17 continuation-823] 
#[uninterned-symbol 1
  There is no execution history for this subproblem.

  3 debug> 

reply via email to

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