Re: make check-exec-image failure
Bruno Haible <[email protected]>
| Newsgroups | gmane.lisp.clisp.devel |
|---|---|
| Message-ID | <7764139.u4SDqSDRzh@omega> |
Hi Sam and Ken,
> > Ken, does it fail with the hg tip?
>
> Yes. I just built clisp from Bruno's tarball
> (https://haible.de/bruno/gnu/clisp-2.49.50.tar.bz2), and here's what
> happens when I try to save an executable in the build directory:
>
> $ ./clisp -norc -q -x '(progn (ext:saveinitmem "test.exe" :init-function
> (function exit) :EXECUTABLE t))'
> ;; Wrote the memory image into test.exe (13,849,465 bytes)
> Bytes permanently allocated: 160,328
> Bytes currently in use: 3,602,952
> Bytes available until next GC: 66,168
> 3602952 ;
> 66168 ;
> 160328 ;
> 2 ;
> 26120 ;
> 15000
>
> $ ./test.exe
> Segmentation fault (core dumped)
For me, with the same clisp-2.49.50, it succeeds, both in 32-bit and 64-bit
Cygwin builds. Here's the output of "make check-exec-image":
================================= 32-bit =================================
./lisp.exe -B . -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc -M lispinit.mem -x "(saveinitmem \"foo\" :executable t :norc t)"
i i i i i i i ooooo o ooooooo ooooo ooooo
I I I I I I I 8 8 8 8 8 o 8 8
I \ `+' / I 8 8 8 8 8 8
\ `-+-' / 8 8 8 ooooo 8oooo
`-__|__-' 8 8 8 8 8
| 8 o 8 8 o 8 8
------+------ ooooo 8oooooo ooo8ooo ooooo 8
Welcome to GNU CLISP 2.49.50 (2017-03-19) <http://clisp.org/>
Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2010
Type :h and hit Enter for context help.
;; Wrote the memory image into foo.exe (9,653,004 bytes)
Bytes permanently allocated: 89,504
Bytes currently in use: 1,862,536
Bytes available until next GC: 103,384
1862536 ;
103384 ;
89504 ;
1 ;
68088 ;
15000
Bye.
./foo -x "(setq zz 10) (saveinitmem \"foo\")"
i i i i i i i ooooo o ooooooo ooooo ooooo
I I I I I I I 8 8 8 8 8 o 8 8
I \ `+' / I 8 8 8 8 8 8
\ `-+-' / 8 8 8 ooooo 8oooo
`-__|__-' 8 8 8 8 8
| 8 o 8 8 o 8 8
------+------ ooooo 8oooooo ooo8ooo ooooo 8
Welcome to GNU CLISP 2.49.50 (2017-03-19) <http://clisp.org/>
Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2010
Type :h and hit Enter for context help.
10
;; Wrote the memory image into foo.mem (1,953,012 bytes)
Bytes permanently allocated: 89,504
Bytes currently in use: 1,862,096
Bytes available until next GC: 103,888
1862096 ;
103888 ;
89504 ;
1 ;
19608 ;
15000
Bye.
./foo -norc -M foo.mem -x zz
i i i i i i i ooooo o ooooooo ooooo ooooo
I I I I I I I 8 8 8 8 8 o 8 8
I \ `+' / I 8 8 8 8 8 8
\ `-+-' / 8 8 8 ooooo 8oooo
`-__|__-' 8 8 8 8 8
| 8 o 8 8 o 8 8
------+------ ooooo 8oooooo ooo8ooo ooooo 8
Welcome to GNU CLISP 2.49.50 (2017-03-19) <http://clisp.org/>
Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2010
Type :h and hit Enter for context help.
10
Bye.
./lisp.exe -B . -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc -M lispinit.mem -x "(saveinitmem \"foo\" :executable t :norc t :quiet t :init-function (lambda () (prin1 *args*) (exit)))" -- a 1
i i i i i i i ooooo o ooooooo ooooo ooooo
I I I I I I I 8 8 8 8 8 o 8 8
I \ `+' / I 8 8 8 8 8 8
\ `-+-' / 8 8 8 ooooo 8oooo
`-__|__-' 8 8 8 8 8
| 8 o 8 8 o 8 8
------+------ ooooo 8oooooo ooo8ooo ooooo 8
Welcome to GNU CLISP 2.49.50 (2017-03-19) <http://clisp.org/>
Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2010
Type :h and hit Enter for context help.
;; Wrote the memory image into foo.exe (9,653,804 bytes)
Bytes permanently allocated: 89,504
Bytes currently in use: 1,863,336
Bytes available until next GC: 102,584
1863336 ;
102584 ;
89504 ;
1 ;
71216 ;
15000
Bye.
test "`./foo b | tr -d '\r'`" = '("b")' || exit 1
test "`./foo b 2 | tr -d '\r'`" = '("b" "2")' || exit 1
ls -l lisp.exe lispinit.mem foo foo.mem
-rwxr-xr-x 1 bruno None 9653804 Mar 21 12:30 foo
-rw-r--r-- 1 bruno None 1953012 Mar 21 12:30 foo.mem
-rwxr-xr-x 1 bruno None 7699552 Mar 21 12:26 lisp.exe
-rw-r--r-- 1 bruno None 1964412 Mar 21 12:28 lispinit.mem
rm -f foo foo.mem
================================= 64-bit =================================
./lisp.exe -B . -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc -M lispinit.mem -x "(saveinitmem \"foo\" :executable t :norc t)"
i i i i i i i ooooo o ooooooo ooooo ooooo
I I I I I I I 8 8 8 8 8 o 8 8
I \ `+' / I 8 8 8 8 8 8
\ `-+-' / 8 8 8 ooooo 8oooo
`-__|__-' 8 8 8 8 8
| 8 o 8 8 o 8 8
------+------ ooooo 8oooooo ooo8ooo ooooo 8
Welcome to GNU CLISP 2.49.50 (2017-03-19) <http://clisp.org/>
Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2010
Type :h and hit Enter for context help.
;; Wrote the memory image into foo.exe (12,371,952 bytes)
Bytes permanently allocated: 151,088
Bytes currently in use: 2,896,280
Bytes available until next GC: 1,443,592
2896280 ;
1443592 ;
151088 ;
1 ;
102728 ;
15000
Bye.
./foo -x "(setq zz 10) (saveinitmem \"foo\")"
i i i i i i i ooooo o ooooooo ooooo ooooo
I I I I I I I 8 8 8 8 8 o 8 8
I \ `+' / I 8 8 8 8 8 8
\ `-+-' / 8 8 8 ooooo 8oooo
`-__|__-' 8 8 8 8 8
| 8 o 8 8 o 8 8
------+------ ooooo 8oooooo ooo8ooo ooooo 8
Welcome to GNU CLISP 2.49.50 (2017-03-19) <http://clisp.org/>
Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2010
Type :h and hit Enter for context help.
10
;; Wrote the memory image into foo.mem (4,310,848 bytes)
Bytes permanently allocated: 151,088
Bytes currently in use: 2,895,768
Bytes available until next GC: 1,443,336
2895768 ;
1443336 ;
151088 ;
1 ;
24232 ;
16000
Bye.
./foo -norc -M foo.mem -x zz
i i i i i i i ooooo o ooooooo ooooo ooooo
I I I I I I I 8 8 8 8 8 o 8 8
I \ `+' / I 8 8 8 8 8 8
\ `-+-' / 8 8 8 ooooo 8oooo
`-__|__-' 8 8 8 8 8
| 8 o 8 8 o 8 8
------+------ ooooo 8oooooo ooo8ooo ooooo 8
Welcome to GNU CLISP 2.49.50 (2017-03-19) <http://clisp.org/>
Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2010
Type :h and hit Enter for context help.
10
Bye.
./lisp.exe -B . -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc -M lispinit.mem -x "(saveinitmem \"foo\" :executable t :norc t :quiet t :init-function (lambda () (prin1 *args*) (exit)))" -- a 1
i i i i i i i ooooo o ooooooo ooooo ooooo
I I I I I I I 8 8 8 8 8 o 8 8
I \ `+' / I 8 8 8 8 8 8
\ `-+-' / 8 8 8 ooooo 8oooo
`-__|__-' 8 8 8 8 8
| 8 o 8 8 o 8 8
------+------ ooooo 8oooooo ooo8ooo ooooo 8
Welcome to GNU CLISP 2.49.50 (2017-03-19) <http://clisp.org/>
Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2010
Type :h and hit Enter for context help.
;; Wrote the memory image into foo.exe (12,371,952 bytes)
Bytes permanently allocated: 151,088
Bytes currently in use: 2,897,336
Bytes available until next GC: 1,444,120
2897336 ;
1444120 ;
151088 ;
1 ;
107632 ;
0
Bye.
test "`./foo b | tr -d '\r'`" = '("b")' || exit 1
test "`./foo b 2 | tr -d '\r'`" = '("b" "2")' || exit 1
ls -l lisp.exe lispinit.mem foo foo.mem
-rwxr-xr-x 1 bruno None 12371952 Mar 21 12:30 foo
-rw-r--r-- 1 bruno None 4310848 Mar 21 12:30 foo.mem
-rwxr-xr-x 1 bruno None 8036794 Mar 21 12:26 lisp.exe
-rw-r--r-- 1 bruno None 4310888 Mar 21 12:27 lispinit.mem
rm -f foo foo.mem
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
clisp-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/clisp-devel