From owner-freebsd-current@freebsd.org Sat Sep 9 03:34:57 2017 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1C1B1E21BB0 for ; Sat, 9 Sep 2017 03:34:57 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: from asp.reflexion.net (outbound-mail-210-10.reflexion.net [208.70.210.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D33EB7C629 for ; Sat, 9 Sep 2017 03:34:56 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: (qmail 18729 invoked from network); 9 Sep 2017 03:34:55 -0000 Received: from unknown (HELO rtc-sm-01.app.dca.reflexion.local) (10.81.150.1) by 0 (rfx-qmail) with SMTP; 9 Sep 2017 03:34:55 -0000 Received: by rtc-sm-01.app.dca.reflexion.local (Reflexion email security v8.40.2) with SMTP; Fri, 08 Sep 2017 23:34:55 -0400 (EDT) Received: (qmail 14498 invoked from network); 9 Sep 2017 03:34:54 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with (AES256-SHA encrypted) SMTP; 9 Sep 2017 03:34:54 -0000 Received: from [192.168.1.109] (c-67-170-167-181.hsd1.or.comcast.net [67.170.167.181]) by iron2.pdx.net (Postfix) with ESMTPSA id 3789BEC7888; Fri, 8 Sep 2017 20:34:54 -0700 (PDT) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: head -r 323246 /usr/src/sys/arm64/arm64/pmap.c:. . . error: no previous prototype for function 'pmap_invalidate_page' (also pmap_invalidate_range and pmap_invalidate_all) Message-Id: Date: Fri, 8 Sep 2017 20:34:53 -0700 Cc: FreeBSD Toolchain To: freebsd-arm , FreeBSD Current X-Mailer: Apple Mail (2.3273) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Sep 2017 03:34:57 -0000 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=3D'pmap.o' = .ERROR_META_FILE=3D'/usr/obj/cortexA53dbg_clang/arm64.aarch64/usr/src/sys/= GENERIC-DBG/pmap.o.meta' .MAKE.LEVEL=3D'2' MAKEFILE=3D'' .MAKE.MODE=3D'meta missing-filemon=3Dyes missing-meta=3Dyes silent=3Dyes = verbose curdirOk=3Dyes' _ERROR_CMD=3D'cc -mcpu=3Dcortex-a53 -target aarch64-unknown-freebsd12.0 = --sysroot=3D/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__=3D__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=3Diso9899:1999 -Werror = /usr/src/sys/arm64/arm64/pmap.c; ctfconvert -L VERSION -g pmap.o;' = .CURDIR=3D'/usr/obj/cortexA53dbg_clang/arm64.aarch64/usr/src/sys/GENERIC-D= BG' .MAKE=3D'make' = .OBJDIR=3D'/usr/obj/cortexA53dbg_clang/arm64.aarch64/usr/src/sys/GENERIC-D= BG' .TARGETS=3D'all' DESTDIR=3D'' LD_LIBRARY_PATH=3D'' MACHINE=3D'arm64' MACHINE_ARCH=3D'aarch64' MAKEOBJDIRPREFIX=3D'/usr/obj/cortexA53dbg_clang/arm64.aarch64' MAKESYSPATH=3D'/usr/src/share/mk' MAKE_VERSION=3D'20170720' = PATH=3D'/usr/obj/cortexA53dbg_clang/arm64.aarch64/usr/src/tmp/legacy/usr/s= bin:/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/c= ortexA53dbg_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=3D'/usr/src' OBJTOP=3D'/usr/src' .MAKE.MAKEFILES=3D'/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=3D'. = /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=3D was not in use: # more ~/src.configs/src.conf.cortexA53dbg-clang-bootstrap.amd64-host=20 TO_TYPE=3Daarch64 TOOLS_TO_TYPE=3D${TO_TYPE} # KERNCONF=3DGENERIC-DBG TARGET=3Darm64 .if ${.MAKE.LEVEL} =3D=3D 0 TARGET_ARCH=3D${TO_TYPE} .export TARGET_ARCH .endif # WITH_CROSS_COMPILER=3D WITHOUT_SYSTEM_COMPILER=3D # WITH_LIBCPLUSPLUS=3D WITHOUT_BINUTILS_BOOTSTRAP=3D WITH_ELFTOOLCHAIN_BOOTSTRAP=3D WITH_CLANG_BOOTSTRAP=3D WITH_CLANG=3D WITH_CLANG_IS_CC=3D WITH_CLANG_FULL=3D WITH_CLANG_EXTRAS=3D WITH_LLD_BOOTSTRAP=3D WITH_LLD=3D WITH_LLD_IS_LD=3D WITH_LLDB=3D # WITH_BOOT=3D WITHOUT_LIB32=3D # WITHOUT_GCC_BOOTSTRAP=3D WITHOUT_GCC=3D WITHOUT_GCC_IS_CC=3D WITHOUT_GNUCXX=3D # NO_WERROR=3D #WERROR=3D #MALLOC_PRODUCTION=3D # WITH_REPRODUCIBLE_BUILD=3D WITH_DEBUG_FILES=3D # #CROSS_BINUTILS_PREFIX=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ XCFLAGS+=3D -mcpu=3Dcortex-a53 XCXXFLAGS+=3D -mcpu=3Dcortex-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); =3D=3D=3D Mark Millard markmi at dsl-only.net