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 16:55:25 -0400
From: Rich Felker <dalias@...c.org>
To: Sebastian Gottschall <s.gottschall@...wrt.com>
Cc: musl@...ts.openwall.com
Subject: Re: __write alias missing on arm platforms

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.

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.