Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Aug 2010 09:02:06 -0700
From:      Nathan Whitehorn <nwhitehorn@freebsd.org>
To:        =?UTF-8?B?RGFnLUVybGluZyBTbcO4cmdyYXY=?= <des@des.no>
Cc:        powerpc@freebsd.org, FreeBSD Tinderbox <tinderbox@freebsd.org>, current@freebsd.org
Subject:   Re: [head tinderbox] failure on powerpc64/powerpc
Message-ID:  <4C6D557E.6080406@freebsd.org>
In-Reply-To: <86occzdmhg.fsf@ds4.des.no>
References:  <201008190304.o7J34Wa4089466@freebsd-current.sentex.ca> <86occzdmhg.fsf@ds4.des.no>

next in thread | previous in thread | raw e-mail | index | archive | help
On 08/19/10 01:40, Dag-Erling Smørgrav wrote:
> FreeBSD Tinderbox<tinderbox@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C6D557E.6080406>