NetBSD Problem Report #58312

From www@netbsd.org  Wed Jun  5 12:24:46 2024
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256
	 client-signature RSA-PSS (2048 bits) client-digest SHA256)
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 4F1841A9238
	for <gnats-bugs@gnats.NetBSD.org>; Wed,  5 Jun 2024 12:24:46 +0000 (UTC)
Message-Id: <20240605122444.761F31A923A@mollari.NetBSD.org>
Date: Wed,  5 Jun 2024 12:24:44 +0000 (UTC)
From: sotiris@lamprinidis.com
Reply-To: sotiris@lamprinidis.com
To: gnats-bugs@NetBSD.org
Subject: LLVM build fails with MKISCSI=no (HOST_CC=clang)
X-Send-Pr-Version: www-1.0

>Number:         58312
>Category:       port-amd64
>Synopsis:       LLVM build fails with MKISCSI=no (HOST_CC=clang)
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    port-amd64-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Jun 05 12:25:00 +0000 2024
>Originator:     Sotiris Lamprinidis
>Release:        10.0
>Organization:
N/A
>Environment:
Darwin  23.5.0 Darwin Kernel Version 23.5.0: Wed May  1 20:12:58 PDT 2024; root:xnu-10063.121.3~5/RELEASE_ARM64_T6000 arm64

>Description:
The upstream compiler-rt  sanitizer seems to unconditionally include 'dev/iscsi/iscsi_ioctl.h'

#   compile  asan-m64/sanitizer_platform_limits_netbsd.o
/Users/sl/netbsd-compile/tooldir.arm/bin/x86_64--netbsd-clang++ -frandom-seed=83acdb46 -O2 -Werror -m64 -fPIE -fPIC -m64 -fno-rtti -fno-exceptions -fno-builtin -fno-stack-protector   --sysroot=/Users/sl/netbsd-compile/destdir.amd64 -I/Users/sl/netbsd-src/external/bsd/compiler_rt/lib/clang/lib/netbsd/asan-m64/../../../../../../../../sys/external/bsd/compiler_rt/dist/lib  -c    /Users/sl/netbsd-src/external/bsd/compiler_rt/lib/clang/lib/netbsd/asan-m64/../../../../../../../../sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cc -o sanitizer_platform_limits_netbsd.o
/Users/sl/netbsd-src/external/bsd/compiler_rt/lib/clang/lib/netbsd/asan-m64/../../../../../../../../sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cc:143:10: fatal error: 'dev/iscsi/iscsi_ioctl.h' file not found
#include <dev/iscsi/iscsi_ioctl.h>
         ^~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

*** Failed target:  sanitizer_platform_limits_netbsd.o
*** Failed command: /Users/sl/netbsd-compile/tooldir.arm/bin/x86_64--netbsd-clang++ -frandom-seed=83acdb46 -O2 -Werror -m64 -fPIE -fPIC -m64 -fno-rtti -fno-exceptions -fno-builtin -fno-stack-protector --sysroot=/Users/sl/netbsd-compile/destdir.amd64 -I/Users/sl/netbsd-src/external/bsd/compiler_rt/lib/clang/lib/netbsd/asan-m64/../../../../../../../../sys/external/bsd/compiler_rt/dist/lib -c /Users/sl/netbsd-src/external/bsd/compiler_rt/lib/clang/lib/netbsd/asan-m64/../../../../../../../../sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cc -o sanitizer_platform_limits_netbsd.o
*** Error code 1

Could be that external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_platform_limits_netbsd.cc is to be merged upstream
>How-To-Repeat:
./build.sh -ax86_64 -mamd64 -cclang  -Uu -VHOST_CC=clang -VHOST_CXX=clang++ -u release
>Fix:
This is a dirty workaround:

