This was from an amd64 -> arm64.aarch64 cross build context and was an
attempt to build a debug kernel.

# uname -apKU
FreeBSD FreeBSDx64OPC 12.0-CURRENT FreeBSD 12.0-CURRENT  r323246M  amd64 amd64 
1200043 1200043

# svnlite info /usr/src/ | grep "Re[plv]"
Relative URL: ^/head
Repository Root: svn://svn.freebsd.org/base
Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Revision: 323246
Last Changed Rev: 323246

--- pmap.o ---
/usr/src/sys/arm64/arm64/pmap.c:903:1: error: no previous prototype for 
function 'pmap_invalidate_page' [-Werror,-Wmissing-prototypes]
pmap_invalidate_page(pmap_t pmap, vm_offset_t va)
^
/usr/src/sys/arm64/arm64/pmap.c:917:1: error: no previous prototype for 
function 'pmap_invalidate_range' [-Werror,-Wmissing-prototypes]
pmap_invalidate_range(pmap_t pmap, vm_offset_t sva, vm_offset_t eva)
^
/usr/src/sys/arm64/arm64/pmap.c:934:1: error: no previous prototype for 
function 'pmap_invalidate_all' [-Werror,-Wmissing-prototypes]
pmap_invalidate_all(pmap_t pmap)
^
. . .
3 errors generated.
*** [pmap.o] Error code 1

make[2]: stopped in 
/usr/obj/cortexA53dbg_clang/arm64.aarch64/usr/src/sys/GENERIC-DBG
.ERROR_TARGET='pmap.o'
.ERROR_META_FILE='/usr/obj/cortexA53dbg_clang/arm64.aarch64/usr/src/sys/GENERIC-DBG/pmap.o.meta'
.MAKE.LEVEL='2'
MAKEFILE=''
.MAKE.MODE='meta missing-filemon=yes missing-meta=yes silent=yes verbose 
curdirOk=yes'
_ERROR_CMD='cc -mcpu=cortex-a53 -target aarch64-unknown-freebsd12.0 
--sysroot=/usr/obj/cortexA53dbg_clang/arm64.aarch64/usr/src/tmp 
-B/usr/obj/cortexA53dbg_clang/arm64.aarch64/usr/src/tmp/usr/bin -c -O -pipe  -g 
-nostdinc  -I. -I/usr/src/sys -I/usr/src/sys/contrib/libfdt -D_KERNEL 
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h  -fno-omit-frame-pointer 
-mno-omit-leaf-frame-pointer -mgeneral-regs-only -ffixed-x18 -ffreestanding 
-fwrapv -fstack-protector -gdwarf-2 -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 
-Wno-error-address-of-packed-member    -std=iso9899:1999 -Werror  
/usr/src/sys/arm64/arm64/pmap.c; ctfconvert -
 L VERSION -g pmap.o;'
.CURDIR='/usr/obj/cortexA53dbg_clang/arm64.aarch64/usr/src/sys/GENERIC-DBG'
.MAKE='make'
.OBJDIR='/usr/obj/cortexA53dbg_clang/arm64.aarch64/usr/src/sys/GENERIC-DBG'
.TARGETS='all'
DESTDIR=''
LD_LIBRARY_PATH=''
MACHINE='arm64'
MACHINE_ARCH='aarch64'
MAKEOBJDIRPREFIX='/usr/obj/cortexA53dbg_clang/arm64.aarch64'
MAKESYSPATH='/usr/src/share/mk'
MAKE_VERSION='20170720'
PATH='/usr/obj/cortexA53dbg_clang/arm64.aarch64/usr/src/tmp/legacy/usr/sbin:/usr/obj/cortexA53dbg_clang/arm64.aarch64/usr/src/tmp/legacy/usr/bin:/usr/obj/cortexA53dbg_clang/arm64.aarch64/usr/src/tmp/legacy/bin:/usr/obj/cortexA53dbg_clang/arm64.aarch64/usr/src/tmp/usr/sbin:/usr/obj/cortexA53dbg_clang/arm64.aarch64/usr/src/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin'
SRCTOP='/usr/src'
OBJTOP='/usr/src'
.MAKE.MAKEFILES='/usr/src/share/mk/sys.mk /usr/src/share/mk/local.sys.env.mk 
/usr/src/share/mk/src.sys.env.mk 
/root/src.configs/src.conf.cortexA53dbg-clang-bootstrap.amd64-host 
/usr/src/share/mk/bsd.mkopt.mk /usr/src/share/mk/bsd.suffixes.mk 
/root/src.configs/make.conf /usr/src/share/mk/local.sys.mk 
/usr/src/share/mk/src.sys.mk /dev/null Makefile /usr/src/sys/conf/kern.pre.mk 
/usr/src/share/mk/bsd.own.mk /usr/src/share/mk/bsd.opts.mk 
/usr/src/share/mk/bsd.cpu.mk /usr/src/share/mk/bsd.compiler.mk 
/usr/src/share/mk/bsd.linker.mk /usr/src/sys/conf/kern.opts.mk 
/usr/src/sys/conf/kern.post.mk /usr/src/sys/conf/kern.mk'
.PATH='. /usr/obj/cortexA53dbg_clang/arm64.aarch64/usr/src/sys/GENERIC-DBG'
1 error


