From nobody Mon Dec 08 02:38:05 2025 X-Original-To: freebsd-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 4dPmPM5gnJz6JlLv for ; Mon, 08 Dec 2025 02:38:15 +0000 (UTC) (envelope-from rozhuk.im@gmail.com) Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com [IPv6:2a00:1450:4864:20::531]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dPmPM2zqvz3Yv7 for ; Mon, 08 Dec 2025 02:38:15 +0000 (UTC) (envelope-from rozhuk.im@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x531.google.com with SMTP id 4fb4d7f45d1cf-644f90587e5so5661538a12.0 for ; Sun, 07 Dec 2025 18:38:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1765161489; x=1765766289; darn=freebsd.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:date:from:from:to:cc:subject:date :message-id:reply-to; bh=Nb4p/cFMh5rZvC5ZoVXcKCxNNhe8SnxyaON4xFlF1Tk=; b=KvOLi9oWvWGF9r77xPC1/p4JcKJ9tqob4xqvFY4bU8ZgP4t9w3svZo17UbgVVO6FDG N2vawCI14oQyvX55XV/P6B648luZcpqV1Hs1xxgWZPn3i7SXK+/dPSP2tqnAYgo0tkUr Iri34AUzCYzRwQHDGTtHcfQ5Bz+ghxrRtRVKPrDrwjR5d6KpXXyV38bsvrVEZc/bmwSX wjqztLY1Y9Enkfff64K/7fUTFD8rIqF2DljaYohqC/u7tlIfHeeiuRTLq1RZyauWDnuh n5qPRCt8eKmzMAsDCHDaKNfcxn1OhC9fdd6dGNl7lb8a8uWc93UkK82REj1UPtiKYlCu WMbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765161489; x=1765766289; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:date:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Nb4p/cFMh5rZvC5ZoVXcKCxNNhe8SnxyaON4xFlF1Tk=; b=DUCJFgbkXz8z64UOIs+WUATarLK91ozsxKPukktPDaXz6Ss/EKP4DUoZdGJJryHFyK i3iZHly4WLoRJT2SwMNdgsyFJ0ojPdXojSJ929ShF7LkWSQMt/lxDkSC1o2v5XSqgpiE 4XAkfwkZOK+qVN+4LFEIQG0fjZGBJP0TL36bDWlzc04igZSTfLPH2U7UnrxYFYSMLFiP vn1q/HMcwBonSl+jAPX2f3/LeVYGtSFDLn7OX4OwZpV1TMM98tucR/0DDMIOM46gpv0r IJcgudzoOUZH6XQ9E6bGxaaIsWHDu/z5VRbBXe9ALO8q+t37XKhn6ahjeeQVVTIVs/ds 6hPw== X-Forwarded-Encrypted: i=1; AJvYcCVFnF2qBURVYRnm/oN56q7XLZM67zs7QDWLT30TsgR/lecZoqnU0m8U0NpM5Ori542H4SZQZwIBg2hZKbSuI4I=@freebsd.org X-Gm-Message-State: AOJu0YzwNzzWHnxQDf7xkU5pbrNBc9kPVt34e5uxxj9cp5j103MZhIFu vfVoNM2spIZxhqrPsvJYzTvXUnnZYYTbTxKs0BD/XP575tF6JthpmD2L X-Gm-Gg: ASbGnctU8uoFTs/NJ94exrsi2cbxieA3iawB/YGmIeMplL2joN1rbrFKpk2nBgrJghV 31ynL+qKkLB3NXYa98LJsNIAne/dzuriGmoLh3tPLm7duA9d0RMfOtKWKWX0a3rw02DdhmyUTvT erj9M0bhC9QQnaU+Q4qmXygcsdYQdVk+HteF9MMk6OoyUN9u4EHqv94efcZfzT3diW0Vc3r2IsA OFtXOvSPyVPN8Cy1eEUwfPxCLWB0QVyWw5qKPCx2lFenS5I5VVha4yTKUiYLTrwLzQ1F01kV4PS 7vHubtNEr4CPgoi7xuAcKKFFWJZNB/r8BHoapJUkJSluMwjKDa4CKeGvTnTlZH0/KQFB/JBTkmJ AgG6zrx0raCNGbg8703VNmehTIOulnJoEUhoqXJQm+Q4AkoF+K46hlhGGfBM/9kzesUsBL1dltM /SZbGyzsLSp71a1+T56esktuvq X-Google-Smtp-Source: AGHT+IEx2/FK8mjXiU5hzdiWy4t6w16JcPkpPpP6O5eHg7d3xmRPIALUJYHBqAlg6sEYRsyw8YsAJg== X-Received: by 2002:a05:6402:34c8:b0:645:dc6b:40e with SMTP id 4fb4d7f45d1cf-64919c1fa30mr4895627a12.9.1765161489055; Sun, 07 Dec 2025 18:38:09 -0800 (PST) Received: from rimwks.local ([2001:470:1f1b:4dc:f489:3de4:6515:f056]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-647b3599050sm9994460a12.17.2025.12.07.18.38.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 07 Dec 2025 18:38:07 -0800 (PST) From: Rozhuk Ivan X-Google-Original-From: Rozhuk Ivan Date: Mon, 8 Dec 2025 04:38:05 +0200 To: Konstantin Belousov Cc: Mateusz Guzik , Warner Losh , Mark Millard , FreeBSD Current , FreeBSD-STABLE Mailing List , brooks@freebsd.org Subject: Re: performance regressions in 15.0 Message-ID: <20251208043805.40126e88@rimwks.local> In-Reply-To: References: <18FB2858-5CBB-4B7A-8089-224A58C6A160@yahoo.com> <20251208035105.2313075d@rimwks.local> X-Mailer: Claws Mail 4.3.1 (GTK 3.24.51; amd64-portbld-freebsd14.3) 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=US-ASCII Content-Transfer-Encoding: 7bit X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4dPmPM2zqvz3Yv7 On Mon, 8 Dec 2025 03:59:17 +0200 Konstantin Belousov wrote: > > libLLVM.so.19.1 => /usr/local/llvm19/bin/../lib/libLLVM.so.19.1 > > (0x805c00000) > Did you noted this line? > > > libc++.so.1 => /lib/libc++.so.1 (0x801092000) > > libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x80119b000) > > libm.so.5 => /lib/libm.so.5 (0x8011bd000) > > libc.so.7 => /lib/libc.so.7 (0x80d663000) > > librt.so.1 => /lib/librt.so.1 (0x805bcb000) > > libexecinfo.so.1 => /usr/lib/libexecinfo.so.1 (0x805bd4000) > > libz.so.6 => /lib/libz.so.6 (0x805bda000) > > libzstd.so.1 => /usr/local/lib/libzstd.so.1 (0x80d963000) > > libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x80da38000) > > libelf.so.2 => /lib/libelf.so.2 (0x80da59000) > > [vdso] (0x7ffffffff000) > > > > But > > # ls /usr/bin/cc > > -r-xr-xr-x 6 root wheel 82M Oct 19 18:10:39 2025 /usr/bin/cc* > > # ls /usr/local/llvm19/bin/clang-19 > > -rwxr-xr-x 2 root wheel 125K Aug 18 06:43:31 2025 > > /usr/local/llvm19/bin/clang-19* So it dynamic linked.... > > .... > > And we found in port: > > CMAKE_ARGS= -DLLVM_BUILD_LLVM_DYLIB=ON > > CMAKE_ARGS+= -DLLVM_LINK_LLVM_DYLIB=ON > > (exist from first llvm6 372b8a151352984140f74c342a62eae2236b2c2c > > and copy-pasted to all next llvm~s by brooks@FreeBSD.org) Did you noted this lines? Without CMAKE_ARGS= -DLLVM_BUILD_LLVM_DYLIB=ON CMAKE_ARGS+= -DLLVM_LINK_LLVM_DYLIB=ON # ls /tmp/ports/usr/ports/devel/llvm19/work-default/stage/usr/local/llvm19/bin/clang-19 -rwxr-xr-x 2 root wheel 164M Dec 8 04:23:13 2025 /tmp/ports/usr/ports/devel/llvm19/work-default/stage/usr/local/llvm19/bin/clang-19* # ldd /tmp/ports/usr/ports/devel/llvm19/work-default/stage/usr/local/llvm19/bin/clang-19 /tmp/ports/usr/ports/devel/llvm19/work-default/stage/usr/local/llvm19/bin/clang-19: ld-elf.so.1: /tmp/ports/usr/ports/devel/llvm19/work-default/stage/usr/local/llvm19/bin/clang-19: mmap of entire address space failed: Cannot allocate memory /tmp/ports/usr/ports/devel/llvm19/work-default/stage/usr/local/llvm19/bin/clang-19: exit status 1 > > According to: https://llvm.org/docs/CMake.html > > ============================================================================================= > > BUILD_SHARED_LIBS is only recommended for use by LLVM developers. > > If you want to build LLVM as a shared library, you should use the > > LLVM_BUILD_LLVM_DYLIB option. > > ============================================================================================= > > > > So upstream DOES NOT RECOMMEND to build shared libs to users!!! > I am curious about the motivation. > > JFYI, shared llvm libs are required for lot of things. The incomplete > list of examples that I am aware of are dri drivers and ispc Intel > compiler. # grep -rsp "libLLVM.so" /usr/ports/ | grep '/Makefile' /usr/ports/devel/ispc/Makefile:LIB_DEPENDS= libLLVM.so:devel/llvm${LLVM_VERSION} \ /usr/ports/graphics/seexpr/Makefile:LLVM_LIB_DEPENDS= libLLVM.so:devel/llvm${LLVM_DEFAULT} # grep -rsp "LLVM_VERSION" /usr/ports/ | grep '/Makefile' | grep 'libLLVM' /usr/ports/audio/faust/Makefile:LIB_DEPENDS= libLLVM-${LLVM_VERSION}.so:devel/llvm${LLVM_VERSION} \ /usr/ports/lang/crystal/Makefile: libLLVM-${_LLVM_VERSION}.so:devel/llvm${_LLVM_VERSION} \ # grep -rsp 'llvm\${LLVM_VERSION}' /usr/ports/ | grep '/Makefile' /usr/ports/cad/nvc/Makefile:BUILD_DEPENDS= llvm-config${LLVM_VERSION}:devel/llvm${LLVM_VERSION} /usr/ports/devel/edi/Makefile:LIBCLANG_LIB_DEPENDS= libclang.so:devel/llvm${LLVM_VERSION} /usr/ports/devel/fccf/Makefile:CMAKE_ARGS= -DLLVM_DIR:STRING=${PREFIX}/llvm${LLVM_VERSION}/lib/cmake/llvm /usr/ports/devel/cppinsights/Makefile:CMAKE_ARGS= -DLLVM_CONFIG_PATH="${LOCALBASE}/llvm${LLVM_VERSION}/bin/llvm-config" /usr/ports/graphics/mesa-dri/Makefile.common:LDFLAGS+= -Wl,-rpath=${LOCALBASE}/llvm${LLVM_VERSION}/lib /usr/ports/lang/halide/Makefile:RUN_DEPENDS= llvm${LLVM_VERSION}>0:devel/llvm${LLVM_VERSION} /usr/ports/lang/lfortran/Makefile:CMAKE_ARGS= -DLLVM_INSTALL_DIR:PATH="${LOCALBASE}/llvm${LLVM_VERSION}" \ /usr/ports/lang/pocl/Makefile: spirv-llvm-translator-llvm${LLVM_VERSION}>=${LLVM_VERSION}:devel/spirv-llvm-translator@llvm${LLVM_VERSION} \ /usr/ports/lang/pocl/Makefile: -DWITH_LLVM_CONFIG="${LOCALBASE}/llvm${LLVM_VERSION}/bin/llvm-config" /usr/ports/math/symengine/Makefile:LLVM_BUILD_DEPENDS= llvm${LLVM_VERSION}>0:devel/llvm${LLVM_VERSION} Ok, shared lib required for some ports. Nice to have static linked executables + shared lib for ports that use it. But shared lib for llvm in base is not used, no reason to build llvm in base with shared lib, since it only used to compile world+kernel.