From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 30827 invoked from network); 19 Nov 2021 20:01:10 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 19 Nov 2021 20:01:10 -0000 Received: (qmail 7707 invoked by uid 550); 19 Nov 2021 20:01:08 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 7666 invoked from network); 19 Nov 2021 20:01:07 -0000 Date: Fri, 19 Nov 2021 15:00:55 -0500 From: Rich Felker To: Matt Andrews Cc: musl@lists.openwall.com Message-ID: <20211119200055.GX7074@brightrain.aerifal.cx> References: <20211118214024.GT7074@brightrain.aerifal.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Subject: Re: [musl] Why does musl require another libc to be built (noob question) You dropped the list on your reply so I re-sent your mail to the list on CC. On Fri, Nov 19, 2021 at 10:16:30AM +1100, Matt Andrews wrote: > So if there is no dependency on another libc, then the only ‘dependency’ > musl would have is some compiler runtime? If the compiler generates calls to its own library functions as part of implementing language constructs (e.g. 64-bit division, floating point on softfloat archs, etc.) then you need this library code. This is libgcc.a or compiler_rt. > I see in the source there is a ‘crt’ folder. Is that musl’s compiler > runtime? No, these are the sources for the entry point object files linked into every program as opposed to part of the library. > On Fri, 19 Nov 2021 at 09:31, Matt Andrews wrote: > > > Oh. I read somewhere that some syscalls like abort require an > > implementation that is picked up from some other libc. > > > > On Fri, 19 Nov 2021 at 08:40, Rich Felker wrote: > > > >> On Fri, Nov 19, 2021 at 08:28:54AM +1100, Matt Andrews wrote: > >> > Lately I’ve been trying to cross compile musl with clang. It’s been a > >> > really interesting process and everyone on this list has been really > >> > helpful. > >> > > >> > I hope this isn’t too much of a silly question, but there’s a missing > >> piece > >> > to my understanding of the standard library and that is why you need > >> > another libc to build it. I assumed that it is a self contained thing, > >> > everything else depends on it. > >> > > >> > I’m sure there are very good reasons for needing another standard > >> library > >> > to build musl, but I’m not sure what they are and if anyone could let me > >> > know that would greatly appreciated. > >> > >> It doesn't and I'm not sure where you got that idea. Can you explain > >> what you mean? > >> > >> Rich > >> > >