Bug 268528 - devel/nasm: spawned thousends of gmake processes, bringing machine down
Summary: devel/nasm: spawned thousends of gmake processes, bringing machine down
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Lorenzo Salvadore
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-12-23 17:44 UTC by Johan Ström
Modified: 2022-12-31 01:04 UTC (History)
10 users (show)

See Also:
salvadore: maintainer-feedback+


Attachments
poudriere build log (103.37 KB, application/gzip)
2022-12-23 17:58 UTC, Johan Ström
no flags Details
nasm update (15.27 KB, patch)
2022-12-29 12:14 UTC, Lorenzo Salvadore
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Johan Ström 2022-12-23 17:44:35 UTC
After latest yesterday update (I guess), the build of devel/nasm (2.16.0.1) managed to almost bring my machine to it's knees. The prometheus node_exporter even managed to capture a load of 750... Lots of unresponsive stuff!

After I managed to login and managed to execute ps, I saw thousands of procs named

    gmake asm/warnings.c.time include/warnings.h.time doc/warnings.src.time

After su'ing and eventually managing to killall gmake, it all came down.

Looking at the log file, I can see that 17641 gmake processes was Terminated by the kill...

Feels like something is broken in this latest update. Log file is attached.

13.1-RELEASE-p3 FreeBSD 13.1-RELEASE-p3 GENERIC amd64
poudriere-git-3.3.99.20220831
devel/nasm 2.16.0.1
Comment 1 Johan Ström 2022-12-23 17:58:46 UTC
Created attachment 238986 [details]
poudriere build log

