[head tinderbox] failure on powerpc64/powerpc

Nathan Whitehorn nwhitehorn at freebsd.org
Thu Aug 19 16:23:01 UTC 2010


On 08/19/10 01:40, Dag-Erling Smørgrav wrote:
> FreeBSD Tinderbox<tinderbox at freebsd.org>  writes:
>    
>>>>> Kernel build for LINT started on Thu Aug 19 02:51:08 UTC 2010
>>>>> stage 1: configuring the kernel
>>>>> stage 2.1: cleaning up the object tree
>>>>> stage 2.2: rebuilding the object tree
>>>>> stage 2.3: build tools
>>>>> stage 3.1: making dependencies
>>>>> stage 3.2: building everything
>>>>>            
>> [...]
>> /src/sys/dev/ofw/ofw_standard.c:705: warning: cast to pointer from integer of different size
>> /src/sys/dev/ofw/ofw_standard.c: In function 'ofw_std_release':
>> /src/sys/dev/ofw/ofw_standard.c:719: warning: cast from pointer to integer of different size
>> /src/sys/dev/ofw/ofw_standard.c:724: warning: cast from pointer to integer of different size
>> /src/sys/dev/ofw/ofw_standard.c: In function 'ofw_std_enter':
>> /src/sys/dev/ofw/ofw_standard.c:742: warning: cast from pointer to integer of different size
>> /src/sys/dev/ofw/ofw_standard.c: In function 'ofw_std_exit':
>> /src/sys/dev/ofw/ofw_standard.c:760: warning: cast from pointer to integer of different size
>> *** Error code 1
>>
>> Stop in /obj/powerpc.powerpc64/src/sys/LINT.
>>      
> Line 705 in ofw_standard.c is
>
> 	return ((void *)args.baseaddr);
>
> args.baseaddr is a cell_t, which is defined in<machine/ofw_machdep.h>:
>
> typedef	uint32_t	cell_t;
>
> which I assume is correct for powerpc (32-bits), but probably not for
> powerpc64.  Note that it is defined as uint64_t on sparc64 and sun4v,
> and in sys/boot as unsigned long int, which is the correct size on both
> 32-bit and 64-bit machines (assuming I32LP64).
>    

The problem is that until yesterday, you could not build a powerpc64 
LINT, and so it was trying to build a PPC32 kernel with a 64-bit 
toolchain. An actual powerpc64 kernel does not include ofw_standard.c. 
This should be fixed now with r211483, so long as the LINT config is 
made with TARGET_ARCH set (and is not reused for 32 and 64-bit builds). 
There is a seat-belt mechanism I should add soon that will complain 
earlier about architecture mismatches like this. Thanks for your patience.
-Nathan


More information about the freebsd-current mailing list