# grep -r pmap_invalidate_page /usr/src/sys/arm64/ | more
/usr/src/sys/arm64/arm64/pmap.c:pmap_invalidate_page(pmap_t pmap, vm_offset_t 
va)
/usr/src/sys/arm64/arm64/pmap.c:        pmap_invalidate_page(kernel_pmap, va);
/usr/src/sys/arm64/arm64/pmap.c:        pmap_invalidate_page(pmap, va);
/usr/src/sys/arm64/arm64/pmap.c:                
pmap_invalidate_page(kernel_pmap, kernel_vm_end);
/usr/src/sys/arm64/arm64/pmap.c:                                
pmap_invalidate_page(pmap, va);
/usr/src/sys/arm64/arm64/pmap.c:        pmap_invalidate_page(pmap, va);
/usr/src/sys/arm64/arm64/pmap.c:                pmap_invalidate_page(pmap, 
pv->pv_va);
/usr/src/sys/arm64/arm64/pmap.c:                        
pmap_invalidate_page(pmap, sva);
/usr/src/sys/arm64/arm64/pmap.c:                pmap_invalidate_page(pmap, va);
/usr/src/sys/arm64/arm64/pmap.c:                        
pmap_invalidate_page(pmap, va);
/usr/src/sys/arm64/arm64/pmap.c:        pmap_invalidate_page(pmap, va);
/usr/src/sys/arm64/arm64/pmap.c:                                
pmap_invalidate_page(pmap, va);
/usr/src/sys/arm64/arm64/pmap.c:        pmap_invalidate_page(pmap, va);
/usr/src/sys/arm64/arm64/pmap.c:                        
pmap_invalidate_page(pmap, pv->pv_va);
/usr/src/sys/arm64/arm64/pmap.c:                                
pmap_invalidate_page(pmap, pv->pv_va);

I will note that WERROR= was not in use:

# more ~/src.configs/src.conf.cortexA53dbg-clang-bootstrap.amd64-host 
TO_TYPE=aarch64
TOOLS_TO_TYPE=${TO_TYPE}
#
KERNCONF=GENERIC-DBG
TARGET=arm64
.if ${.MAKE.LEVEL} == 0
TARGET_ARCH=${TO_TYPE}
.export TARGET_ARCH
.endif
#
WITH_CROSS_COMPILER=
WITHOUT_SYSTEM_COMPILER=
#
WITH_LIBCPLUSPLUS=
WITHOUT_BINUTILS_BOOTSTRAP=
WITH_ELFTOOLCHAIN_BOOTSTRAP=
WITH_CLANG_BOOTSTRAP=
WITH_CLANG=
WITH_CLANG_IS_CC=
WITH_CLANG_FULL=
WITH_CLANG_EXTRAS=
WITH_LLD_BOOTSTRAP=
WITH_LLD=
WITH_LLD_IS_LD=
WITH_LLDB=
#
WITH_BOOT=
WITHOUT_LIB32=
#
WITHOUT_GCC_BOOTSTRAP=
WITHOUT_GCC=
WITHOUT_GCC_IS_CC=
WITHOUT_GNUCXX=
#
NO_WERROR=
#WERROR=
#MALLOC_PRODUCTION=
#
WITH_REPRODUCIBLE_BUILD=
WITH_DEBUG_FILES=
#
#CROSS_BINUTILS_PREFIX=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/
XCFLAGS+= -mcpu=cortex-a53
XCXXFLAGS+= -mcpu=cortex-a53
# There is no XCPPFLAGS but XCPP gets XCFLAGS content.


I will note that there are other architectures with the
likes of:

/usr/src/sys/i386/include/pmap.h:void   pmap_invalidate_page(pmap_t, 
vm_offset_t);
/usr/src/sys/mips/mips/pmap.c:static void pmap_invalidate_page(pmap_t pmap, 
vm_offset_t va);
/usr/src/sys/amd64/include/pmap.h:void  pmap_invalidate_page(pmap_t, 
vm_offset_t);




===
Mark Millard
markmi at dsl-only.net

_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to