[Evidence from inside poudriere bulk -j... -i ports-mgmt/pkg . Use of native /nxb-bin/. . . leads to MACHINE_ARCH being amd64 instead of armv7 or the like. See later supporting material.]
On 2018-Nov-14, at 14:38, Bryan Drewery <bdrew...@freebsd.org> wrote: > On 11/14/18 2:35 PM, Mark Millard wrote: >> [Looking at package fallout logs: the official armv6 and armv7 >> builds are using -O2 because of MACHINE_ARCH being defined >> because of qemu-user-static use. (mips too?) The logic in >> share/mk/sys.mk is not causing -O . An implication >> is that -O2 for armv6 and armv7 is probably far more tested >> than people generally expect. The share/mk/sys.mk change >> goes back to -r319861 2017-Jun-12 . Previously the logic >> would have caused -O use for armv6 or armv7 in MACHINE_ARCH .] > > r319861 doesn't look related here. # more /etc/make.conf .sinclude "/etc/make.nxb.conf" USE_PACKAGE_DEPENDS=yes BATCH=yes WRKDIRPREFIX=/wrkdirs PORTSDIR=/usr/ports PACKAGES=/packages DISTDIR=/distfiles FORCE_PACKAGE=yes PACKAGE_BUILDING=yes PACKAGE_BUILDING_FLAVORS=yes MACHINE=arm MACHINE_ARCH=armv7 ARCH=${MACHINE_ARCH} #### /usr/local/etc/poudriere.d/make.conf #### #### /usr/ports/Mk/Scripts/ports_env.sh #### _CCVERSION_9d218390=FreeBSD clang version 6.0.1 (tags/RELEASE_601/final 335540) (based on LLVM 6.0.1) Target: armv7-unknown-freebsd13.0-gnueabihf Thread model: posix InstalledDir: /nxb-bin/usr/bin _ALTCCVERSION_9d218390=none _CXXINTERNAL_9c45a5b1=FreeBSD clang version 6.0.1 (tags/RELEASE_601/final 335540) (based on LLVM 6.0.1) Target: armv7-unknown-freebsd13.0-gnueabihf Thread model: posix InstalledDir: /nxb-bin/usr/bin "/nxb-bin/usr/bin/ld" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld-elf.so.1" "--hash-style=both" "--enable-new-dtags" "-o" "a.out" "/usr/lib/crt1.o" "/usr/lib/crti.o" "/usr/lib/crtbegin.o" "-L/usr/lib" "/dev/null" "-lc++" "-lm" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "-lc" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "/usr/lib/crtend.o" "/usr/lib/crtn.o" CC_OUTPUT_9d218390_58173849=yes CC_OUTPUT_9d218390_9bdba57c=yes CC_OUTPUT_9d218390_6a4fe7f5=yes CC_OUTPUT_9d218390_6bcac02b=yes CC_OUTPUT_9d218390_67d20829=yes CC_OUTPUT_9d218390_bfa62e83=yes CC_OUTPUT_9d218390_f0b4d593=yes CC_OUTPUT_9d218390_308abb44=yes CC_OUTPUT_9d218390_f00456e5=yes CC_OUTPUT_9d218390_65ad290d=yes CC_OUTPUT_9d218390_f2776b26=yes CC_OUTPUT_9d218390_b2657cc3=yes CC_OUTPUT_9d218390_380987f7=yes CC_OUTPUT_9d218390_160933ec=yes CC_OUTPUT_9d218390_fb62803b=yes _OBJC_CCVERSION_9d218390=FreeBSD clang version 6.0.1 (tags/RELEASE_601/final 335540) (based on LLVM 6.0.1) Target: armv7-unknown-freebsd13.0-gnueabihf Thread model: posix InstalledDir: /nxb-bin/usr/bin _OBJC_ALTCCVERSION_9d218390=none ARCH=armv7 OPSYS=FreeBSD _OSRELEASE=13.0-CURRENT OSREL=13.0 OSVERSION=1300003 PYTHONBASE=/usr/local _SMP_CPUS=32 CONFIGURE_MAX_CMD_LEN=262144 HAVE_PORTS_ENV=1 #### Misc Poudriere #### GID=0 UID=0 PACKAGES=/packages # more /etc/src.conf /etc/src.conf: No such file or directory # more Makefile all: echo ${MACHINE_ARCH} echo ${MACHINE_CPUARCH} echo ${CFLAGS} # make echo armv7 armv7 echo arm arm echo -O2 -pipe -O2 -pipe # grep -r "\-O2" /usr/src/share/mk/ /usr/src/share/mk/sys.mk:CFLAGS ?= -O2 -pipe # grep -r "\-pipe" /usr/src/share/mk/ /usr/src/share/mk/sys.mk:CFLAGS ?= -O -pipe /usr/src/share/mk/sys.mk:CFLAGS ?= -O2 -pipe Those lines come from: .if ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "mips" CFLAGS ?= -O -pipe .else CFLAGS ?= -O2 -pipe .endif So I used: # make -dA 2>2mmjnk.txt 1>1mmjnk.txt and looked for the first -pipe in 2mmjnk.txt. (It is also the first -O , in this case -O2 .) . . . Got 'C/mips(n32|64)?(el)?(hf)?/mips/:C/arm(v[67])?(eb)?/arm/:C/powerpc(64|spe)/powerpc/:C/riscv64(sf)?/riscv/' from '${__TO_CPUARCH}'} Applying[MACHINE_ARCH] :C to "amd64" Modifier pattern: "mips(n32|64)?(el)?(hf)?" Modifier pattern: "mips" Result[MACHINE_ARCH] of :C is "amd64" Applying[MACHINE_ARCH] :C to "amd64" Modifier pattern: "arm(v[67])?(eb)?" Modifier pattern: "arm" Result[MACHINE_ARCH] of :C is "amd64" Applying[MACHINE_ARCH] :C to "amd64" Modifier pattern: "powerpc(64|spe)" Modifier pattern: "powerpc" Result[MACHINE_ARCH] of :C is "amd64" Applying[MACHINE_ARCH] :C to "amd64" Modifier pattern: "riscv64(sf)?" Modifier pattern: "riscv" Result[MACHINE_ARCH] of :C is "amd64" lhs = "amd64", rhs = "arm", op = == Got 'C/mips(n32|64)?(el)?(hf)?/mips/:C/arm(v[67])?(eb)?/arm/:C/powerpc(64|spe)/powerpc/:C/riscv64(sf)?/riscv/' from '${__TO_CPUARCH}'} Applying[MACHINE_ARCH] :C to "amd64" Modifier pattern: "mips(n32|64)?(el)?(hf)?" Modifier pattern: "mips" Result[MACHINE_ARCH] of :C is "amd64" Applying[MACHINE_ARCH] :C to "amd64" Modifier pattern: "arm(v[67])?(eb)?" Modifier pattern: "arm" Result[MACHINE_ARCH] of :C is "amd64" Applying[MACHINE_ARCH] :C to "amd64" Modifier pattern: "powerpc(64|spe)" Modifier pattern: "powerpc" Result[MACHINE_ARCH] of :C is "amd64" Applying[MACHINE_ARCH] :C to "amd64" Modifier pattern: "riscv64(sf)?" Modifier pattern: "riscv" Result[MACHINE_ARCH] of :C is "amd64" lhs = "amd64", rhs = "mips", op = == ParseReadLine (172): 'CFLAGS ?= -O2 -pipe' Global:CFLAGS = -O2 -pipe It looks like the poudriere builds based on /nxb-bin/. . . See the amd64 MACHINE_ARCH in the context that shows: # uname -apKU FreeBSD FBSDamd64TR 13.0-CURRENT FreeBSD 13.0-CURRENT arm armv7 1300003 1300003 === Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar) _______________________________________________ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"