Re: Quick test building a module cross all targets and architectures

From: Hans Petter Selasky <hps_at_selasky.org>
Date: Tue, 3 Nov 2015 13:24:06 +0100
On 10/27/15 17:16, Hans Petter Selasky wrote:
> On 10/27/15 16:49, John Baldwin wrote:
>>   With MAKE_JUST_WORLDS you would only build
>> a "generic" module once per architecture.  That savings is likely far
>> more
>> than the cost of the additional tools.
>
> I will try it out. Thanks for your hints and tips.
>

Hi,

Running:

make buildworld TARGET=arm TARGET_ARCH=armv6 MAKE_JUST_WORLDS=yes 
SUBDIR_OVERRIDE=sys/modules MODULES_OVERRIDE=linuxkpi -DNO_CLEAN

I get:

> --------------------------------------------------------------
>>>> stage 4.4: building everything
> --------------------------------------------------------------
> cd /usr/img/freebsd; MAKEOBJDIRPREFIX=/usr/obj/arm.armv6  MACHINE_ARCH=armv6  MACHINE=arm  CPUTYPE= GROFF_BIN_PATH=/usr/obj/arm.armv6/usr/img/freebsd/tmp/legacy/usr/bin  GROFF_FONT_PATH=/usr/obj/arm.armv6/usr/img/freebsd/tmp/legacy/usr/share/groff_font  GROFF_TMAC_PATH=/usr/obj/arm.armv6/usr/img/freebsd/tmp/legacy/usr/share/tmac  _LDSCRIPTROOT=  INSTALL="sh /usr/img/freebsd/tools/install.sh"  PATH=/usr/obj/arm.armv6/usr/img/freebsd/tmp/legacy/usr/sbin:/usr/obj/arm.armv6/usr/img/freebsd/tmp/legacy/usr/bin:/usr/obj/arm.armv6/usr/img/freebsd/tmp/legacy/bin:/usr/obj/arm.armv6/usr/img/freebsd/tmp/usr/sbin:/usr/obj/arm.armv6/usr/img/freebsd/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin CC="cc " CXX="c++  "  DEPFLAGS=""  CPP="cpp "  AS="as" AR="ar" LD="ld" NM=nm  OBJDUMP=objdump OBJCOPY="objcopy"  RANLIB=ranlib STRINGS=  SIZE="size" make  -f Makefile.inc1 DESTDIR=/usr/obj/arm.armv6/usr/img/freebsd/tmp par-all
> ===> sys/modules (all)
> ===> sys/modules/linuxkpi (all)
> cc  -O -pipe -mfloat-abi=softfp  -Werror -D_KERNEL -DKLD_MODULE -nostdinc  -I/usr/img/freebsd/sys/modules/linuxkpi/../../compat/linuxkpi/common/include -I. -I/usr/img/freebsd/sys/modules/linuxkpi/../.. -fno-common  -funwind-tables  -ffreestanding -fwrapv -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__  -Wmissing-include-dirs -fdiagnostics-show-option  -Wno-unknown-pragmas  -Wno-error-tautological-compare -Wno-error-empty-body  -Wno-error-parentheses-equality -Wno-error-unused-function  -Wno-error-pointer-sign -Wno-error-shift-negative-value  -mllvm -arm-use-movt=0 -mfpu=none  -std=iso9899:1999 -c /usr/img/freebsd/sys/modules/linuxkpi/../../compat/linuxkpi/common/src/linux_compat.c -o linux_compat.o
> In file included from /usr/img/freebsd/sys/modules/linuxkpi/../../compat/linuxkpi/common/src/linux_compat.c:38:
> In file included from /usr/img/freebsd/sys/modules/linuxkpi/../../sys/proc.h:66:
> In file included from /usr/img/freebsd/sys/modules/linuxkpi/../../sys/_vm_domain.h:34:
> In file included from /usr/img/freebsd/sys/modules/linuxkpi/../../sys/seq.h:70:
> ./machine/cpu.h:22:9: error: implicit declaration of function 'cp15_pmccntr_get' is invalid in C99
>       [-Werror,-Wimplicit-function-declaration]
>         return cp15_pmccntr_get();
>                ^
> 1 error generated.
> *** Error code 1

And when running:

make -DNO_CLEAN -j6 universe MAKE_JUST_KERNELS=yes MODULES_OVERRIDE=linuxkpi

With my "sys/conf/kern.post.mk" patch, it passes all the variants.


Is this the expected behaviour or a bug somewhere?


--HPS
Received on Tue Nov 03 2015 - 11:22:25 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:00 UTC