Had to gzip the log since it was too large..
Comment 2 freebsd 2022-12-23 18:04:39 UTC
Yep, same thing here on Poudriere. This is like a gmake fork() bomb, it halts a 30 processor CPU builder within minutes (technically it still runs and Poudriere logs are updating, but doing anything on the CLI (ssh or console) hangs. Runaway train somewhere.

=>> Building devel/nasm
build started at Fri Dec 23 18:38:40 CET 2022
port directory: /usr/ports/devel/nasm
package name: nasm-2.16.01,1
building for: FreeBSD Tepucom_FreeBSD13amd64-default-job-01 13.1-RELEASE-p4 FreeBSD 13.1-RELEASE-p4 amd64
maintained by: salvadore@FreeBSD.org
Makefile datestamp: -rw-r--r--  1 root  wheel  1072 Dec 23 03:01 /usr/ports/devel/nasm/Makefile
Ports top last git commit: addedbc5ae
Ports top unclean checkout: no
Port dir last git commit: 7fd00ba8fd
Port dir unclean checkout: no
Poudriere version: poudriere-git-3.3.99.20220831
Host OSVERSION: 1301000
Jail OSVERSION: 1301000
Job Id: 01

---Begin Environment---
SHELL=/bin/csh
OSVERSION=1301000
UNAME_v=FreeBSD 13.1-RELEASE-p4
UNAME_r=13.1-RELEASE-p4
BLOCKSIZE=K
MAIL=/var/mail/root
MM_CHARSET=UTF-8
LANG=C.UTF-8
STATUS=1
HOME=/root
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin
LOCALBASE=/usr/local
USER=root
POUDRIERE_NAME=poudriere-git
LIBEXECPREFIX=/usr/local/libexec/poudriere
POUDRIERE_VERSION=3.3.99.20220831
MASTERMNT=/data/poudriere/data/.m/Tepucom_FreeBSD13amd64-default/ref
LC_COLLATE=C
POUDRIERE_BUILD_TYPE=bulk
PACKAGE_BUILDING=yes
SAVED_TERM=tmux-256color
OUTPUT_REDIRECTED_STDERR=4
OUTPUT_REDIRECTED=1
PWD=/data/poudriere/data/.m/Tepucom_FreeBSD13amd64-default/01/.p
OUTPUT_REDIRECTED_STDOUT=3
P_PORTS_FEATURES=FLAVORS SELECTED_OPTIONS
MASTERNAME=Tepucom_FreeBSD13amd64-default
SCRIPTPREFIX=/usr/local/share/poudriere
SCRIPTNAME=bulk.sh
OLDPWD=/data/poudriere/data/.m/Tepucom_FreeBSD13amd64-default/ref/.p/pool
POUDRIERE_PKGNAME=poudriere-git-3.3.99.20220831
SCRIPTPATH=/usr/local/share/poudriere/bulk.sh
POUDRIEREPATH=/usr/local/bin/poudriere
---End Environment---

---Begin Poudriere Port Flags/Env---
PORT_FLAGS=
PKGENV=
FLAVOR=
DEPENDS_ARGS=
MAKE_ARGS=
---End Poudriere Port Flags/Env---

---Begin OPTIONS List---
===> The following configuration options are available for nasm-2.16.01,1:
     DOCS=on: Build and/or install documentation
     RDOFF=on: Install tools to handle RDOFF object files
===> Use 'make config' to modify these settings
---End OPTIONS List---

--MAINTAINER--
salvadore@FreeBSD.org
--End MAINTAINER--

--CONFIGURE_ARGS--
--prefix=/usr/local ${_LATE_CONFIGURE_ARGS}
--End CONFIGURE_ARGS--

--CONFIGURE_ENV--
ac_cv_func_strspn=yes MAKE=gmake ac_cv_path_PERL=/usr/local/bin/perl ac_cv_path_PERL_PATH=/usr/local/bin/perl  PERL_USE_UNSAFE_INC=1 XDG_DATA_HOME=/wrkdirs/usr/ports/devel/nasm/work  XDG_CONFIG_HOME=/wrkdirs/usr/ports/devel/nasm/work  XDG_CACHE_HOME=/wrkdirs/usr/ports/devel/nasm/work/.cache  HOME=/wrkdirs/usr/ports/devel/nasm/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/devel/nasm/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/devel/nasm/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig SHELL=/bin/sh CONFIG_SHELL=/bin/sh CONFIG_SITE=/usr/ports/Templates/config.site lt_cv_sys_max_cmd_len=524288
--End CONFIGURE_ENV--

--MAKE_ENV--
PERL_USE_UNSAFE_INC=1 XDG_DATA_HOME=/wrkdirs/usr/ports/devel/nasm/work  XDG_CONFIG_HOME=/wrkdirs/usr/ports/devel/nasm/work  XDG_CACHE_HOME=/wrkdirs/usr/ports/devel/nasm/work/.cache  HOME=/wrkdirs/usr/ports/devel/nasm/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/devel/nasm/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/devel/nasm/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local  LOCALBASE=/usr/local  CC="cc" CFLAGS="-O2 -pipe  -fstack-protector-strong -fno-strict-aliasing "  CPP="cpp" CPPFLAGS=""  LDFLAGS=" -fstack-protector-strong " LIBS=""  CXX="c++" CXXFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing  "  MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install  -s -m 555"  BSD_INSTALL_LIB="install  -s -m 0644"  BSD_INSTALL_SCRIPT="install  -m 555"  BSD_INSTALL_DATA="install  -m 0644"  BSD_INSTALL_MAN="install  -m 444"
--End MAKE_ENV--

--PLIST_SUB--
PORTDOCS="" DOCS="" NO_DOCS="@comment " RDOFF="" NO_RDOFF="@comment " OSREL=13.1 PREFIX=%D LOCALBASE=/usr/local  RESETPREFIX=/usr/local LIB32DIR=lib PERL_VERSION=5.32.1  PERL_VER=5.32  PERL5_MAN1=lib/perl5/site_perl/man/man1  PERL5_MAN3=lib/perl5/site_perl/man/man3  SITE_PERL=lib/perl5/site_perl  SITE_ARCH=lib/perl5/site_perl/mach/5.32 DOCSDIR="share/doc/nasm"  EXAMPLESDIR="share/examples/nasm"  DATADIR="share/nasm"  WWWDIR="www/nasm"  ETCDIR="etc/nasm"
--End PLIST_SUB--

--SUB_LIST--
 DOCS="" NO_DOCS="@comment " RDOFF="" NO_RDOFF="@comment " PREFIX=/usr/local LOCALBASE=/usr/local  DATADIR=/usr/local/share/nasm DOCSDIR=/usr/local/share/doc/nasm EXAMPLESDIR=/usr/local/share/examples/nasm  WWWDIR=/usr/local/www/nasm ETCDIR=/usr/local/etc/nasm
--End SUB_LIST--

---Begin make.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
####  ####
USE_PACKAGE_DEPENDS=yes
BATCH=yes
WRKDIRPREFIX=/wrkdirs

OPTIONS_UNSET=X11
WITH_PKGNG=yes


.if ${.CURDIR:M*/mail/sendmail*}
SENDMAIL_CF_DIR= /usr/local/share/sendmail/cf
SENDMAIL_CFLAGS+= -I/usr/local/include -DSASL=2
SENDMAIL_LDFLAGS+= -L/usr/local/lib
SENDMAIL_LDADD+= -lsasl2
# Adding to enable alternate port (smtps) for sendmail...
SENDMAIL_CFLAGS+= -D_FFR_SMTP_SSL
.endif

DEFAULT_VERSIONS= php=74 apache=2.4 mysql=57 ssl=openssl python=3.9 python3=3.9

WITH_SSP_PORTS=yes

LICENSES_ACCEPTED+= PDFlib
#MAKE_JOBS_UNSAFE=yes
WITH_CCACHE_BUILD=yes
CCACHE_DIR=/root/.ccache
#### Misc Poudriere ####
.include "/etc/make.conf.ports_env"
GID=0
UID=0
---End make.conf---
--Resource limits--
cpu time               (seconds, -t)  unlimited
file size           (512-blocks, -f)  unlimited
data seg size           (kbytes, -d)  33554432
stack size              (kbytes, -s)  524288
core file size      (512-blocks, -c)  unlimited
max memory size         (kbytes, -m)  unlimited
locked memory           (kbytes, -l)  unlimited
max user processes              (-u)  89999
open files                      (-n)  1024
virtual mem size        (kbytes, -v)  unlimited
swap limit              (kbytes, -w)  unlimited
socket buffer size       (bytes, -b)  unlimited
pseudo-terminals                (-p)  unlimited
kqueues                         (-k)  unlimited
umtx shared locks               (-o)  unlimited
--End resource limits--
=======================<phase: check-sanity   >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
===>  License BSD2CLAUSE accepted by the user
===========================================================================
=======================<phase: pkg-depends    >============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===>   nasm-2.16.01,1 depends on file: /usr/local/sbin/pkg - not found
===>   Installing existing package /packages/All/pkg-1.19.0.pkg
[Tepucom_FreeBSD13amd64-default-job-01] Installing pkg-1.19.0...
[Tepucom_FreeBSD13amd64-default-job-01] Extracting pkg-1.19.0: .......... done
===>   nasm-2.16.01,1 depends on file: /usr/local/sbin/pkg - found
===>   Returning to build of nasm-2.16.01,1
===========================================================================
=======================<phase: fetch-depends  >============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===========================================================================
=======================<phase: fetch          >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
===>  License BSD2CLAUSE accepted by the user
===> Fetching all distfiles required by nasm-2.16.01,1 for building
===========================================================================
=======================<phase: checksum       >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
===>  License BSD2CLAUSE accepted by the user
===> Fetching all distfiles required by nasm-2.16.01,1 for building
=> SHA256 Checksum OK for nasm-2.16.01.tar.xz.
=> SHA256 Checksum OK for nasm-2.16.01-xdoc.tar.xz.
===========================================================================
=======================<phase: extract-depends>============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===========================================================================
=======================<phase: extract        >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
===>  License BSD2CLAUSE accepted by the user
===> Fetching all distfiles required by nasm-2.16.01,1 for building
===>  Extracting for nasm-2.16.01,1
=> SHA256 Checksum OK for nasm-2.16.01.tar.xz.
=> SHA256 Checksum OK for nasm-2.16.01-xdoc.tar.xz.
===========================================================================
=======================<phase: patch-depends  >============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===========================================================================
=======================<phase: patch          >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
===>  Patching for nasm-2.16.01,1
===>  Applying FreeBSD patches for nasm-2.16.01,1 from /usr/ports/devel/nasm/files
===========================================================================
=======================<phase: build-depends  >============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===>   nasm-2.16.01,1 depends on package: gmake>=4.3 - not found
===>   Installing existing package /packages/All/gmake-4.3_2.pkg
[Tepucom_FreeBSD13amd64-default-job-01] Installing gmake-4.3_2...
[Tepucom_FreeBSD13amd64-default-job-01] `-- Installing gettext-runtime-0.21.1...
[Tepucom_FreeBSD13amd64-default-job-01] |   `-- Installing indexinfo-0.3.1...
[Tepucom_FreeBSD13amd64-default-job-01] |   `-- Extracting indexinfo-0.3.1: .... done
[Tepucom_FreeBSD13amd64-default-job-01] `-- Extracting gettext-runtime-0.21.1: .......... done
[Tepucom_FreeBSD13amd64-default-job-01] Extracting gmake-4.3_2: .......... done
===>   nasm-2.16.01,1 depends on package: gmake>=4.3 - found
===>   Returning to build of nasm-2.16.01,1
===>   nasm-2.16.01,1 depends on package: perl5>=5.32.r0<5.33 - not found
===>   Installing existing package /packages/All/perl5-5.32.1_3.pkg
[Tepucom_FreeBSD13amd64-default-job-01] Installing perl5-5.32.1_3...
[Tepucom_FreeBSD13amd64-default-job-01] Extracting perl5-5.32.1_3: .......... done
===>   nasm-2.16.01,1 depends on package: perl5>=5.32.r0<5.33 - found
===>   Returning to build of nasm-2.16.01,1
===>   nasm-2.16.01,1 depends on file: /usr/local/bin/ccache - not found
===>   Installing existing package /packages/All/ccache-3.7.12_4.pkg
[Tepucom_FreeBSD13amd64-default-job-01] Installing ccache-3.7.12_4...
[Tepucom_FreeBSD13amd64-default-job-01] Extracting ccache-3.7.12_4: .......... done
Create compiler links...
create symlink for cc
create symlink for cc (world)
create symlink for c++
create symlink for c++ (world)
create symlink for CC
create symlink for CC (world)
create symlink for clang
create symlink for clang (world)
create symlink for clang++
create symlink for clang++ (world)
=====
Message from ccache-3.7.12_4:

--
NOTE:
Please read /usr/local/share/doc/ccache/ccache-howto-freebsd.txt for
information on using ccache with FreeBSD ports and src.
===>   nasm-2.16.01,1 depends on file: /usr/local/bin/ccache - found
===>   Returning to build of nasm-2.16.01,1
===========================================================================
=======================<phase: lib-depends    >============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===========================================================================
=======================<phase: configure      >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
===>  Configuring for nasm-2.16.01,1
configure: loading site script /usr/ports/Templates/config.site
checking build system type... amd64-portbld-freebsd13.1
checking host system type... amd64-portbld-freebsd13.1
checking for gcc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether cc accepts -g... yes
checking for cc option to enable C11 features... none needed
checking for stdio.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for strings.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for sys/types.h... (cached) yes
checking for unistd.h... (cached) yes
checking for wchar.h... (cached) yes
checking for minix/config.h... (cached) no
checking for sys/param.h... (cached) yes
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking if cc accepts -std=c17... yes
checking for size_t... (cached) yes
checking whether byte ordering is bigendian... no
checking if cc accepts -Werror=unknown-warning-option... yes
checking if cc accepts -fwrapv... yes
checking if cc accepts -ftrivial-auto-var-init=zero... no
checking if cc accepts -U__STRICT_ANSI__... yes
checking if cc accepts -fno-common... yes
checking for suffix of library files... a
checking whether ln -s works... yes
checking whether gmake sets $(MAKE)... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for a race-free mkdir -p... (cached) /bin/mkdir -p
checking for nroff... no
checking for asciidoc... no
checking for xmlto... no
checking for xz... xz
configure: WARNING: No asciidoc package found, cannot build man pages
configure: WARNING: No xmlto package found, cannot build man pages
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for C/C++ restrict keyword... __restrict__
checking for string.h... (cached) yes
checking for stdarg.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for strings.h... (cached) yes
checking for _Bool... (cached) yes
checking for stdbool.h that conforms to C99... (cached) yes
checking for stdnoreturn.h... yes
checking for io.h... no
checking for fcntl.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/mman.h... (cached) yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for sys/resource.h... (cached) yes
checking for strcasecmp... (cached) yes
checking for stricmp... no
checking for strncasecmp... (cached) yes
checking for strnicmp... no
checking for strsep... (cached) yes
checking for strnlen... (cached) yes
checking for strrchrnul... no
checking for iscntrl... yes
checking for isascii... (cached) yes
checking for mempcpy... yes
checking for mempset... no
checking for getuid... (cached) yes
checking for getgid... (cached) yes
checking for getrlimit... (cached) yes
checking for realpath... (cached) yes
checking for canonicalize_file_name... no
checking for _fullpath... no
checking for pathconf... (cached) yes
checking for _LARGEFILE_SOURCE value needed for large files... no
checking for _fseeki64... no
checking for ftruncate... yes
checking for _chsize... no
checking for _chsize_s... no
checking for fileno... (cached) yes
checking for _fileno... no
checking for getpagesize... (cached) yes
checking for working mmap... (cached) yes
checking for getpagesize... (cached) yes
checking for sysconf... (cached) yes
checking for access... yes
checking for _access... yes
checking for faccessat... yes
checking for __builtin_expect... yes
checking for intrin.h... no
checking for __builtin_clz... yes
checking for __builtin_clzl... yes
checking for __builtin_clzll... yes
checking for _BitScanReverse... no
checking for _BitScanReverse64... no
checking for sprintf... snprintf
checking for vsnprintf... vsnprintf
checking for strlcpy... (cached) yes
checking for strrchrnul... (cached) no
checking for struct _stati64... no
checking for struct stat... yes
checking for stat... (cached) yes
checking for _stati64... no
checking for fstat... (cached) yes
checking for _fstati64... no
checking for S_ISREG... no
checking for cc options needed to detect all undeclared functions... -fno-builtin
checking whether strcasecmp is declared... yes
checking whether stricmp is declared... no
checking whether strncasecmp is declared... yes
checking whether strnicmp is declared... no
checking whether strsep is declared... (cached) yes
checking whether strlcpy is declared... yes
checking whether strnlen is declared... (cached) yes
checking whether strrchrnul is declared... no
checking for uintptr_t... (cached) yes
checking for endian.h... no
checking for sys/endian.h... yes
checking for machine/endian.h... yes
checking for cpu_to_le16... no
checking for cpu_to_le32... no
checking for cpu_to_le64... no
checking for __cpu_to_le16... no
checking for __cpu_to_le32... no
checking for __cpu_to_le64... no
checking for htole16... yes
checking for htole32... yes
checking for htole64... yes
checking for __bswap_16... no
checking for __bswap_32... no
checking for __bswap_64... no
checking for __builtin_bswap16... yes
checking for __builtin_bswap32... yes
checking for __builtin_bswap64... yes
checking for _byteswap_ushort... no
checking for _byteswap_ulong... no
checking for _byteswap_uint64... no
checking for __builtin_constant_p... yes
checking for __builtin_choose_expr... yes
checking if cc accepts -Werror=attributes... yes
checking if cc supports the noreturn function attribute... yes
checking if cc supports the noreturn function attribute on pointers... yes
checking if cc supports the returns_nonnull function attribute... yes
checking if cc supports the returns_nonnull function attribute on pointers... no
checking if cc supports the malloc function attribute... yes
checking if cc supports the malloc function attribute on pointers... no
checking if cc supports the alloc_size(1) function attribute... yes
checking if cc supports the alloc_size(1) function attribute on pointers... yes
checking if cc supports the alloc_size(1,2) function attribute... no
checking if cc supports the alloc_size(1,2) function attribute on pointers... no
checking if cc supports the sentinel function attribute... yes
checking if cc supports the sentinel function attribute on pointers... no
checking if cc supports the format(printf,1,2) function attribute... yes
checking if cc supports the format(printf,1,2) function attribute on pointers... yes
checking if cc supports the const function attribute... yes
checking if cc supports the const function attribute on pointers... yes
checking if cc supports the pure function attribute... yes
checking if cc supports the pure function attribute on pointers... yes
checking if cc supports the cold function attribute... yes
checking if cc supports the cold function attribute on pointers... no
checking if cc supports the unused function attribute... yes
checking if cc supports the unused function attribute on pointers... yes
checking if cc supports the error function attribute... no
checking if cc accepts -ffunction-sections... yes
checking if cc accepts -fdata-sections... yes
checking if cc accepts -Wl,--gc-sections... yes
checking if cc accepts -fvisibility=hidden... yes
checking if cc accepts -Wall... yes
checking if cc accepts -W... yes
checking if cc accepts -pedantic... yes
checking if cc accepts -Wc90-c99-compat... no
checking if cc accepts -Wc99-compat... yes
checking if cc accepts -Wc99-extensions... yes
checking if cc accepts -Wpedantic-ms-format... no
checking if cc accepts -Wlong-long... yes
checking if cc accepts -Wstringop-truncation... no
checking if cc accepts -Wshift-negative-value... yes
checking if cc accepts -Werror=implicit... yes
checking if cc accepts -Werror=missing-braces... yes
checking if cc accepts -Werror=return-type... yes
checking if cc accepts -Werror=trigraphs... yes
checking if cc accepts -Werror=pointer-arith... yes
checking if cc accepts -Werror=strict-prototypes... yes
checking if cc accepts -Werror=missing-prototypes... yes
checking if cc accepts -Werror=missing-declarations... yes
checking if cc accepts -Werror=comment... yes
checking if cc accepts -Werror=vla... yes
checking if cc supports C99 external inlines... yes
checking if cc supports typeof... __typeof
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating config/config.h
===========================================================================
=======================<phase: build          >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
===>  Building for nasm-2.16.01,1
gmake[1]: Entering directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
/bin/mkdir -p stdlib nasmlib output asm disasm x86 common macros test doc nsis
gmake nasm ndisasm
gmake[2]: Entering directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
: > asm/warnings.time
gmake asm/warnings.c.time include/warnings.h.time doc/warnings.src.time
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o stdlib/snprintf.o stdlib/snprintf.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o stdlib/strlcpy.o stdlib/strlcpy.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o stdlib/strnlen.o stdlib/strnlen.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o stdlib/strrchrnul.o stdlib/strrchrnul.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o nasmlib/ver.o nasmlib/ver.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o nasmlib/asprintf.o nasmlib/asprintf.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o nasmlib/errfile.o nasmlib/errfile.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o nasmlib/crc32.o nasmlib/crc32.c
gmake[3]: Entering directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o nasmlib/crc64.o nasmlib/crc64.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o nasmlib/md5c.o nasmlib/md5c.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o nasmlib/string.o nasmlib/string.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o nasmlib/nctype.o nasmlib/nctype.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o nasmlib/ilog2.o nasmlib/ilog2.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o nasmlib/realpath.o nasmlib/realpath.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o nasmlib/rlimit.o nasmlib/rlimit.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o nasmlib/zerobuf.o nasmlib/zerobuf.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o nasmlib/bsi.o nasmlib/bsi.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o nasmlib/rbtree.o nasmlib/rbtree.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o nasmlib/raa.o nasmlib/raa.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o nasmlib/saa.o nasmlib/saa.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o nasmlib/strlist.o nasmlib/strlist.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o nasmlib/perfhash.o nasmlib/perfhash.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o nasmlib/badenum.o nasmlib/badenum.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o x86/insnsn.o x86/insnsn.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o x86/regs.o x86/regs.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o x86/regvals.o x86/regvals.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o x86/regdis.o x86/regdis.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o x86/iflag.o x86/iflag.c
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o asm/directbl.o asm/directbl.c
: > asm/warnings.time
gmake asm/warnings.c.time include/warnings.h.time doc/warnings.src.time
gmake[4]: Entering directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
: > asm/warnings.time
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o asm/pptok.o asm/pptok.c
gmake asm/warnings.c.time include/warnings.h.time doc/warnings.src.time
gmake[5]: Entering directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
: > asm/warnings.time
gmake asm/warnings.c.time include/warnings.h.time doc/warnings.src.time
gmake[6]: Entering directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
: > asm/warnings.time
gmake asm/warnings.c.time include/warnings.h.time doc/warnings.src.time
gmake[7]: Entering directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
: > asm/warnings.time
gmake asm/warnings.c.time include/warnings.h.time doc/warnings.src.time
gmake[8]: Entering directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
: > asm/warnings.time
gmake asm/warnings.c.time include/warnings.h.time doc/warnings.src.time
gmake[9]: Entering directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
: > asm/warnings.time
gmake asm/warnings.c.time include/warnings.h.time doc/warnings.src.time
gmake[10]: Entering directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
: > asm/warnings.time
gmake asm/warnings.c.time include/warnings.h.time doc/warnings.src.time
gmake[11]: Entering directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
: > asm/warnings.time
gmake asm/warnings.c.time include/warnings.h.time doc/warnings.src.time
gmake[12]: Entering directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
nasmlib/rlimit.c:65:29: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'rlim_t' (aka 'long') [-Wsign-compare]
        (size_t)rl.rlim_cur != rl.rlim_cur)
        ~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~
