From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/8811 Path: news.gmane.org!not-for-mail From: Szabolcs Nagy Newsgroups: gmane.linux.lib.musl.general Subject: Re: __write alias missing on arm platforms Date: Thu, 5 Nov 2015 13:38:11 +0100 Message-ID: <20151105123811.GA8500@port70.net> References: <20151020031318.GA19600@brightrain.aerifal.cx> <56294562.4070303@dd-wrt.com> <20151022205525.GZ8645@brightrain.aerifal.cx> <562952BE.7030501@dd-wrt.com> <20151022212650.GF10551@port70.net> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1446727108 24322 80.91.229.3 (5 Nov 2015 12:38:28 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 5 Nov 2015 12:38:28 +0000 (UTC) To: musl@lists.openwall.com, Rich Felker Original-X-From: musl-return-8824-gllmg-musl=m.gmane.org@lists.openwall.com Thu Nov 05 13:38:27 2015 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1ZuJoB-0002yM-0W for gllmg-musl@m.gmane.org; Thu, 05 Nov 2015 13:38:27 +0100 Original-Received: (qmail 28051 invoked by uid 550); 5 Nov 2015 12:38:23 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 28030 invoked from network); 5 Nov 2015 12:38:23 -0000 Mail-Followup-To: musl@lists.openwall.com, Rich Felker Content-Disposition: inline In-Reply-To: <20151022212650.GF10551@port70.net> User-Agent: Mutt/1.5.24 (2015-08-30) Xref: news.gmane.org gmane.linux.lib.musl.general:8811 Archived-At: * Szabolcs Nagy [2015-10-22 23:26:51 +0200]: > * Sebastian Gottschall [2015-10-22 23:18:54 +0200]: > > Am 22.10.2015 um 22:55 schrieb Rich Felker: > > >On Thu, Oct 22, 2015 at 10:21:54PM +0200, Sebastian Gottschall wrote: > > >>musl is missing the __write function which seem to be a alias to "write". > > >>this is required by libgcc on arm platforms. under some conditions > > >>the compiler will generate code which does reference > > >>this function then which leads to unresolved symbols > > >>(seen on squid 4.0.1 on xscale) > > >> > > >>/home/xfs/toolchains/toolchain-armeb_xscale_gcc-5.2.0_musl-1.1.11/bin/../lib64/gcc/armeb-openwrt-linux-muslgnueabi/5.2.0/libgcc.a(linux-atomic-64bit.o): > > >>In function `__check_for_sync8_kernelhelper': > > >>/home/xfs/openwrt/trunk2/trunk/build_dir/toolchain-armeb_xscale_gcc-5.2.0_musl-1.1.11/gcc-5.2.0/libgcc/config/arm/linux-atomic-64bit.c:59: > > >>undefined reference to `__write' > > >>collect2: error: ld returned 1 exit status > > >>l > > >__write is not a public API even in glibc as far as I can tell. This > > >looks like an abuse of an accidentally-public symbol by libgcc. For > > >musl target anyway it should just be patched out of libgcc, e.g. with > > >#ifdef. > > you mean i have to send a bug report to GCC maintainers? i its part if the > > libgcc sourcecode and is not provided by libgcc, but just referenced > > i checked uclibc and glibc. both define __write as alias for write just > > because of libgcc > > > > so lets declare musl as broken on arm if gcc is used, if this is a solution > > for you :-) > > > > i will submit a bug report about this. > > it should be fixed in gcc, __write is not this patch should fix your problem: https://gcc.gnu.org/ml/gcc-patches/2015-11/msg00456.html