From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 90095 invoked by alias); 13 Jun 2018 14:20:02 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 90063 invoked by uid 89); 13 Jun 2018 14:20:01 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2 spammy=preloaded, H*r:192.168.5, crazy, our X-HELO: homiemail-a122.g.dreamhost.com Subject: Re: [PATCH 00/20] RFC: Add the CPU run-time library for C To: Florian Weimer , "H.J. Lu" Cc: GNU C Library References: <20180612221939.19545-1-hjl.tools@gmail.com> From: Siddhesh Poyarekar Message-ID: Date: Wed, 13 Jun 2018 14:20:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable X-SW-Source: 2018-06/txt/msg00314.txt.bz2 On 06/13/2018 06:55 PM, Florian Weimer wrote: > It would be another thing to build a static PIC string library from=20 > sources and link that both into libc.so and this new support library.=20 > Then the build process would at least be aligned.=C2=A0 But I don't think= our=20 > current build system is up for that. Why so? Are there dependencies that avoid splitting out a=20 libstring_pic.a that builds only the string routines and then links that=20 into everything that needs it, i.e. libc.so, libc.a, libc-rt.so, etc.? Ideally I'd like to see something like this happen but it is a crazy=20 long term project: 1. Put sysdeps for specific routines into their respective directories.=20 That is, elf/sysdeps, math/sysdeps, string/sysdeps, etc. 2. Support building all of these as separate lib*_pic.a that then gets=20 integrated at the top 3. Add a new target in string/Makefile that builds a libstring-rt.so=20 from its libstring_pic.a 4. Pull string out into a separate project and make it a submodule of=20 the glibc repo. This could even get used to replace libio in future, where=20 libio-3.0_pic.a gets linked in by default and libio-2.x_pic.a is built=20 into a libio_compat.so that can then be preloaded for programs that need it. Siddhesh