Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 May 2002 19:47:20 +0300
From:      Ruslan Ermilov <ru@FreeBSD.org>
To:        ia64@FreeBSD.org
Cc:        Peter Wemm <peter@FreeBSD.org>, "David O'Brien" <obrien@FreeBSD.org>
Subject:   Cross-building ia64 on i386 does not work
Message-ID:  <20020515164720.GB70702@sunbay.com>

next in thread | raw e-mail | index | archive | help

--uZ3hkaAS1mZxFaxD
Content-Type: message/rfc822
Content-Disposition: inline

Date: Wed, 15 May 2002 14:14:39 +0300
From: Ruslan Ermilov <ru@FreeBSD.org>
To: David O'Brien <obrien@FreeBSD.org>
Subject: Cross-building ia64 on i386 does not work
Message-ID: <20020515111439.GL78035@sunbay.com>
Mime-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="6CXocAQn8Xbegyxo"
Content-Disposition: inline
User-Agent: Mutt/1.3.99i


--6CXocAQn8Xbegyxo
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi!

While attempting to cross-build ia64 (make buildworld TARGET_ARCH=3Dia64),
I hit this problem:

: --------------------------------------------------------------
: >>> elf make world started on Wed May 15 08:44:04 EEST 2002
: --------------------------------------------------------------
: [...]
: --------------------------------------------------------------
: >>> stage 4: building everything..
: --------------------------------------------------------------
: cd /CURRENT/usr/src; MAKEOBJDIRPREFIX=3D/usr/obj/ia64  MACHINE_ARCH=3Dia6=
4  MACHINE=3Dia64  OBJFORMAT_PATH=3D/usr/obj/ia64/CURRENT/usr/src/i386/usr/=
libexec  PERL5LIB=3D/usr/obj/ia64/CURRENT/usr/src/i386/usr/libdata/perl/5.6=
.1  GROFF_BIN_PATH=3D/usr/obj/ia64/CURRENT/usr/src/i386/usr/bin  GROFF_FONT=
_PATH=3D/usr/obj/ia64/CURRENT/usr/src/i386/usr/share/groff_font  GROFF_TMAC=
_PATH=3D/usr/obj/ia64/CURRENT/usr/src/i386/usr/share/tmac  DESTDIR=3D/usr/o=
bj/ia64/CURRENT/usr/src/i386  INSTALL=3D"sh /CURRENT/usr/src/tools/install.=
sh"  PATH=3D/usr/obj/ia64/CURRENT/usr/src/i386/usr/sbin:/usr/obj/ia64/CURRE=
NT/usr/src/i386/usr/bin:/usr/obj/ia64/CURRENT/usr/src/i386/usr/games:/sbin:=
/bin:/usr/sbin:/usr/bin make -f Makefile.inc1 all
: [...]
: =3D=3D=3D> bin/rmail
: cc -O -pipe  -I/CURRENT/usr/src/bin/rmail/../../contrib/sendmail/include =
-I.     -c /CURRENT/usr/src/contrib/sendmail/rmail/rmail.c
: cc -O -pipe  -I/CURRENT/usr/src/bin/rmail/../../contrib/sendmail/include =
-I.       -o rmail rmail.o /usr/obj/ia64/CURRENT/usr/src/bin/rmail/../../li=
b/libsm/libsm.a=20
: gzip -cn /CURRENT/usr/src/bin/rmail/../../contrib/sendmail/rmail/rmail.8 =
> rmail.8.gz
: groff -Tascii -mtty-char -man -t /CURRENT/usr/src/bin/rmail/../../contrib=
/sendmail/rmail/rmail.8 | gzip -cn > rmail.8.cat.gz
: =3D=3D=3D> games
: =3D=3D=3D> games/adventure
: cc -O -pipe    -Wall -Wno-format-y2k -Wno-uninitialized  -c /CURRENT/usr/=
src/games/adventure/main.c
: cc -O -pipe    -Wall -Wno-format-y2k -Wno-uninitialized  -c /CURRENT/usr/=
src/games/adventure/init.c
: cc -O -pipe    -Wall -Wno-format-y2k -Wno-uninitialized  -c /CURRENT/usr/=
src/games/adventure/done.c
: cc -O -pipe    -Wall -Wno-format-y2k -Wno-uninitialized  -c /CURRENT/usr/=
src/games/adventure/save.c
: cc -O -pipe    -Wall -Wno-format-y2k -Wno-uninitialized  -c /CURRENT/usr/=
src/games/adventure/subr.c
: cc -O -pipe    -Wall -Wno-format-y2k -Wno-uninitialized  -c /CURRENT/usr/=
src/games/adventure/vocab.c
: cc -O -pipe    -Wall -Wno-format-y2k -Wno-uninitialized  -c /CURRENT/usr/=
src/games/adventure/wizard.c
: cc -O -pipe    -Wall -Wno-format-y2k -Wno-uninitialized  -c /CURRENT/usr/=
src/games/adventure/io.c
: cc -O -pipe    -Wall -Wno-format-y2k -Wno-uninitialized  -c data.c
: cc -O -pipe    -Wall -Wno-format-y2k -Wno-uninitialized  -c /CURRENT/usr/=
src/games/adventure/crc.c
: cc -O -pipe    -Wall -Wno-format-y2k -Wno-uninitialized   -o adventure ma=
in.o init.o done.o save.o subr.o vocab.o wizard.o io.o data.o crc.o=20
: /usr/obj/ia64/CURRENT/usr/src/i386/usr/lib/libc.so: undefined reference t=
o `__builtin_va_end'
: /usr/obj/ia64/CURRENT/usr/src/i386/usr/lib/libc.so: undefined reference t=
o `__builtin_stdarg_start'
: *** Error code 1
:=20
: Stop in /CURRENT/usr/src/games/adventure.
: *** Error code 1

