Date: Thu, 15 Jun 2017 21:20:08 -0700 From: Mark Millard <markmi@dsl-only.net> To: FreeBSD Toolchain <freebsd-toolchain@freebsd.org> Cc: FreeBSD PowerPC ML <freebsd-ppc@freebsd.org> Subject: Re: -r319936 and -r319991 TARGET_ARCH=powerpc via clang: boot1.chrp/boot1.c:(.text+0x14b8): undefined reference to `__udivdi3' (boot1.o: In function `fsread_size') Message-ID: <E39EEE8E-29B0-4F32-8A07-3C11FA728DF0@dsl-only.net> In-Reply-To: <D1A5D702-7C77-4288-93E2-3C41A6F5417F@dsl-only.net> References: <D1A5D702-7C77-4288-93E2-3C41A6F5417F@dsl-only.net>
next in thread | previous in thread | raw e-mail | index | archive | help
[A gcc 4.2.1 based buildworld buildkernel did not have this problem.] On 2017-Jun-15, at 5:34 PM, Mark Millard <markmi@dsl-only.net> wrote: > Context: amd64 -> powerpc cross build of -r319936 > (one of my usual clang-based experiments): >=20 > --- all_subdir_sys --- > Building = /usr/obj/powerpcvtsc_clang/powerpc.powerpc/usr/src/sys/boot/powerpc/boot1.= chrp/boot1.elf > --- boot1.elf --- > boot1.o: In function `fsread_size': > /usr/src/sys/boot/powerpc/boot1.chrp/boot1.c:(.text+0x14b8): undefined = reference to `__udivdi3' > /usr/src/sys/boot/powerpc/boot1.chrp/boot1.c:(.text+0x1508): undefined = reference to `__udivdi3' > cc: error: linker command failed with exit code 1 (use -v to see = invocation) > --- all_subdir_lib --- > Building = /usr/obj/powerpcvtsc_clang/powerpc.powerpc/usr/src/lib/msun/s_remquo.po > --- all_subdir_sys --- > *** [boot1.elf] Error code 1 >=20 > make[6]: stopped in /usr/src/sys/boot/powerpc/boot1.chrp > .ERROR_TARGET=3D'boot1.elf' > = .ERROR_META_FILE=3D'/usr/obj/powerpcvtsc_clang/powerpc.powerpc/usr/src/sys= /boot/powerpc/boot1.chrp/boot1.elf.meta' >=20 >=20 > # Meta data file = /usr/obj/powerpcvtsc_clang/powerpc.powerpc/usr/src/sys/boot/powerpc/boot1.= chrp/boot1.elf.meta > CMD cc -target powerpc-unknown-freebsd12.0 = --sysroot=3D/usr/obj/powerpcvtsc_clang/powerpc.powerpc/usr/src/tmp = -B/usr/obj/powerpcvtsc_clang/powerpc.powerpc/usr/src/tmp/usr/bin = -ffreestanding -msoft-float = -I/usr/src/sys/boot/powerpc/boot1.chrp/../../common = -I/usr/src/sys/boot/powerpc/boot1.chrp/../../../ -D_STANDALONE = -std=3Dgnu99 -Qunused-arguments -nostdlib -static -Wl,-N -o boot1.elf = boot1.o ashldi3.o syncicache.o =20 > CWD = /usr/obj/powerpcvtsc_clang/powerpc.powerpc/usr/src/sys/boot/powerpc/boot1.= chrp > TARGET boot1.elf > -- command output -- > boot1.o: In function `fsread_size': > /usr/src/sys/boot/powerpc/boot1.chrp/boot1.c:(.text+0x14b8): undefined = reference to `__udivdi3' > /usr/src/sys/boot/powerpc/boot1.chrp/boot1.c:(.text+0x1508): undefined = reference to `__udivdi3' > cc: error: linker command failed with exit code 1 (use -v to see = invocation) > *** Error code 1 >=20 > Note: This was -j16 for the build. >=20 > I updated /usr/src and amd64 to -r319991 and then > retried cross building for powerpc: same result. >=20 >=20 > Note: I'd frozen at -r317820 until this update. Back then > I could buildworld and buildkernel via clang (although > I could not boot the clang-based kernel and so had to > build a gcc 4.2.1 based one and use it). I tried a gcc 4.2.1 buildworld buildkernel and it completed fine. The __udivdi3 problem is clang toolchain specific. =3D=3D=3D Mark Millard markmi at dsl-only.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E39EEE8E-29B0-4F32-8A07-3C11FA728DF0>