From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by sourceware.org (Postfix) with ESMTPS id 73CD53858281 for ; Mon, 10 Oct 2022 18:05:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 73CD53858281 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=adacore.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=adacore.com Received: by mail-wr1-x42e.google.com with SMTP id n12so18131430wrp.10 for ; Mon, 10 Oct 2022 11:05:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adacore.com; s=google; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=COUqy0mrwBXEiUi6tbZakZwDn9gPEDvyowN2TAmrDQg=; b=QBS75sWXNnRawMIWcE3xOlMQD7HMY1Eb9LEQU6uBkMzMqVrZwUvieM7JwEn5hZklY9 t0NhkhUYufDaGVv3Ij1OwcmIot3KwvHiG8L1vnF3+YObm0TVNLEE8h8p01cFRakUM+gH nN+f8MrYzDlihOCGoK96JVcQ/Pf0cC07yi92ofhsZA8GSMQpCgq7CkE6JrA07651gm3K GAZF3ZwM/+lUTyJXjwG+g1lG9drvkvhDREizmbWUu+RPj2Oorev/JhloqqLuxjdzoDQF v/h+vW3mRwwLdUnSBa2XnD5fZl7kpB+rpZMgYzahAb8xeOXvHSWitC3W06uDN/eCEdT7 u00w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=COUqy0mrwBXEiUi6tbZakZwDn9gPEDvyowN2TAmrDQg=; b=0sto4slQwIoZEhzdT0hJ2zEoVf8FrNbPw4rtV3TmTDdzsIHVpPBUGF4EDIxTofqSN6 MEK8AsVWNdBLuc7TOUcFokPQKIsBU8tE85Mn3o6eaV3ILKNIcQjGUs0fw9wbRacTtiBU 8A9QCXNJJoUXB4unz3IEc0JJ9ZNzG4Eng3BJjgez9FbRL9R4U9eNKy+2k5GGxaHdljaN 0QeFb//vRX9LyLJTCRYcX3QUNOMY5I+CER1ru9C/+wpmfdGXreSGi6/DztLSGQYvssIq Uh5baDmoyPRQn7yA5TFfVAgoT0fzpCJItU8AOC2r2f+I1kj2squE7Lu5CPNb0Y3tBEPs TSTg== X-Gm-Message-State: ACrzQf0jsCF8EJSzilljfRvq0JLVGtcGRzwkjhuC/+lvlLpas/y1Cthc M0D/MJ2Yxuf0tJE3vbwnH+5XtEz6tAn10Q== X-Google-Smtp-Source: AMsMyM7BqAWYpRCgGbMGNOn3NYbKIikmygUcwQkh5cKkDp3/SnkJ8aJ+jhg88K7gd6jCq872LyB9/w== X-Received: by 2002:a5d:4f12:0:b0:22e:3920:a09c with SMTP id c18-20020a5d4f12000000b0022e3920a09cmr12007632wru.95.1665425129899; Mon, 10 Oct 2022 11:05:29 -0700 (PDT) Received: from smtpclient.apple (2a01cb09805351448983fce896bc276d.ipv6.abo.wanadoo.fr. [2a01:cb09:8053:5144:8983:fce8:96bc:276d]) by smtp.gmail.com with ESMTPSA id l4-20020a7bc444000000b003a2e92edeccsm16820080wmi.46.2022.10.10.11.05.28 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Oct 2022 11:05:28 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\)) Subject: Re: [patch] configury support for VxWorks shared libraries From: Olivier Hainque In-Reply-To: Date: Mon, 10 Oct 2022 20:05:27 +0200 Cc: Olivier Hainque , gcc-patches Content-Transfer-Encoding: 7bit Message-Id: <55793BF8-3BBA-4CF4-A41C-8A6BFA47F272@adacore.com> References: To: libstdc++ X-Mailer: Apple Mail (2.3654.120.0.1.13) X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Sorry, I forgot to cc libstdc++ on https://gcc.gnu.org/pipermail/gcc-patches/2022-October/603182.html which includes a regen of libstdc++-v3/configure after an update libtool.m4. Not committed yet. With Kind Regards, Olivier > On 10 Oct 2022, at 19:05, Olivier Hainque wrote: > > Hello, > > This change introduces configury infrastructure allowing the > production of shared libraries for VxWorks, amenable to use with > non-static rtps (linked with "-non-static"). > > The ability to produce PIC code is not a given on all VxWorks > configurations, so activating this has to be explicitly requested > by configuring with --enable-shared > (https://gcc.gnu.org/pipermail/gcc-patches/2022-September/602523.html). > > This requirement is then leveraged to factorize the configuration > processing in a mostly cpu independant manner, which makes maintenance > a lot easier. > > When activated, shared libs are built for the rtp mode only > (the only kind of entity for which they are supported by the > VxWorks environment), for code model != large at this stage as > large and PIC still don't play well together. > > We have been using this for about a year with gcc-11 based toolchains, > with support activated for aarch64, x86_64 and ppc64-vxworks7r2, and > not activated for the corresponding 32bit variants (arm, i686, ppc). > Aarch64 proved an interesting challenge with the gcc/gcc_eh split > for lse features. > > I obtained good test results with a gcc-12 based compiler for ppc64 > and could get a successful sanity check build with mainline for that > cpu as well. > > Will commit to mainline shortly. > > Cheers, > > Olivier > > 2022-10-09 Olivier Hainque > > gcc/ > * config.gcc (*vxworks*): Add t-slibgcc fragment > if enable_shared. > > libgcc/ > * config.host (*vxworks*): When enable_shared, add > libgcc and crtstuff "shared" fragments for rtp except > large code model. > (aarch64*-wrs-vxworks7*): Remove t-slibgcc-libgcc from > the list of fragments. > > toplevel/ > * libtool.m4 (*vxworks*): When enable_shared, set dynamic_linker > and friends for rtp !large. Assume the linker has the required > abilities and set lt_cv_deplibs_check_method. > > > Then, regenerating configure scripts to reflect the libtool.m4 update. > > 2022-10-09 Olivier Hainque > > gcc/ > * configure: Regenerate. > > libatomic/ > * configure: Regenerate. > > libbacktrace/ > * configure: Regenerate. > > libcc1/ > * configure: Regenerate. > > libffi/ > * configure: Regenerate. > > libgfortran/ > * configure: Regenerate. > > libgomp/ > * configure: Regenerate. > > libitm/ > * configure: Regenerate. > > libobjc/ > * configure: Regenerate. > > liboffloadmic/ > * configure: Regenerate. > > liboffloadmic/ > * plugin/configure: Regenerate. > > libphobos/ > * configure: Regenerate. > > libquadmath/ > * configure: Regenerate. > > libsanitizer/ > * configure: Regenerate. > > libssp/ > * configure: Regenerate. > > libstdc++-v3/ > * configure: Regenerate. > > libvtv/ > * configure: Regenerate. > > lto-plugin/ > * configure: Regenerate. > > zlib/ > * configure: Regenerate. > > <0002-Generic-configury-support-for-shared-libs-on-VxWorks.patch> > >