Re: [head tinderbox] failure on powerpc64/powerpc

From: Nathan Whitehorn <nwhitehorn_at_freebsd.org>
Date: Thu, 19 Aug 2010 09:02:06 -0700
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
Received on Thu Aug 19 2010 - 14:23:01 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:06 UTC