atom feed7 messages in org.freebsd.freebsd-amd64amd64/102996: powerpc cross-build fai...
FromSent OnAttachments
Peter GrehanSep 7, 2006 10:00 pm 
John BaldwinSep 8, 2006 3:22 pm 
John BaldwinSep 8, 2006 3:32 pm 
Peter GrehanSep 8, 2006 9:04 pm 
Peter GrehanSep 8, 2006 9:10 pm 
Ruslan ErmilovSep 14, 2006 12:50 am 
Ruslan ErmilovSep 14, 2006 1:07 am 
Subject:amd64/102996: powerpc cross-build fails on amd64 host, works fine on i386
From:Peter Grehan (gre@FreeBSD.org)
Date:Sep 7, 2006 10:00:14 pm
List:org.freebsd.freebsd-amd64

Number: 102996 Category: amd64 Synopsis: powerpc cross-build fails on amd64 host, works fine on i386 Confidential: no Severity: serious Priority: low Responsible: freebsd-amd64 State: open Quarter: Keywords: Date-Required: Class: sw-bug Submitter-Id: current-users Arrival-Date: Thu Sep 07 22:00:33 GMT 2006 Closed-Date: Last-Modified: Originator: Peter Grehan Release: 6.0 Organization: Environment: FreeBSD *redacted* 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Wed Nov 2 19:07:38 UTC
2005 ro@rat.samsco.home:/usr/obj/usr/src/sys/GENERIC amd64 Description:

A powerpc build (any release) fails on amd64. The same tree on a 32-bit host
works fine. I believe it will fail on other 64-bit arches though I haven't
verified this.

How-To-Repeat: make TARGET_ARCH=powerpc buildworld Fix:

I applied the following diff supplied by Ruslan Ermilov: worked fine.

%%% Index: Makefile =================================================================== RCS file: /home/ncvs/src/gnu/usr.bin/binutils/libbfd/Makefile,v retrieving revision 1.33 diff -u -r1.33 Makefile --- Makefile 24 Oct 2004 15:32:25 -0000 1.33 +++ Makefile 26 Aug 2006 00:48:26 -0000 @@ -48,6 +48,12 @@ CFLAGS+= -DSELECT_VECS="${SELVEC}" CFLAGS+= -DDEFAULT_VECTOR=${DEFAULT_VECTOR}

+.if ${TARGET_ARCH:M*64} +CFLAGS+= -DTARGET_64BIT=1 +.else +CFLAGS+= -DTARGET_64BIT=0 +.endif + # XXX:DEO should grab BFD_VERSION_DATE from ${VERSION}... bfdver.h: Makefile echo '#define BFD_VERSION 215000000' > ${.TARGET} Index: bfd.h =================================================================== RCS file: /home/ncvs/src/gnu/usr.bin/binutils/libbfd/bfd.h,v retrieving revision 1.3 diff -u -r1.3 bfd.h --- bfd.h 8 Jul 2004 17:05:32 -0000 1.3 +++ bfd.h 26 Aug 2006 00:44:29 -0000 @@ -57,15 +57,18 @@ #define BFD_ARCH_SIZE 64

-#if defined(__i386__) || defined(__powerpc__) || defined(__arm__) /* The word size of the default bfd target. */ +#if TARGET_64BIT +#define BFD_DEFAULT_TARGET_SIZE 64 +#else #define BFD_DEFAULT_TARGET_SIZE 32 +#endif + +#if defined(__i386__) || defined(__powerpc__) || defined(__arm__) #define BFD_HOST_64BIT_LONG 0 #define BFD_HOST_64_BIT long long #define BFD_HOST_U_64_BIT unsigned long long #elif defined(__alpha__) || defined(__sparc64__) || defined(__amd64__) ||
defined(__ia64__) -/* The word size of the default bfd target. */ -#define BFD_DEFAULT_TARGET_SIZE 64 #define BFD_HOST_64BIT_LONG 1 #define BFD_HOST_64_BIT long #define BFD_HOST_U_64_BIT unsigned long %%%

Release-Note: Audit-Trail: Unformatted: