From nobody Thu Nov 20 02:04:21 2025 X-Original-To: current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dBhVl4vw8z6Ghyg for ; Thu, 20 Nov 2025 02:04:31 +0000 (UTC) (envelope-from minsoochoo0122@proton.me) Received: from mail-10699.protonmail.ch (mail-10699.protonmail.ch [79.135.106.99]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "protonmail.com", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dBhVl1Dr7z3mXc for ; Thu, 20 Nov 2025 02:04:30 +0000 (UTC) (envelope-from minsoochoo0122@proton.me) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me; s=protonmail; t=1763604267; x=1763863467; bh=zf7eJAVWm3nOb7iWNEvHjoHhAppQ+F5+tMziWqEcJ+0=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=aBZMEqXywWOranZEQoF8OGJfg7Q4KuSpJv8yIG1hviyfTj7Svqbl2T/A8WhTgTX0M iDU0QJzli1mX0Fb6ltn1qA/YsOFrtKZWTfLmOlHSG6l6+kyfHavL/mL/TJJ5gjRhBr V0pfh6HpnKnkWsaUZbOvyLYqH7WnF6yQKVtR1aqVGaOuFxTrAuOYQLMTRbCbqDwI/O Z/Ootcs6DP60YU7Ob8coln5vCZ9+Ubo4tGBigyCKSFuYO9k2dGZLGNR74VE+HfGV5l UH/PmXthMxnp77J4SfMZSaiLLwhNjGwut3PNZ94dTF2/TD7/cqcvjNVS477X9gDxrx P6wYBVRc4vwRg== Date: Thu, 20 Nov 2025 02:04:21 +0000 To: Ian FREISLICH From: Minsoo Choo Cc: FreeBSD Current Subject: Re: nvme.c:2012:2: error: call to undeclared function 'memmove' Message-ID: In-Reply-To: <531224d3-acaf-4f97-b39c-02b09dcd297c@gmail.com> References: <814ce2bc-2a95-444b-9ab7-7e680a024c68@gmail.com> <60449f55-58e7-4f8b-aa0e-3f288dab5146@gmail.com> <531224d3-acaf-4f97-b39c-02b09dcd297c@gmail.com> Feedback-ID: 45891198:user:proton X-Pm-Message-ID: d0228ebe7575eba52ad1ce15d47fbb5c3ff9ce07 List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:62371, ipnet:79.135.106.0/24, country:CH] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4dBhVl1Dr7z3mXc On Wednesday, November 19th, 2025 at 5:24 PM, Ian FREISLICH wrote: > On 11/19/25 15:42, Minsoo Choo wrote: >=20 > > On Wednesday, November 19th, 2025 at 2:51 PM, Ian FREISLICH ianfreislic= h@gmail.com wrote: > >=20 > > > On 11/19/25 14:24, Minsoo Choo wrote: > > >=20 > > > > On Wednesday, November 19th, 2025 at 2:19 PM, Ian FREISLICH ianfrei= slich@gmail.com wrote: > > > >=20 > > > > > My kernel build started failing recently with the following error= . I use > > > > > a custom kernel config but looking at NOTES, it's not clear that = I've > > > > > missed an option that would make it compile. > > > > >=20 > > > > > In file included from /usr/src/sys/dev/nvme/nvme_util.c:34: > > > > > /usr/src/sys/dev/nvme/nvme.h:2012:2: error: call to undeclared fu= nction > > > > > 'memmove'; ISO C99 and later do not support implicit function > > > > > declarations [-Werror,-Wimplicit-function-declaration] > > > > > 2012 | memmove(sn, cdata->sn, NVME_SERIAL_NUMBER_LENGTH); > > > > >=20 > > > > > | ^ > > > > > 1 error generated. > > > > > *** Error code 1 > > > > >=20 > > > > > I've also tried compiling after blowing away usr/obj. > > > > >=20 > > > > > Ian > > > >=20 > > > > memmove is declared in systm.h, but I don't see include statement f= or systm.h in nvme.h. Could you try including in sys/dev/nvme= /nvme.h and build again? > > >=20 > > > It builds with that, but coincidentally GENERIC builds without that c= hange. > > >=20 > > > Ian > >=20 > > Could you send your kernel config? Maybe sys/systm.h is included under = GENERIC but not under some configs. >=20 >=20 > --X-- > cpu HAMMER > ident ROUTER >=20 > makeoptions DEBUG=3D-g # Build kernel with gdb(1) debug > symbols >=20 > options SCHED_ULE # ULE scheduler > options NUMA # Non-Uniform Memory > Architecture support > options PREEMPTION # Enable kernel thread preemption >=20 > options INET # IPv6 communications protocols > options INET6 # IPv6 communications protocols > options IPSEC > options IPSEC_OFFLOAD # Inline ipsec offload infra > options ROUTE_MPATH # Multipath routing support > options FIB_ALGO # Modular fib lookups > options TCP_OFFLOAD # TCP offload > options TCP_BLACKBOX # Enhanced TCP event logging > options TCP_HHOOK # hhook(9) framework for TCP > options TCP_RFC7413 # TCP Fast Open > options SCTP_SUPPORT # Allow kldload of SCTP > options KERN_TLS # TLS transmit & receive offload > options MAC > options MAC_NTPD > options MAC_PORTACL >=20 > options FFS # Berkeley Fast Filesystem > options SOFTUPDATES # Enable FFS soft updates support > options UFS_ACL # Support for access control lists > options UFS_DIRHASH # Improve performance on big > directories > options UFS_GJOURNAL # Enable gjournal-based UFS > journaling > options ZFS > options ZSTDIO > options PROCFS # Process filesystem (requires > PSEUDOFS) > options PSEUDOFS # Pseudo-filesystem framework > options TMPFS # Efficient memory filesystem > options GEOM_LABEL # Provides labelization > options GEOM_PART_GPT > options EFIRT # EFI Runtime Services support > options COMPAT_FREEBSD32 # Compatible with i386 binaries > options COMPAT_FREEBSD4 # Compatible with FreeBSD4 > options COMPAT_FREEBSD5 # Compatible with FreeBSD5 > options COMPAT_FREEBSD6 # Compatible with FreeBSD6 > options COMPAT_FREEBSD7 # Compatible with FreeBSD7 > options COMPAT_FREEBSD9 # Compatible with FreeBSD9 > options COMPAT_FREEBSD10 # Compatible with FreeBSD10 > options COMPAT_FREEBSD11 # Compatible with FreeBSD11 > options COMPAT_FREEBSD12 # Compatible with FreeBSD12 > options COMPAT_FREEBSD13 # Compatible with FreeBSD13 > options COMPAT_FREEBSD14 # Compatible with FreeBSD14 > #options COMPAT_FREEBSD15 # Compatible with FreeBSD15 > options KTRACE # ktrace(1) support > options STACK # stack(9) support > options SYSVSHM # SYSV-style shared memory > options SYSVMSG # SYSV-style message queues > options SYSVSEM # SYSV-style semaphores >=20 > options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time > extensions > options PRINTF_BUFR_SIZE=3D128 # Prevent printf output being > interspersed. > options KBD_INSTALL_CDEV # install a CDEV entry in /dev > options HWPMC_HOOKS # Necessary kernel hooks for > hwpmc(4) > options INCLUDE_CONFIG_FILE # Include this file in kernel >=20 > # Debugging support. Always need this: > options KDB > options KDB_UNATTENDED > options DDB > options GDB > options KDB_TRACE > options ALT_BREAK_TO_DEBUGGER >=20 > # Kernel dump features. > options EKCD # Support for encrypted kernel dumps > options GZIO # gzip-compressed kernel and > user dumps > options ZSTDIO # zstd-compressed kernel and > user dumps > options DEBUGNET # debugnet networking > options NETDUMP # netdump(4) client support > options NETGDB # netgdb(4) client support >=20 > device pf > device pflog > device pfsync >=20 > # Make an SMP-capable kernel by default > options SMP # Symmetric MultiProcessor Kernel > device cpufreq >=20 > # Bus support. > device acpi > device acpi_wmi > device smbios > device smbus > device ichsmb > device iicbus > device ig4 > options IOMMU > device pci > options PCI_HP # PCI-Express native HotPlug > options PCI_IOV # PCI SR-IOV support >=20 >=20 > # ATA controllers > device ahci # AHCI-compatible SATA controllers > device scbus # SCSI bus (required for ATA/SCSI) > device ch # SCSI media changers > device da # Direct Access (disks) > device sa # Sequential Access (tape etc) > device cd # CD > device pass # Passthrough device (direct > ATA/SCSI access) > device ses # Enclosure Services (SES and > SAF-TE) >=20 > # NVM Express (NVMe) support > device nvme # base NVMe driver > device nvd # expose NVMe namespaces as > disks, depends on nvme >=20 > # atkbdc0 controls both the keyboard and the PS/2 mouse > device atkbdc # AT keyboard controller > device atkbd # AT keyboard > device kbdmux # keyboard multiplexer >=20 > # syscons is the legacy console driver, resembling an SCO console > #device vga # VGA video card driver > #device splash # Splash screen and screen saver > support > #device sc > #options SC_PIXEL_MODE # add support for the raster > text mode >=20 > # vt is the default video console driver > device vt > device vt_vga > device vt_efifb > device vt_vbefb >=20 > device agp # support several AGP chipsets >=20 > options PPS_SYNC > device uart # Generic UART driver >=20 > device superio > device gpio > device gpiopps >=20 > # PCI/PCI-X/PCIe Ethernet NICs that use iflib infrastructure > device iflib > device igc # Intel I225 2.5G Ethernet > device ix # Intel PRO/10GbE PCIE PF Ethernet >=20 > # Pseudo devices. > device crypto # core crypto support > device cryptodev > device aesni # AES-NI OpenCrypto module > device ossl > device loop # Network loopback > device rdrand_rng # Intel Bull Mountain RNG > device ether # Ethernet support > device vlan # 802.1Q VLAN support > device tuntap # Packet tunnel. > device md # Memory "disks" > device gif # IPv6 and IPv4 tunneling > device firmware # firmware assist module > device xz # lzma decompression >=20 > options EVDEV_SUPPORT > device evdev > device uinput >=20 > # The `bpf' device enables the Berkeley Packet Filter. > # Be aware of the administrative consequences of enabling this! > # Note that 'bpf' is required for DHCP. > device bpf # Berkeley packet filter >=20 > # USB support > options USB_DEBUG # enable debug msgs > device uhci # UHCI PCI->USB interface >=20 > device ohci # OHCI PCI->USB interface >=20 > device ehci # EHCI PCI->USB interface (USB 2.0) >=20 > device xhci # XHCI PCI->USB interface (USB 3.0) >=20 > device usb # USB Bus (required) > device usbhid # USB HID Transport > device hkbd # HID Keyboard > device ukbd # USB Keyboard > device umass # Disks/Mass storage - Requires > scbus and da >=20 > # Sound support > device sound # Generic sound driver (required) > device snd_hda # Intel High Definition Audio >=20 > # Netmap provides direct access to TX/RX rings on supported NICs > device netmap # netmap(4) support >=20 > device hid # Generic HID support > device hidbus # Generic HID Bus >=20 > # EFI devices > device efidev # EFI pseudo-device > device efirtc # EFI RTC > --X-- >=20 Could you `make cleankernel` and run `make buildkernel` again? And if it fa= ils for the same reason, could you add `#include ` and `make c= leankernel` then `make buildkernel` again?