From nobody Fri Oct 31 11:25:23 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 4cydvW3P31z6FgJQ for ; Fri, 31 Oct 2025 11:25:43 +0000 (UTC) (envelope-from anders@straadt.dk) Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com [IPv6:2a00:1450:4864:20::62b]) (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 4cydvV5vVZz3qtD for ; Fri, 31 Oct 2025 11:25:42 +0000 (UTC) (envelope-from anders@straadt.dk) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=straadt-dk.20230601.gappssmtp.com header.s=20230601 header.b=OjDdulF8; dmarc=none; spf=none (mx1.freebsd.org: domain of anders@straadt.dk has no SPF policy when checking 2a00:1450:4864:20::62b) smtp.mailfrom=anders@straadt.dk Received: by mail-ej1-x62b.google.com with SMTP id a640c23a62f3a-b6d78062424so343499266b.1 for ; Fri, 31 Oct 2025 04:25:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=straadt-dk.20230601.gappssmtp.com; s=20230601; t=1761909936; x=1762514736; darn=freebsd.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=Wef7kmXhnQ9ZoMdJqIElXL0wLuCTs/hSRIxz6lJmvgI=; b=OjDdulF8zyrEhi6nzCu0gJYNdTxI6K7OATgbjXOYZaoPZzgO8t5AeAawbqxUkPiAUM 5S3r7EsPnIt1EbigGXjx3muLv3Ly9JqH1RwfkPyEkByBcJ6y7amTTQVjxi0oeUYQSGw/ yqedIFrsMMcjHdx8FkZLvaK5bkcMatXvi/wPL/DxeypE6qkfqG53+Mr+HHsOfbu8qHfF u7cEgTcrIEmR7ecMtQj993JSDVYh2SibzP5jqLYAvgelmgYgdrSjVS8AXng8oveoJN+t 7RdYD+Ah7ERhbFmDnr28kfjkleIncj2hg9snn/4dqeEJNqy6EnaLeDJHDh3ceiCgRMu2 enUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761909936; x=1762514736; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=Wef7kmXhnQ9ZoMdJqIElXL0wLuCTs/hSRIxz6lJmvgI=; b=j4JYIndQnfypL70wcJPs3qofdLZ32YPfmvYaLVt6MCXhCOHAjQ09888HeU+AvMVF8y 3LSIpBfYaaWRNFyXt+Qe4TaChAbFGrS/kwN/ETPYneY7zsMdqy5s9+sLUQqqs3GjGUsD 3kErBAr5SK9y44uPU6nv7mXMSWCiKX9CYFlve+NHpLzYQDmrZPTWbqeUOsBuwz3j0BGy yT79U1m25A9pR6awwy4nJEzw7kLCNUw5jOj58t3hS2p6J7F0V8+cJtnzvzfDulkkfmlx +f477CSkMqUi3V9y+0rKLzHiFMjPWQFBuWPVwPCMY2izKg/UP1rqur2Ym7/xF+F/9zCd z+7Q== X-Gm-Message-State: AOJu0Yy/TbG8nam4OSjZCTzSq0m8ufuY3EGjDuNJ5K7bxSegeudLvubP yI5wt/5vTKyiX9cWGBfG3U9V/mtlEsrqWDRn3Mz5BNJN+JXCrplwQV3lCaHVZVcvQocDiTlVFVO yfMR5jo6mu4QLuHLIeOT0DtsYWW9d7EC7wvsMfvzt78dw9xz7ZU2QTI10Pw== X-Gm-Gg: ASbGncsQ4fC8Y1nVFXw4NGXzJdK22SdBapNSRGM1YHoXNIfxvmqg0jXI5WRhEbF5nsS PJpuPEWXZpDPQTPSdsaBs+4PMwk9lAyWL5rivUg59AExoZ3kXcTge6A+uTAB97X3g8SHtfeS+/w 4lGetqf2NqpsdADwoJt1h+jei8pFBXrcGHhZ6dmAElmZoBSdgGyx0yVBrClxsgGJcHf4pYZmVXU SqEjYeIIaOZTK7EPDVmCRJrK6holwuyvA30vKiIQuJrMKIRkXO8GB5Brc4zwVA+6mAdOw== X-Google-Smtp-Source: AGHT+IFoJelOUeRP/7k5z+Nc+JATGq2SIMDVv1CeU+IHIWwPzU0Ovoqg3B1mW1mutDmFRqORf6babnEqAIvCNJJaiLU= X-Received: by 2002:a05:6402:4517:b0:638:d4bb:6c80 with SMTP id 4fb4d7f45d1cf-64077071599mr2536133a12.36.1761909935447; Fri, 31 Oct 2025 04:25:35 -0700 (PDT) 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 From: Anders Straadt Date: Fri, 31 Oct 2025 12:25:23 +0100 X-Gm-Features: AWmQ_bnBVbFHwvXnhaziNT05KX6Gc5XkiY4uICMcGK34ulZ9EsfFGvgJUi1B7FE Message-ID: Subject: arm64/aarch64 buildworld link error on atomics in lib/libgcc_s (+workaround) To: freebsd-current@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.30 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.997]; R_DKIM_ALLOW(-0.20)[straadt-dk.20230601.gappssmtp.com:s=20230601]; MIME_GOOD(-0.10)[text/plain]; R_SPF_NA(0.00)[no SPF record]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; FREEFALL_USER(0.00)[anders]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_ONE(0.00)[1]; MISSING_XM_UA(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::62b:from]; ARC_NA(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; DMARC_NA(0.00)[straadt.dk]; RCVD_TLS_LAST(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; MLMMJ_DEST(0.00)[freebsd-current@freebsd.org]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[freebsd-current@freebsd.org]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DKIM_TRACE(0.00)[straadt-dk.20230601.gappssmtp.com:+] X-Rspamd-Queue-Id: 4cydvV5vVZz3qtD I get several "non-exported symbols" on atomics like these: --- all_subdir_bin --- ld: error: non-exported symbol '__aarch64_cas4_acq' in '.../arm64.aarch64/tmp/usr/lib/libgcc.a(outline_atomic_cas4_2.o)' is referenced by DSO '.../arm64.aarch64/tmp/usr/lib/libgcc_s.so' Last year's commit 361da40536d7f implements a workaround in sys/conf/kern.mk for the same problem it seems (C11 atomics stuff?), so I adapted it for lib/libgcc_s/Makefile, and after that buildworld (and buildkernel) works: --- a/lib/libgcc_s/Makefile +++ b/lib/libgcc_s/Makefile @@ -44,6 +44,10 @@ SRCS+= s_logbf.c SRCS+= s_scalbn.c SRCS+= s_scalbnf.c +.if ${MACHINE_CPUARCH} == "aarch64" +CFLAGS+= -mno-outline-atomics +.endif + # Don't include long double routines on architectures where long double # is the same size as double. .if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "powerpc" FWIW I get the same link error when building on 15.0-BETA3 native*, and when cross-building (TARGET_ARCH=aarch64) on a 2017-ish Core i7 running 14.3-RELEASE, and the patch works in both cases. -Anders *) 14-3.RELEASE only booted in safe mode on my new Lenovo ThinkCentre Neo 50q / Snapdragon X1-26-100. Normal boot blanked+rebooted after few seconds; last non-blank frame in a phone video capture shows the line right before "CPU 0: Qualcomm(...)" on 15.0-BETA3 -- which boots and finds all 8 cores. The CPU is sluggish though ("World built in 13497 seconds, ncpu: 8, make -j8"), possibly due to some ACPI problem I see in dmesg every 10 seconds (also, "powerd: no cpufreq(4) support -- aborting"), which is why I'm (new) here in -CURRENT (hi!)