Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 22 Oct 2015 23:18:54 +0200
From: Sebastian Gottschall <>
To: Rich Felker <>,
Subject: Re: __write alias missing on arm platforms

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 :-)

> Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.