FreeBSD - sbcl compile fails when compiling gc
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Invalid
|
Undecided
|
Unassigned |
Bug Description
uname -a
FreeBSD tiny 10.0-RELEASE FreeBSD 10.0-RELEASE #0 r260789: Thu Jan 16 22:34:59 UTC 2014 <email address hidden>
git log output
$ git log
ESC[33mcommit 5fb8a6e8db4d118
Author: Douglas Katzman <email address hidden>
Date: Wed Feb 5 15:37:39 2014 -0500
This is my command line and the error message I get (since FBSD 10 uses clang, a tried with cc as an alias to gcc and it still failed exactly the same)
$ sh make.sh --fancy --prefix=
... (screenfuls of compile and then this) ...
beginning GENESIS, creating headers in "src/runtime/
NIL
* 132.80 real 124.85 user 6.44 sys
//entering make-target-1.sh
//building runtime system and symbol table file
gmake: Entering directory `/usr/home/
rm -f *.[do] sbcl sbcl.nm sbcl.h core *.tmp
gmake: Leaving directory `/usr/home/
gmake: Entering directory `/usr/home/
echo '#include "genesis/config.h"' >sbcl.h
echo '#include "genesis/
gmake: Leaving directory `/usr/home/
gmake: Entering directory `/usr/home/
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
breakpoint.
and 'long' [-Wsign-compare]
if (offset >= (N_WORD_BYTES * fixnum_
1 warning generated.
cc -g -Wall -Wsign-compare -O3 -fno-omit-
coreparse.c:342:25: warning: format specifies type 'void *' but the argument has type 'uword_t'
(aka 'unsigned long') [-Wformat]
coreparse.c:342:40: warning: format specifies type 'void *' but the argument has type 'uword_t'
(aka 'unsigned long') [-Wformat]
coreparse.c:369:25: warning: format specifies type 'void *' but the argument has type 'uword_t'
(aka 'unsigned long') [-Wformat]
coreparse.c:369:40: warning: format specifies type 'void *' but the argument has type 'uword_t'
(aka 'unsigned long') [-Wformat]
coreparse.c:376:25: warning: format specifies type 'void *' but the argument has type 'uword_t'
(aka 'unsigned long') [-Wformat]
coreparse.c:376:40: warning: format specifies type 'void *' but the argument has type 'uword_t'
(aka 'unsigned long') [-Wformat]
coreparse.c:407:15: warning: comparison of integers of different signs: 'ssize_t' (aka 'long') and
'
if (count < os_vm_page_size) {
~~~~~ ^ ~~~~~~~~~~~~~~~
7 warnings generated.
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
gc-common.
(aka 'unsigned long') [-Wformat]
"by locks.\n", (uword_
1 warning generated.
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
monitor.c:151:29: warning: unused variable 'sptr' [-Wunused-variable]
1 warning generated.
cc -g -Wall -Wsign-compare -O3 -fno-omit-
os-common.c:132:12: warning: returning 'volatile void *' from a function with result type 'void *'
discards qualifiers [-Wincompatible
return ret;
^~~
1 warning generated.
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
print.c:96:31: warning: comparison of integers of different signs: 'unsigned int' and 'int'
[
for (i = 0; i < n_output_flags; i++)
print.c:117:23: warning: comparison of integers of different signs: 'unsigned int' and 'int'
[
if (i == n_output_flags)
2 warnings generated.
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
save.c:377:20: warning: passing 'unsigned char []' to parameter of type 'const char *' converts between
pointers to integer types with different sign [-Wpointer-sign]
idlen = strlen(build_id) - 1;
/usr/include/
size_t strlen(const char *) __pure;
save.c:410:35: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and
'
if (core_offset != -1 && size > core_offset)
2 warnings generated.
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
thread.c:432:22: warning: comparison of unsigned expression >= 0 is always true [-Wtautological
if(
1 warning generated.
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
bsd-os.c:248:50: warning: incompatible pointer types passing '__siginfohandler_t *' (aka 'void (*)(int,
struct __siginfo *, void *)') to parameter of type 'interrupt_
siginfo_t *, os_context_t *)') [-Wincompatible
./interrupt.
1 warning generated.
cc -g -Wall -Wsign-compare -O3 -fno-omit-
cc -g -Wall -Wsign-compare -O3 -fno-omit-
gencgc.c:1237:53: warning: comparison of integers of different signs: 'unsigned long' and 'sword_t'
(aka 'long') [-Wsign-compare]
gc_
./gc-internal.
if (!(ex)) gc_abort(); \
^
gencgc.c:1407:15: warning: comparison of integers of different signs: 'sword_t' (aka 'long') and
'
if (nbytes>
~~~~~~^ ~~~~~~~~~~~~~~~~~
gencgc.c:2073:44: warning: incompatible pointer to integer conversion passing 'lispobj *'
(aka 'unsigned long *') to parameter of type 'lispobj' (aka 'unsigned long'); dereference with *
[
return looks_like_
./gc-internal.
extern int looks_like_
gencgc.c:4022:24: warning: comparison of integers of different signs: 'page_index_t' (aka 'long') and
'unsigned long' [-Wsign-compare]
for (i=0; i<GENCGC_
gencgc.c:4251:16: warning: comparison of integers of different signs: 'sword_t' (aka 'long') and
'
if (nbytes > large_allocation)
~~~~~~ ^ ~~~~~~~~~~~~~~~~
gencgc.c:4268:16: warning: comparison of integers of different signs: 'sword_t' (aka 'long') and
'
if (nbytes >= bytes_consed_
~~~~~~ ^ ~~~~~~~
6 warnings generated.
cc -g -Wall -Wsign-compare -O3 -fno-omit-
x86-64-
.end
^
gmake: *** [x86-64-assem.o] Error 1
gmake: Leaving directory `/usr/home/
5.68 real 4.67 user 0.94 sys
You are using clang, aren't you? Clang, apparently, doesn't like ".end" anymore. Use gcc instead.