[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" => "keys.com"...
;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):
(instruction-insert!
###
block
position
(lambda (np)
(loop (cdr directives) dir-stack (&+ pc 16) pc-stack ...)))
subproblem being executed (marked by ###):
(unsigned-integer->bit-string
16
(&+ (&* 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>
- [MIT-Scheme-devel] x86-64 assembler problem,
Matt Birkholz <=