From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.CeBiTec.Uni-Bielefeld.DE (smtp.CeBiTec.Uni-Bielefeld.DE [129.70.160.84]) by sourceware.org (Postfix) with ESMTPS id AFA5E3858C78 for ; Wed, 13 Dec 2023 09:33:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AFA5E3858C78 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=CeBiTec.Uni-Bielefeld.DE Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=cebitec.uni-bielefeld.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org AFA5E3858C78 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=129.70.160.84 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702459988; cv=none; b=scxjBECKnKqRiPtTWDA8rB5rJ21V4LMI8q1kn0Q2/+if3nlhtTbnx6V9qupNFajRkz7hMTZTgh2w1LfQ/WHfNkdkTuh44sp/hC2+Ea1GeoEA9tYJire1EGqwvQPJHc8UTFmHB9dGwrcKiRjqzirFUwqfFwDL+G0IcxWI3CuAx8E= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702459988; c=relaxed/simple; bh=et1Cx+AN8PUj0sk2+Ulgomz57BDxNnU/yxA+ctrGq9c=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=Z4JOaDiLb9acVXIt9NJINVgtJoePQ6ikgeCoDimhueJAUH+LjSEcq6YN9j2um0CVUTv3WgXBGEZL7nx9DFmIzxXs5t/EubU/l9x+jk7ra/y9y+/pXgKGU2HdisrQelVgd8qRY/Okkh0ywHRvikpsesHf8OsGGuiuUxEC6AqieSU= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from localhost (localhost [127.0.0.1]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTP id C3FA1C7559 for ; Wed, 13 Dec 2023 10:33:05 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d= cebitec.uni-bielefeld.de; h=content-type:content-type :mime-version:user-agent:message-id:date:date:subject:subject :from:from:received:received; s=20200306; t=1702459985; bh=et1Cx +AN8PUj0sk2+Ulgomz57BDxNnU/yxA+ctrGq9c=; b=TVTlEspObO1gx8oJXkkny HRl6hb/e+TRXeL5k5aUjF95IlwvsCyQ5cXwiFdIbDkUb5XEgkncTQLTOv6hnczpi WvwY2kP7i2wYmIPlZpqvR65DBfazw5o8ZP68Nza+d2w0lG1oK5d1himH2WY7mbKg /smG0k4Ov7vYW7IJFiJWzvpxXVNFfFrdcLVU4PCKUJ7wyLjsxDm5Tz97PW9no+FG jpJiR5zc4qJa98kECFE93nG35M9Lg9gsAmR6Wea5aIdBYijg+pmeHggGwfwuBecx 4RmDh7mU8vEJsCAhrO43m8m7hdVNFCX1nSkvuN267sCnaHIigPxOoHkLcQpm1Mxi w== X-Virus-Scanned: amavisd-new at cebitec.uni-bielefeld.de Received: from smtp.CeBiTec.Uni-Bielefeld.DE ([127.0.0.1]) by localhost (smtp.cebitec.uni-bielefeld.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id BcqpdeyMWUG9 for ; Wed, 13 Dec 2023 10:33:05 +0100 (CET) Received: from manam.CeBiTec.Uni-Bielefeld.DE (p4fddb508.dip0.t-ipconnect.de [79.221.181.8]) (Authenticated sender: ro) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTPSA id 629A8C7722 for ; Wed, 13 Dec 2023 10:33:05 +0100 (CET) From: Rainer Orth To: binutils@sourceware.org Subject: [PATCH] ld: Add lib32 directories for 32-bit emulation on FreeBSD/amd64 Date: Wed, 13 Dec 2023 10:33:05 +0100 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1.90 (usg-unix-v) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Status: No, score=-3791.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,GIT_PATCH_0,KAM_NUMSUBJECT,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --=-=-= Content-Type: text/plain GNU ld currently fails to link 32-bit executables on FreeBSD/amd64 when the linked libraries have dependencies on shared objects themselves: $ gcc -m32 -o ei ei.c -lexecinfo /var/gcc/binutils/amd64/lib/gcc/amd64-pc-freebsd14.0/13.2.0/../../../../amd64-pc-freebsd14.0/bin/ld: warning: libelf.so.2, needed by /usr/lib/../lib32/libexecinfo.so, not found (try using -rpath or -rpath-link) /var/gcc/binutils/amd64/lib/gcc/amd64-pc-freebsd14.0/13.2.0/../../../../amd64-pc-freebsd14.0/bin/ld: /usr/lib/../lib32/libexecinfo.so: undefined reference to `elf_begin@R1.0' [...] Fixed by handling FreeBSD/amd64 like Linux/x86. Tested on amd64-pc-freebsd14.0. Ok for trunk? Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University 2023-12-13 Rainer Orth ld: * emulparams/elf_i386.sh (LIBPATH_SUFFIX, LIBPATH_SUFFIX_SKIP) [x86_64*-freebsd*]: Set for i386 emulation. --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=ld-freebsd-lib32.patch diff --git a/ld/emulparams/elf_i386.sh b/ld/emulparams/elf_i386.sh --- a/ld/emulparams/elf_i386.sh +++ b/ld/emulparams/elf_i386.sh @@ -39,4 +39,12 @@ case "$target" in ;; esac ;; + x86_64*-freebsd*) + case "$EMULATION_NAME" in + *i386*) + LIBPATH_SUFFIX=32 + LIBPATH_SUFFIX_SKIP=64 + ;; + esac + ;; esac --=-=-=--