[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 19/34] xen/arm: Provide eabi wrapper for __aeabi_mem* functions



On Wed, 2014-03-26 at 16:01 +0000, Julien Grall wrote:
> On 03/26/2014 03:47 PM, Ian Campbell wrote:
> > On Wed, 2014-03-26 at 15:38 +0000, Julien Grall wrote:
> >> On 03/26/2014 10:39 AM, Ian Campbell wrote:
> >>> On Tue, 2014-03-25 at 18:12 +0000, Julien Grall wrote:
> >>>> Hi Ian,
> >>>>
> >>>> On 03/25/2014 05:25 PM, Ian Campbell wrote:
> >>>>> On Tue, 2014-03-25 at 16:55 +0000, Julien Grall wrote:
> >>>>>> Clang doesn't provide function __aebai_mem*, implement generically as 
> >>>>>> a wrapper
> >>>>>> for mem* function provided by Xen.
> >>>>>
> >>>>> Where are the references to these functions coming from if not from the
> >>>>> compiler?
> >>>>
> >>>> Theses functions are called by the code generated by the compiler.
> >>>
> >>> And who normally provides them when building with clang? Some sort of
> >>> libclang I guess?
> >>
> >> I've tried to compile a same compilation unit with gcc and clang. gcc is
> >> inlining the call to __aebi_*.
> > 
> > That is orthogonal to the question I asked.
> > 
> > What in a clang based system normally provides __aeabi_*?
> > 
> > Your choices are "a libclang thing", "the libc", "something else".
> 
> Sorry I spent the last couple of hours to try to find who is providing
> the __aebi_* functions.
> 
> For userspace binary it's providing by the glibc.

Are we not telling clang not to use with libc (via --nostdlib or
similar)? I thought we did for gcc too but I can't actually see the
code. Actually maybe I wouldn't expect it to suppress this sort of
thing.

I see __eabi_memset even in a gcc based glibc, so I think this isn't
clang specific, just differences in the optmisers/inliners etc.

Anyhow, it looks like this is actually part of the ABI spec:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0043d/index.html

The correct wording for the commit message would therefore be something
like "Provide __aeabi_memset et al which are required by EABI and which
compilers expect to be provided by the libc implementation", or
something like that.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.