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>