While looking at the relevant libc object files, I notice, e.g.:

: # file asprintf.o
: asprintf.o: ELF 64-bit LSB relocatable, IA-64 (Intel 64 bit architecture)=
 version 1 (FreeBSD), not stripped
:=20
: # OBJFORMAT_PATH=3D/usr/obj/ia64/CURRENT/usr/src/i386/usr/libexec /usr/ob=
j/ia64/CURRENT/usr/src/i386/usr/bin/nm asprintf.o
:                  U __builtin_stdarg_start
:                  U __builtin_va_end
:                  U __error
:                  U __swbuf
:                  U __vfprintf
: 0000000000000000 T asprintf
:                  U malloc
:                  U reallocf

Alpha version of the same file cross-compiled in the same environment
(4.5-STABLE i386 box) looks like this:

: # file asprintf.o
: asprintf.o: ELF 64-bit LSB relocatable, Alpha (unofficial), version 1 (Fr=
eeBSD), not stripped
:=20
: # OBJFORMAT_PATH=3D/data/ru/R/usr/obj/alpha/usr/src/i386/usr/libexec /dat=
a/ru/R/usr/obj/alpha/usr/src/i386/usr/bin/nm asprintf.o
:                  U __error
:                  U __vfprintf
: 0000000000000000 T asprintf
:                  U malloc
:                  U reallocf

I've then checked that builtins.c:expand_builtin_va_end() is really
called for ia64, but my knowledge of gcc internals is near nothing
to fix it.  Could you please look into it?


Cheers,
--=20
Ruslan Ermilov		Sysadmin and DBA,
ru@sunbay.com		Sunbay Software AG,
ru@FreeBSD.org		FreeBSD committer,
+380.652.512.251	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age

--6CXocAQn8Xbegyxo
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (FreeBSD)

iD8DBQE84kMfUkv4P6juNwoRAhG5AJ9t1AO0MxEJBUuCvFNb8Bharha8SACfQPBp
7QU+/ZB81/1F0LI/tIgzp7E=
=tCTI
-----END PGP SIGNATURE-----

--6CXocAQn8Xbegyxo--

--uZ3hkaAS1mZxFaxD
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (FreeBSD)

iD8DBQE84pEYUkv4P6juNwoRAnEvAJ9CoeTn0EEcSM3E83r4bUxlV0uBAwCfeOrG
WtUmex6+6VwJs9HPycqaLdQ=
=GN5i
-----END PGP SIGNATURE-----

--uZ3hkaAS1mZxFaxD--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ia64" in the body of the message




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