1 warning generated.
: > asm/warnings.time
gmake asm/warnings.c.time include/warnings.h.time doc/warnings.src.time
gmake[13]: Entering directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
: > asm/warnings.time
gmake asm/warnings.c.time include/warnings.h.time doc/warnings.src.time
gmake[14]: Entering directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
: > asm/warnings.time
gmake asm/warnings.c.time include/warnings.h.time doc/warnings.src.time
gmake[15]: Entering directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
: > asm/warnings.time
gmake asm/warnings.c.time include/warnings.h.time doc/warnings.src.time
gmake[16]: Entering directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
: > asm/warnings.time
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o asm/srcfile.o asm/srcfile.c
gmake asm/warnings.c.time include/warnings.h.time doc/warnings.src.time
gmake[17]: Entering directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
cc -c  -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -std=c17 -Werror=unknown-warning-option -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -Wall -W -pedantic -Wc99-compat -Wc99-extensions -Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o disasm/sync.o disasm/sync.c
: > asm/warnings.time
gmake asm/warnings.c.time include/warnings.h.time doc/warnings.src.time
gmake[18]: Entering directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
: > asm/warnings.time
gmake asm/warnings.c.time include/warnings.h.time doc/warnings.src.time
gmake[19]: Entering directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
: > asm/warnings.time
gmake asm/warnings.c.time include/warnings.h.time doc/warnings.src.time
gmake[20]: Entering directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
: > asm/warnings.time
etc etc
Comment 3 freebsd 2022-12-23 18:39:07 UTC
Added to poudriere.conf

