From patchwork Sun May 5 19:41:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rainer Orth X-Patchwork-Id: 1931599 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=cebitec.uni-bielefeld.de header.i=@cebitec.uni-bielefeld.de header.a=rsa-sha256 header.s=20200306 header.b=NMA7uVuX; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4VXZfh2Xpcz1yZk for ; Mon, 6 May 2024 05:41:30 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E6CB93858426 for ; Sun, 5 May 2024 19:41:28 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from smtp.CeBiTec.Uni-Bielefeld.DE (smtp.CeBiTec.Uni-Bielefeld.DE [129.70.160.84]) by sourceware.org (Postfix) with ESMTPS id 103133858D28 for ; Sun, 5 May 2024 19:41:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 103133858D28 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 103133858D28 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=1714938070; cv=none; b=xL230Y2GyKxtOfWMkNS0yUAzcnzIutpfcpDMNfRoFzplzpkj6A06J4f4fnMMODgSYgrDnW3G11Yn8X3JAZuhmT4i6XEy8eftIem7HFlQJ9QcNRmV1a1J3seE3T1MBPuXDGXOAaiUeG8DXndqHaJo8VWktcHhYPCCXnk4TJWxgGc= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1714938070; c=relaxed/simple; bh=dIE2B6RLygFFc4+xnLVOuRulWbanP37l3qKarfpqjng=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=kQwGbuNQcjqgjkeqrxrkbswhE/HjbPTYJMI/VdmEw2xhU6Vndxk1Vy7RjipptIPNP4r4wYIIl2OVfcY89PU3L0yGQ65GrZPfS5mu5bd1YTPxj4Su7HWyY2wS5g5FT7GnZRnncy4DLULpSN27y+KFmccQ5JEAGDs/W/prUSLzT5U= 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 1C898B7DB0; Sun, 5 May 2024 21:41:05 +0200 (CEST) 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=1714938064; bh=dIE2B 6RLygFFc4+xnLVOuRulWbanP37l3qKarfpqjng=; b=NMA7uVuXkE3DpzmKQP3v0 an/vd/cP/1fWSFvla8qdMtGnB1oQfkP08YwFI5tcC5MCx68FfyUiYPfXmHvOqQZ4 rZfycbZlcLepLSr40Lexb7WfKPs6o1tkqZJ2J32gXarusrqZJXz2WaiiE32sWjwU R++spUz2yg1Pfm7mmXZ8rUiEwD3gFRaTF10u8jAlHXeW5ANSh8gaahSD8I6fUWpH FHD5kaG3eXh3Z/dyGYZSF+8+rh/A1FnkqQNHdc7b9EHwaheLGCVeMcmHQldhSEOX 3LdbvrHquS3eN19ngPMiZx/mtFEkaNSIjUIbKtssHL9SOLCbrpzQn8brGJfvHqqi g== 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 ppkU-NugZ3Gd; Sun, 5 May 2024 21:41:04 +0200 (CEST) Received: from manam.CeBiTec.Uni-Bielefeld.DE (p5085529e.dip0.t-ipconnect.de [80.133.82.158]) (Authenticated sender: ro) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTPSA id 364C0B7C46; Sun, 5 May 2024 21:41:04 +0200 (CEST) From: Rainer Orth To: gcc-patches@gcc.gnu.org Cc: gfortran@gcc.gnu.org Subject: [PATCH] libgfortran: Fix libgfortran.so versioning on Solaris with subdirs Date: Sun, 05 May 2024 21:41:03 +0200 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1.90 (usg-unix-v) MIME-Version: 1.0 X-Spam-Status: No, score=-3790.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, GIT_PATCH_0, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org The move of libgfortran objects to subdirectories completely broke the creation of libgfortran.so on Solaris. Since the gfortran.ver-sun rule doesn't support that structure, no libtool objects are found, thus no symbols exported from libgfortran.so, causing every link to fail. This patch fixes this by allowing for the new structure. Tested on i386-pc-solaris2.11 and sparc-sun-solaris2.11. Ok for trunk? Btw., I'm the first to admit the current way of performing those filename/pathname transforms from libtool objects/archives to regular objects/archives in the Makefiles is incredibly fragile. It should be handled in make_sunver.pl itself instead, but for now this needs a quick fix. Rainer diff --git a/libgfortran/Makefile.am b/libgfortran/Makefile.am --- a/libgfortran/Makefile.am +++ b/libgfortran/Makefile.am @@ -29,7 +29,7 @@ gfortran.ver-sun : gfortran.ver \ $(libgfortran_la_OBJECTS) $(libgfortran_la_LIBADD) perl $(top_srcdir)/../contrib/make_sunver.pl \ gfortran.ver \ - $(libgfortran_la_OBJECTS:%.lo=.libs/%.o) \ + $(subst /,/.libs/,$(libgfortran_la_OBJECTS:.lo=.o)) \ `echo $(libgfortran_la_LIBADD) | \ sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \ > $@ || (rm -f $@ ; exit 1) diff --git a/libgfortran/Makefile.in b/libgfortran/Makefile.in --- a/libgfortran/Makefile.in +++ b/libgfortran/Makefile.in @@ -4576,7 +4576,7 @@ uninstall-am: uninstall-cafexeclibLTLIBR @LIBGFOR_USE_SYMVER_SUN_TRUE@@LIBGFOR_USE_SYMVER_TRUE@ $(libgfortran_la_OBJECTS) $(libgfortran_la_LIBADD) @LIBGFOR_USE_SYMVER_SUN_TRUE@@LIBGFOR_USE_SYMVER_TRUE@ perl $(top_srcdir)/../contrib/make_sunver.pl \ @LIBGFOR_USE_SYMVER_SUN_TRUE@@LIBGFOR_USE_SYMVER_TRUE@ gfortran.ver \ -@LIBGFOR_USE_SYMVER_SUN_TRUE@@LIBGFOR_USE_SYMVER_TRUE@ $(libgfortran_la_OBJECTS:%.lo=.libs/%.o) \ +@LIBGFOR_USE_SYMVER_SUN_TRUE@@LIBGFOR_USE_SYMVER_TRUE@ $(subst /,/.libs/,$(libgfortran_la_OBJECTS:.lo=.o)) \ @LIBGFOR_USE_SYMVER_SUN_TRUE@@LIBGFOR_USE_SYMVER_TRUE@ `echo $(libgfortran_la_LIBADD) | \ @LIBGFOR_USE_SYMVER_SUN_TRUE@@LIBGFOR_USE_SYMVER_TRUE@ sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \ @LIBGFOR_USE_SYMVER_SUN_TRUE@@LIBGFOR_USE_SYMVER_TRUE@ > $@ || (rm -f $@ ; exit 1)