﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	difficulty
979	chicken.h wrongly assumes that __x86_64__ implies 64 bits	Ivan Raikov		"This bug was filed by a Debian maintainer against the Chicken 4.8.0 source:

{{{

In chicken.h, the following line:

# if defined (__alpha__) || defined(__ia64__) || defined(__x86_64__) || defined(__LP64__) || defined(__powerpc64__)

contains both a zoology of systems, and the actual feature it is looking
for.  The zoology is wrong: if the CPU is capable of 64 bit code, this does
not mean that the architecture you're building for has 64 bit pointers.
Because of compatibility with plenty of code that assumes sizeof(long) ==
sizeof(void*), x32 has longs of only 32 bits.  What you want to check here,
is whether longs are 64 bit.

A fix:
change that line to:

# ifdef __LP64__

This lets chicken build on both amd64 and x32.


}}}
"	defect	closed	major	4.9.0	build system	4.8.x	fixed			