USE_TMPFS="all" (was already there)
TMPFS_BLACKLIST="rust nasm"
TMPFS_BLACKLIST_TMPDIR=/data/cache/tmp

That built nasm in 10 seconds or so.

Thanks for that tip/pointer.
Comment 4 freebsd 2022-12-23 18:40:19 UTC
Oh sorry, that pointer was actually on ports@

Oh well: 

ports-mgmt/poudriere-devel seems to have it, but ports-mgmt/poudriere
doesn't.

[1] https://github.com/freebsd/poudriere/issues/888

[2]
https://github.com/freebsd/poudriere/commit/56233a1aaea1be59dcc111e7b3f97b6e891bb06a
Comment 5 Lorenzo Salvadore freebsd_committer freebsd_triage 2022-12-23 19:08:15 UTC
I am sorry for the issue. I had tested the port with default options on {i386,amd64} {12.4,13.1,14.0}, but my builds were successfull: I probably missed the issue because I use poudriere-devel with USE_TMPFS=data.

I will investigate the issue. In the meantime, please note that the commit breaking nasm has been reverted in https://cgit.freebsd.org/ports/commit/?id=102f7173426ac4122afd355205aa141bb50b2803 .

I add poudriere's maintainer to CC in case he is able to help.
Comment 6 Johan Ström 2022-12-23 19:12:13 UTC
Adding nasm to TMPFS_BLACKLIST (yeah, I'm running poudriere-git too, too bad the TMPFS feature is not released yet, as I have problems building alot without that feature), seems to help with build. 

But staging fails, probably some other error though. With default option RDOFF=on:


=======================<phase: stage          >============================
===== env: NO_DEPENDS=yes USER=nobody UID=65534 GID=65534
===>  Staging for nasm-2.16.01,1
===>   Generating temporary packing list
gmake[1]: Entering directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
/bin/mkdir -p /wrkdirs/usr/ports/devel/nasm/work/stage/usr/local/bin
install  -s -m 555 nasm ndisasm /wrkdirs/usr/ports/devel/nasm/work/stage/usr/local/bin/
/bin/mkdir -p /wrkdirs/usr/ports/devel/nasm/work/stage/usr/local/man/man1
install  -m 0644 ./nasm.1 /wrkdirs/usr/ports/devel/nasm/work/stage/usr/local/man/man1/nasm.1
install  -m 0644 ./ndisasm.1 /wrkdirs/usr/ports/devel/nasm/work/stage/usr/local/man/man1/ndisasm.1
gmake[1]: *** No rule to make target 'install_rdf'.  Stop.
gmake[1]: Leaving directory '/wrkdirs/usr/ports/devel/nasm/work/nasm-2.16.01'
*** Error code 2

Stop.
make: stopped in /usr/ports/devel/nasm
=>> Cleaning up wrkdir
===>  Cleaning for nasm-2.16.01,1
build of devel/nasm | nasm-2.16.01,1 ended at Fri Dec 23 20:07:51 CET 2022
build time: 00:00:26
!!! build failure encountered !!!


With RDOFF=off, it builds fine.
Comment 7 Lorenzo Salvadore freebsd_committer freebsd_triage 2022-12-23 19:15:18 UTC
(In reply to Johan Ström from comment #6)

Yes, the issue about RDOFF has been reported as well, but this should be easier to fix hopefully. I should have tested non-default options too. Sorry about that as well.

As written in comment #5 the commit has been reverted and this fixes RDOFF too for now.

I will be much more careful next time I attempt the update, sorry.
Comment 8 Johan Ström 2022-12-23 19:22:38 UTC
Great, thanks for quick fix & response!
Comment 9 Mark Millard 2022-12-23 23:33:17 UTC
Here is what is going on (manually entered commands, not a script). First under a tmpfs:

# df -m
Filesystem             1M-blocks  Used  Avail Capacity  Mounted on
/dev/ufs/rootfs           221683 97879 106068    48%    /
devfs                          0     0      0   100%    /dev
/dev/msdosfs/MSDOSBOOT        49    31     18    62%    /boot/msdos
tmpfs                       7716     0   7716     0%    /tmp
# cd /tmp
# : > mmjnk.test
# ls -Tld mmjnk.test
-rw-r--r--  1 root  wheel  0 Mar  9 08:56:53 2022 mmjnk.test
# : > mmjnk.test
# ls -Tld mmjnk.test
-rw-r--r--  1 root  wheel  0 Mar  9 08:56:53 2022 mmjnk.test

(no time change).  The makefile involved is using ": > NAME" notation
to try to update timestamps on deliberately empty files.

Vs. under (for example) UFS:

# cd ~/
# : > mmjnk.test
# ls -Tld mmjnk.test
-rw-r--r--  1 root  wheel  0 Mar  9 09:00:45 2022 mmjnk.test
# : > mmjnk.test
# ls -Tld mmjnk.test
-rw-r--r--  1 root  wheel  0 Mar  9 09:00:54 2022 mmjnk.test

(time changed).

Back in tmpfs land . . .

Part of this is that the file is already of size zero and continues
to be so. By contrast, starting with a file with 15 bytes in it:

# ls -Tld mmjnk.test
-rw-r--r--  1 root  wheel  15 Mar  9 09:07:38 2022 mmjnk.test
# : > mmjnk.test
# ls -Tld mmjnk.test
-rw-r--r--  1 root  wheel  0 Mar  9 09:07:49 2022 mmjnk.test
# ls -Tld mmjnk.test
-rw-r--r--  1 root  wheel  0 Mar  9 09:07:49 2022 mmjnk.test

The lack of a timestamp change when the file already has size zero
looks like an example of a bug to me.

truncate for tmpfs files behaves similarly (showing just the
lack of timestamp change context):

# truncate -s 0 mmjnk.test
# ls -Tld mmjnk.test
-rw-r--r--  1 root  wheel  0 Mar  9 09:11:31 2022 mmjnk.test
# truncate -s 0 mmjnk.test
# ls -Tld mmjnk.test
-rw-r--r--  1 root  wheel  0 Mar  9 09:11:31 2022 mmjnk.test

(UFS got a timestamp update from such a sequence.)


I'll note that touch does not get this tmpfs behavior:

# touch mmjnk.test
# ls -Tld mmjnk.test
-rw-r--r--  1 root  wheel  0 Mar  9 09:11:26 2022 mmjnk.test
# touch mmjnk.test
# ls -Tld mmjnk.test
-rw-r--r--  1 root  wheel  0 Mar  9 09:11:31 2022 mmjnk.test

(But it would not force size zero on its down.)

I did these tests on:

# uname -apKU
FreeBSD generic 13.1-STABLE FreeBSD 13.1-STABLE #0 stable/13-n253133-b51ee7ac252c: Wed Nov 23 03:36:16 UTC 2022     root@releng3.nyi.freebsd.org:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC arm64 aarch64 1301509 1301509

However, I previously did a devel/nasm bulk test with with USE_TMPFS=all on:

# uname -apKU
FreeBSD amd64_ZFS 14.0-CURRENT FreeBSD 14.0-CURRENT #55 main-n259064-f83db6441a2f-dirty: Sun Nov  6 16:31:55 PST 2022     root@amd64_ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/sys/GENERIC-NODBG amd64 amd64 1400073 1400073

and it got the problem. (I normally use USE_TMPFS=data , which does not
get the problem because the files in question end up not on a tmpfs.)

So: not specific to amd64 , not specific to stable/13 , existed in early
November in main. This may have been around for some time.
Comment 10 Tomoaki AOKI 2022-12-24 02:17:32 UTC
FYI:

kib@ created review D37866 on Phablicator.
See discussions on freebsd-stable ML [1] for details, starting from [1].
  *Beware! The thread is broken twice.

[1] https://lists.freebsd.org/archives/freebsd-stable/2022-December/001008.html

[2] https://lists.freebsd.org/archives/freebsd-stable/2022-December/001002.html
Comment 11 Mark Millard 2022-12-24 04:47:00 UTC
(In reply to Tomoaki AOKI from comment #10)

I'll note that when I looked at the source code involved,
it appears to go back to when tmpfs was added (2007). So
it appears that all all versions of FreeBSD since then
have the issue.

The "bringing machine down" risk in build activity that
tries to use tmpfs file time relationships for driving
dependency related activity has been there for a very
long time.
Comment 12 commit-hook freebsd_committer freebsd_triage 2022-12-24 06:33:47 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=860399eb86cc431412bfbce0ab76c6652e5b6c07

commit 860399eb86cc431412bfbce0ab76c6652e5b6c07
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2022-12-24 00:11:05 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2022-12-24 06:32:48 +0000

    tmpfs: update changed/modified timestamps for truncates that do not change size

    While there, move all error checks into the common place at the start,
    and eliminate the 'out' label.

    PR:     268528
    Analyzed and tested by: Mark Millard <marklmi@yahoo.com>
    Reviewed by:    mckusick
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D37866

 sys/fs/tmpfs/tmpfs_subr.c | 22 ++++++----------------
 1 file changed, 6 insertions(+), 16 deletions(-)
Comment 13 Stefan Ehmann 2022-12-24 09:38:05 UTC
(In reply to Mark Millard from comment #9)
Thanks for your analysis.

Back to devel/nasm: I guess we will need s/: >/touch/ in Makefile.in for the time being.
Comment 14 Lorenzo Salvadore freebsd_committer freebsd_triage 2022-12-29 12:14:53 UTC
Created attachment 239118 [details]
nasm update

Here is a second attempt to update devel/nasm. I have tested it succeffully on my machine both with and without poudriere, both with USE_TMPFS=data and with USE_TMPFS=all. If anyone would like to test it before I commit it, please do it and let me know if everything is fine.
Comment 15 Kurt Jaeger freebsd_committer freebsd_triage 2022-12-29 12:27:58 UTC
testbuild using poudriere for 13.1amd looks fine. 14.0amd: also fine. 
USE_TMPFS=all is used. 14.0i386: fine as well. 12.4amd: fine. 12.3amd: fine.

Thank you for working on this issue!
Comment 16 commit-hook freebsd_committer freebsd_triage 2022-12-30 23:13:43 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=43e38d62eaa0b2dc1abf84e81ae18673ae619576

commit 43e38d62eaa0b2dc1abf84e81ae18673ae619576
Author:     Lorenzo Salvadore <salvadore@FreeBSD.org>
AuthorDate: 2022-12-29 10:48:39 +0000
Commit:     Lorenzo Salvadore <salvadore@FreeBSD.org>
CommitDate: 2022-12-30 23:11:48 +0000

    devel/nasm: Update to 2.16.01 (second attempt)

    - The first attempt to update devel/nasm to version 2.16.01 failed due
    to a bug in tmpfs with updating timestamps using ": >". In particular,
    the bug is reproduced in poudriere using default configuration due to
    USE_TMPFS=all.

    The bug in tmpfs is being fixed, starting with commit
    860399eb86cc431412bfbce0ab76c6652e5b6c07 in the src repository. Until
    the commit is merged in all officially supported FreeBSD versions, the
    patch files/patch-Makefile.in is necessary: it is a workaround that
    replaces ": >" with "touch" in Makefile.in [1].

    - The file files/patch-d85890aa.c is being removed as it is now obsolete:
    the commit from which the patch was taken is already included in the
    update.

    - The RDOFF option has been removed as, according to the 2.16 changelog,
    "Support for the rdf format has been discontinued and all the RDOFF
    utilities has been removed." [2]

    Because of the RDOFF option removal, the list of installed files is now
    much shorter and pkg-plist has been replaced by PLIST_FILES as suggest
    by portlint.

    Changes: https://nasm.us/doc/nasmdocc.html

    PR:             268528 [1,2]
    Reported by:    yasu, Johan Ström <johan@stromnet.se> and many others [1,2]
    Analyzed by:    yasu and Mark Millard <marklmi26-fbsd@yahoo.com> [1]
    Tested by:      pi

 devel/nasm/Makefile                      |  13 +-
 devel/nasm/distinfo                      |  10 +-
 devel/nasm/files/patch-Makefile.in (new) |  33 ++++
 devel/nasm/files/patch-d85890aa.c (gone) | 301 -------------------------------
 devel/nasm/pkg-plist (gone)              |  22 ---
 5 files changed, 44 insertions(+), 335 deletions(-)
Comment 17 Lorenzo Salvadore freebsd_committer freebsd_triage 2022-12-30 23:15:14 UTC
Hopefully this commit updates devel/nasm without any more issues.

Thanks to everyone for helping with this update.
Comment 18 commit-hook freebsd_committer freebsd_triage 2022-12-31 01:04:04 UTC
A commit in branch stable/13 references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=2c88fb783f754982d1ef964e6c73386d152e9d03

commit 2c88fb783f754982d1ef964e6c73386d152e9d03
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2022-12-24 00:11:05 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2022-12-31 01:02:42 +0000

    tmpfs: update changed/modified timestamps for truncates that do not change size

    PR:     268528

    (cherry picked from commit 860399eb86cc431412bfbce0ab76c6652e5b6c07)

 sys/fs/tmpfs/tmpfs_subr.c | 22 ++++++----------------
 1 file changed, 6 insertions(+), 16 deletions(-)