[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



At 16:11 +0000 on 26 Mar (1395846677), Ian Campbell wrote:
> 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.

+1.  AFAICT these are in the same class as functions like
__aeabi_idiv(), (which we already supply in /arm/arm32/lib/*.S), and
should be handled the same way.

Tim.

_______________________________________________
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®.