From nobody Mon Aug 3 15:21:49 2026 X-Original-To: dev-commits-ports-all@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 4hDL4Y6vsgz6mLf7 for ; Mon, 03 Aug 2026 15:21:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (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 "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hDL4Y2dFgz3Cw5 for ; Mon, 03 Aug 2026 15:21:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785770509; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zvvvnNWBcA2ev9iHV5cB1uAuNvBdW8RsSYMnvqpUh5Q=; b=J7ECZfxBX7HU9xaiw6iz5qYSRfFSI3M+nx7sf/Fp3pwpiSjlqKaLwo+sQWiddOSxhpcLAO nw2FL6Kx/bobPGoZW+WIRxe02H6nzlgfpmT+9W4jC6YxeDLr/oKwgQfJt/W3pg4t4vqJVQ Bzkj2HhJBDlP9bQgUuZ8vug8t2Q4z3F8RyduwopEdjpWsQf4kDghVz3+IrrCtXuMulA+HC i37s4XMdp+2GUZH0VGz9Q53/rjUIO8yD90HRSymYgDrV/fJt3pTOiBUDCKNe2QqkBtrTDL ZmYvwKkEPYeB+8fLOzmSEMLPkgPJrC76Eb9LAlkQ7CBjWVX5luaYGP7HMsq/hA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1785770509; a=rsa-sha256; cv=none; b=DUfgpHxVWP14dVsAk7lAUssRp/h/F8rBp9zx+b/MgR6Mlki08c+eTAby/w0fYD6t9nmqkj 2Ix69MFDO5AvcRRmVsdnAhzYTOdHWMquTMcmQfEac5RskPd0INvBDib+lpokkqAcwdZ4st UTDYiLbuTS5XEdqvE3/feJ6IlPiSnyMqMBSTsg0SvEVwNlCbZAgljGM+CytKZdZZAYoJwL T/UraLCHk4mNbY7EW6N+J9tMY842+iyYw4FmsOQXngP8UgOwMQ7fx56538mfws9NC36kZv +h/wIiGHRhjgmEUFmDeCCsuQqzpvqA7W5uNIlPWNfbq2b8W1Dj/+FtMR6GhZIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785770509; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zvvvnNWBcA2ev9iHV5cB1uAuNvBdW8RsSYMnvqpUh5Q=; b=t07ILEp8SWFicXjBuHM5q9wN8JRMjr2d3OZxtlbilJLKbGFiboZt+dCOrSC3nkAQnPGR2J 0GZ8h3OHBHl5PUx2eY0IbquYS9KpL06XUDH6/91Z7gc7AI1VmITgQUh+6cpGATRX5E4ZGM HzwM4mQLXP/2P28wxdn0C6mC+zQUW9n1jNnV3WYdU/4DKJPuocENPujdjxz/BLniud6y7V HP+dQg8CT/sahXb9zYNKSIvcPtqxu9WY1RuCNAx+XAt2sCHPUyT5h2UXNyuYEsOebi4NSj REqxUzCINfu6xiZS1HE75IjAhettpo0UjS82C6CE2LbM5WzNmqyhCZKeR2Mf0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hDL4Y1K4pz1628 for ; Mon, 03 Aug 2026 15:21:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b6d7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 03 Aug 2026 15:21:49 +0000 To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Piotr Kubaj Subject: git: 60252f383052 - main - devel/objfw: fix build on powerpc64* List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-all@freebsd.org Sender: owner-dev-commits-ports-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pkubaj X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 60252f38305257cf400dd94d6138b1ab4f955ed0 Auto-Submitted: auto-generated Date: Mon, 03 Aug 2026 15:21:49 +0000 Message-Id: <6a70b20d.3b6d7.25391224@gitrepo.freebsd.org> The branch main has been updated by pkubaj: URL: https://cgit.FreeBSD.org/ports/commit/?id=60252f38305257cf400dd94d6138b1ab4f955ed0 commit 60252f38305257cf400dd94d6138b1ab4f955ed0 Author: Piotr Kubaj AuthorDate: 2026-08-02 21:12:27 +0000 Commit: Piotr Kubaj CommitDate: 2026-08-03 15:21:22 +0000 devel/objfw: fix build on powerpc64* Taking the address of _objc_taggedPointerClasses with addis %r6, %r2, _objc_taggedPointerClasses@toc@ha addi %r6, %r6, _objc_taggedPointerClasses@toc@l emits an R_PPC64_TOC16_LO relocation against the symbol itself, which requires the symbol to be non-preemptible and reachable relative to the TOC pointer. Neither holds for a global symbol in a shared library, so linking libobjfwrt.so fails on FreeBSD/powerpc64le: ld: error: relocation R_PPC64_TOC16_LO cannot be used against symbol '_objc_taggedPointerClasses'; recompile with -fPIC >>> defined in tagged-pointer.lib.o >>> referenced by lookup-asm.lib.o:(objc_msg_lookup) in archive lookup-asm/lookup-asm.lib.a The "recompile with -fPIC" hint is misleading: every object is already compiled with -fPIC, and the offending sequence is in hand-written assembly, which -fPIC does not affect. Load the address from the GOT instead, which is the position independent way to take the address of a preemptible global: addis %r6, %r2, _objc_taggedPointerClasses@got@ha ld %r6, _objc_taggedPointerClasses@got@l(%r6) The neighbouring _objc_taggedPointerSecret access is deliberately left unchanged. It uses @toc with a ld, which loads the variable's *value* -- what the following xor needs. The classes access instead needs the array's *address* for the subsequent ldx, and only the address-forming sequence is affected. --- .../patch-src_runtime_lookup-asm_lookup-asm-powerpc64-elf.S | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/devel/objfw/files/patch-src_runtime_lookup-asm_lookup-asm-powerpc64-elf.S b/devel/objfw/files/patch-src_runtime_lookup-asm_lookup-asm-powerpc64-elf.S new file mode 100644 index 000000000000..cc7859a92dff --- /dev/null +++ b/devel/objfw/files/patch-src_runtime_lookup-asm_lookup-asm-powerpc64-elf.S @@ -0,0 +1,13 @@ +--- src/runtime/lookup-asm/lookup-asm-powerpc64-elf.S.orig 2026-08-02 17:00:57 UTC ++++ src/runtime/lookup-asm/lookup-asm-powerpc64-elf.S +@@ -93,8 +93,8 @@ + xor %r5, %r3, %r5 + rlwinm %r5, %r5, 2, 0x38 + +- addis %r6, %r2, _objc_taggedPointerClasses@toc@ha +- addi %r6, %r6, _objc_taggedPointerClasses@toc@l ++ addis %r6, %r2, _objc_taggedPointerClasses@got@ha ++ ld %r6, _objc_taggedPointerClasses@got@l(%r6) + ldx %r5, %r6, %r5 + ld %r5, 64(%r5) +