Compilation failure with WITH_DTRACE_TESTS on mips/mips and powerpc/powerpc; it's trying to compile a host object on mips/powerpc because MAKEOBJDIRPREFIX is incorrect

NGie Cooper yaneurabeya at gmail.com
Fri Oct 30 22:03:59 UTC 2015


On Fri, Oct 30, 2015 at 2:34 PM, Bryan Drewery <bdrewery at freebsd.org> wrote:
> On 10/30/2015 2:21 PM, Bryan Drewery wrote:
>> On 10/30/2015 1:57 PM, NGie Cooper wrote:
>>> Hi Bryan/Simon!
>>>      I tried doing buildworld on powerpc/powerpc with -DWITH_DTRACE_TESTS and I ran into this linker issue below. I have no idea (yet) why it’s trying to compile an x64 object when I specify powerpc/powerpc — and more importantly, why is the object not being put in obj.powerpc?
>>>      I ran into the same issue on ref11-amd64.freebsd.org when I ran “make tinderbox".
>>> Thanks!
>>> -NGie
>>>
>>
>> Have you modified any of your local toolchain handling, or skipped
>> CLANG_BOOTSTRAP? I would expect this to be failing much more broadly and
>> there to be a lot more reports if there was a problem with buildworld
>> cross compiling.
>>
>>> % make buildworld TARGET=powerpc TARGET_ARCH=powerpc
>>>>>> ===> cddl/usr.sbin/dtrace/tests/common/json (all)
>>> (cd /usr/src/svn/cddl/usr.sbin/dtrace/tests/common/json &&  DEPENDFILE=.depend.tst.usdt.exe  NO_SUBDIR=1 make -f /usr/src/svn/cddl/usr.sbin/dtrace/tests/common/json/Makefile _RECURSING_PROGS=  PROG=tst.usdt.exe )
>>> cc  -O2 -pipe -fno-strict-aliasing -O2 -pipe   -O0 -g -I/usr/obj/powerpc.powerpc/usr/src/svn/cddl/usr.sbin/dtrace/tests/common/json -std=gnu99 -fstack-protector-strong    -c /usr/src/svn/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/json/tst.usdt.c -o tst.usdt.o
>>> dtrace -C -x nolibs -G -o usdt.o -s /usr/src/svn/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/json/usdt.d tst.usdt.o
>>> dtrace: failed to link script /usr/src/svn/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/json/usdt.d: incorrect ELF machine type for object file: tst.usdt.o
>>> *** Error code 1
>>> $ find /usr/obj/usr/src/svn/ -name tst.usdt.o
>>> /usr/obj/usr/src/svn/cddl/usr.sbin/dtrace/tests/common/json/tst.usdt.o
>>> $ file /usr/obj/usr/src/svn/cddl/usr.sbin/dtrace/tests/common/json/tst.usdt.o
>>> /usr/obj/usr/src/svn/cddl/usr.sbin/dtrace/tests/common/json/tst.usdt.o: ELF 64-bit LSB relocatable, x86-64, version 1 (FreeBSD), not stripped
>>>
>
> I ran a buildworld with TARGET=powerpc just a few days ago and it seemed
> to be fine with PROGS.  Here's a test object built via PROGS:
>
> ~/git/freebsd # find /usr/obj/powerpc.powerpc -name ld_library_pathfds.o
> /usr/obj/powerpc.powerpc/root/git/freebsd/libexec/rtld-elf/tests/ld_library_pathfds.o
> ~/git/freebsd # file
> /usr/obj/powerpc.powerpc/root/git/freebsd/libexec/rtld-elf/tests/ld_library_pathfds.o
> /usr/obj/powerpc.powerpc/root/git/freebsd/libexec/rtld-elf/tests/ld_library_pathfds.o:
> ELF 32-bit MSB relocatable, PowerPC or cisco 4500, version 1 (FreeBSD),
> not stripped
> -rw-r--r--  1 root  wheel  21136 Oct 23 17:08
> /usr/obj/powerpc.powerpc/root/git/freebsd/libexec/rtld-elf/tests/ld_library_pathfds.o
>
> I see nothing special with the DTRACE_TESTS to change any of this.

I could see there being a possible issue with my host VM, but I
haven't modified my environment in ref11-amd64.freebsd.org at all.

Could you please try reproing it there with your user?

Thanks,
-NGie


More information about the freebsd-current mailing list