Index: external/bsd/compiler_rt/lib/clang/lib/netbsd/sources.mk
===================================================================
RCS file: /cvsroot/src/external/bsd/compiler_rt/lib/clang/lib/netbsd/sources.mk,v
retrieving revision 1.2
diff -u -u -r1.2 sources.mk
--- external/bsd/compiler_rt/lib/clang/lib/netbsd/sources.mk    26 Aug 2019 04:49:45 -0000      1.2
+++ external/bsd/compiler_rt/lib/clang/lib/netbsd/sources.mk    23 Apr 2024 15:30:08 -0000
@@ -45,6 +45,8 @@
 SANITIZER_SOURCES_NOTERMINATION+=      sanitizer_thread_registry.cc
 SANITIZER_SOURCES_NOTERMINATION+=      sanitizer_win.cc

+CPPFLAGS.sanitizer_netbsd.cc+= -${"${MKISCSI:tl:My*}" != "":?D:U}SANITIZER_NETBSD_ISCSI
+
 # RTSanitizerCommon
 SANITIZER_SOURCES+=    ${SANITIZER_SOURCES_NOTERMINATION}
 SANITIZER_SOURCES+=    sanitizer_termination.cc
Index: sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cc
===================================================================
RCS file: /cvsroot/src/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cc,v
retrieving revision 1.7.22.1
diff -u -u -r1.7.22.1 sanitizer_platform_limits_netbsd.cc
--- sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cc  27 Dec 2022 09:58:57 -0000 1.7.22.1
+++ sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cc  23 Apr 2024 15:30:21 -0000
@@ -140,7 +140,9 @@
 #include <dev/ir/irdaio.h>
 #include <dev/isa/isvio.h>
 #include <dev/isa/wtreg.h>
+#ifdef SANITIZER_NETBSD_ISCSI
 #include <dev/iscsi/iscsi_ioctl.h>
+#endif
 #include <dev/ofw/openfirmio.h>
 #include <dev/pci/amrio.h>
 #include <dev/pci/mlyreg.h>
@@ -963,6 +965,7 @@
 unsigned struct_gdt_rescan_sz = sizeof(struct gdt_rescan);
 unsigned struct_gdt_statist_sz = sizeof(struct gdt_statist);
 unsigned struct_gdt_ucmd_sz = sizeof(struct gdt_ucmd);
+#ifdef SANITIZER_NETBSD_ISCSI
 unsigned struct_iscsi_conn_status_parameters_sz =
     sizeof(iscsi_conn_status_parameters_t);
 unsigned struct_iscsi_get_version_parameters_sz =
@@ -980,6 +983,7 @@
     sizeof(iscsi_set_node_name_parameters_t);
 unsigned struct_iscsi_wait_event_parameters_sz =
     sizeof(iscsi_wait_event_parameters_t);
+#endif
 unsigned struct_isp_stats_sz = sizeof(isp_stats_t);
 unsigned struct_lsenable_sz = sizeof(struct lsenable);
 unsigned struct_lsdisable_sz = sizeof(struct lsdisable);
@@ -1276,6 +1280,7 @@
 unsigned IOCTL_IRFRAMETTY_SET_DONGLE = IRFRAMETTY_SET_DONGLE;
 unsigned IOCTL_ISV_CMD = ISV_CMD;
 unsigned IOCTL_WTQICMD = WTQICMD;
+#ifdef SANITIZER_NETBSD_ISCSI
 unsigned IOCTL_ISCSI_GET_VERSION = ISCSI_GET_VERSION;
 unsigned IOCTL_ISCSI_LOGIN = ISCSI_LOGIN;
 unsigned IOCTL_ISCSI_LOGOUT = ISCSI_LOGOUT;
@@ -1290,6 +1295,7 @@
 unsigned IOCTL_ISCSI_DEREGISTER_EVENT = ISCSI_DEREGISTER_EVENT;
 unsigned IOCTL_ISCSI_WAIT_EVENT = ISCSI_WAIT_EVENT;
 unsigned IOCTL_ISCSI_POLL_EVENT = ISCSI_POLL_EVENT;
+#endif
 unsigned IOCTL_OFIOCGET = OFIOCGET;
 unsigned IOCTL_OFIOCSET = OFIOCSET;
 unsigned IOCTL_OFIOCNEXTPROP = OFIOCNEXTPROP;

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2024 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.