From: Julien Grall <julien.grall@linaro.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: xen-devel@lists.xenproject.org, tim@xen.org,
stefano.stabellini@citrix.com
Subject: Re: [PATCH 19/34] xen/arm: Provide eabi wrapper for __aeabi_mem* functions
Date: Wed, 26 Mar 2014 15:38:39 +0000 [thread overview]
Message-ID: <5332F47F.3030000@linaro.org> (raw)
In-Reply-To: <1395830364.22808.43.camel@kazak.uk.xensource.com>
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_*. See below:
Clang assembly:
000002b8 <wallclock_time>:
2b8: e92d4800 push {fp, lr}
2bc: e1a0b00d mov fp, sp
2c0: e3a01024 mov r1, #36 ; 0x24
2c4: e3a02000 mov r2, #0
2c8: ebfffffe bl 0 <__aeabi_memset>
2cc: e8bd8800 pop {fp, pc}
GCC assembly:
00000378 <wallclock_time>:
378: e52db004 push {fp} ; (str fp, [sp, #-4]!)
37c: e28db000 add fp, sp, #0
380: e3a02000 mov r2, #0
384: e1a03000 mov r3, r0
388: e4832004 str r2, [r3], #4
38c: e5802004 str r2, [r0, #4]
390: e2833004 add r3, r3, #4
394: e4832004 str r2, [r3], #4
398: e4832004 str r2, [r3], #4
39c: e4832004 str r2, [r3], #4
3a0: e4832004 str r2, [r3], #4
3a4: e4832004 str r2, [r3], #4
3a8: e4832004 str r2, [r3], #4
3ac: e5832000 str r2, [r3]
3b0: e24bd000 sub sp, fp, #0
3b4: e49db004 pop {fp} ; (ldr fp, [sp], #4)
3b8: e12fff1e bx lr
Regards,
--
Julien Grall
next prev parent reply other threads:[~2014-03-26 15:38 UTC|newest]
Thread overview: 152+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-25 16:55 [PATCH 00/34] Add clang support for ARM and cleanups Julien Grall
2014-03-25 16:55 ` [PATCH 01/34] xen: clang: Disable initializer-overrides warning Julien Grall
2014-03-26 11:51 ` Jan Beulich
2014-03-26 15:00 ` Julien Grall
2014-03-26 15:09 ` Tim Deegan
2014-03-26 15:11 ` Julien Grall
2014-03-25 16:55 ` [PATCH 02/34] xen: clang: Disable built-in assembler Julien Grall
2014-03-26 11:53 ` Jan Beulich
2014-03-26 13:16 ` Tim Deegan
2014-03-26 15:08 ` Julien Grall
2014-03-26 15:30 ` Jan Beulich
2014-03-27 18:01 ` Tim Deegan
2014-03-28 8:14 ` Jan Beulich
2014-03-28 11:28 ` Tim Deegan
2014-03-28 11:39 ` Jan Beulich
2014-04-03 16:07 ` [PATCH v2] asm-offsets: encode magic asm-offset runes as strings Tim Deegan
2014-04-03 16:25 ` Ian Campbell
2014-04-04 7:11 ` Jan Beulich
2014-04-23 13:17 ` Julien Grall
2014-04-24 10:45 ` Tim Deegan
2014-04-24 11:29 ` Julien Grall
2014-03-29 22:55 ` [PATCH 02/34] xen: clang: Disable built-in assembler Julien Grall
2014-03-31 8:58 ` Jan Beulich
2014-04-01 13:11 ` Ian Campbell
2014-04-01 14:50 ` Julien Grall
2014-04-01 15:28 ` Ian Campbell
2014-04-01 15:52 ` Julien Grall
2014-03-25 16:55 ` [PATCH 03/34] xen: clang: Support correctly cross-compile Julien Grall
2014-03-25 16:55 ` [PATCH 04/34] xen/compiler: Introduce always_unused define Julien Grall
2014-03-25 17:34 ` Stefano Stabellini
2014-03-25 17:56 ` Julien Grall
2014-03-25 16:55 ` [PATCH 05/34] xen/xsm: flask: Remove unused function avc_sidcmp Julien Grall
2014-03-25 17:36 ` Daniel De Graaf
2014-03-26 11:57 ` Jan Beulich
2014-03-26 16:11 ` Julien Grall
2014-03-26 16:42 ` Jan Beulich
2014-03-26 17:06 ` Julien Grall
2014-03-26 17:30 ` Julien Grall
2014-03-25 16:55 ` [PATCH 06/34] xen/x86: shadow: sh_next_page is only used when GUEST_PAGING_LEVELS = 2 Julien Grall
2014-03-25 16:55 ` [PATCH 07/34] xen/common: sched_sedf: Remove unused functions Julien Grall
2014-03-25 17:03 ` George Dunlap
2014-03-25 16:55 ` [PATCH 08/34] xen/common: rcupdate: Remove unused function rcu_batch_after Julien Grall
2014-03-25 16:55 ` [PATCH 09/34] xen/common: tmem: Remove dumb check in do_tmem_destroy_pool Julien Grall
2014-03-25 18:05 ` Andrew Cooper
2014-03-25 18:18 ` Julien Grall
2014-04-03 18:06 ` Konrad Rzeszutek Wilk
2014-05-22 16:01 ` [PATCH 09/34] xen/common: tmem: Remove dumb check in do_tmem_destroy_pool [and 2 more messages] Ian Jackson
2014-05-23 6:08 ` Jan Beulich
2014-05-23 10:23 ` Ian Jackson
2014-05-23 10:47 ` Jan Beulich
2014-03-25 16:55 ` [PATCH 10/34] xen/crypto: rijndael: Fix compilation with Clang 3.5 Julien Grall
2014-04-01 15:54 ` Keir Fraser
2014-03-25 16:55 ` [PATCH 11/34] xen/arm: Introduce __builtin_stack_pointer Julien Grall
2014-03-25 17:18 ` Ian Campbell
2014-03-25 18:01 ` Julien Grall
2014-03-26 10:31 ` Ian Campbell
2014-03-26 10:38 ` Julien Grall
2014-03-26 10:42 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 12/34] xen/arm: psci: Don't need to check if vcpuid is negative Julien Grall
2014-03-27 16:42 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 13/34] xen/arm: gic: Introduce GIC_SGI_MAX Julien Grall
2014-03-25 18:19 ` Stefano Stabellini
2014-03-25 23:23 ` Julien Grall
2014-03-26 9:03 ` Ian Campbell
2014-03-26 9:41 ` Julien Grall
2014-03-26 10:21 ` Ian Campbell
2014-03-26 9:57 ` Julien Grall
2014-03-26 14:24 ` Stefano Stabellini
2014-03-25 16:55 ` [PATCH 14/34] xen/arm: mm: Mark check_memory_layout_alignment_constraints as unused Julien Grall
2014-03-27 16:42 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 15/34] xen/arm: traps: Mark check_stack_alignment_constraints " Julien Grall
2014-03-27 16:43 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 16/34] xen/arm: Guard correctly asm-arm/platforms/midway.h Julien Grall
2014-03-27 16:43 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 17/34] xen/arm: Guard correctly asm-arm/platform/omap5.h Julien Grall
2014-03-27 16:44 ` Ian Campbell
2014-03-27 16:52 ` Julien Grall
2014-03-27 17:06 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 18/34] xen/arm: omap5: Correctly constify platform compatibility list Julien Grall
2014-03-27 17:03 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 19/34] xen/arm: Provide eabi wrapper for __aeabi_mem* functions Julien Grall
2014-03-25 17:25 ` Ian Campbell
2014-03-25 18:12 ` Julien Grall
2014-03-26 10:39 ` Ian Campbell
2014-03-26 15:38 ` Julien Grall [this message]
2014-03-26 15:46 ` Julien Grall
2014-03-26 15:47 ` Ian Campbell
2014-03-26 16:01 ` Julien Grall
2014-03-26 16:11 ` Ian Campbell
2014-03-26 16:16 ` Julien Grall
2014-03-26 16:22 ` Tim Deegan
2014-03-26 16:39 ` Julien Grall
2014-03-26 16:42 ` Ian Campbell
2014-03-26 16:46 ` Tim Deegan
2014-03-26 16:52 ` Julien Grall
2014-03-25 16:55 ` [PATCH 20/34] xen/common: cpupool: cpupool_unassign_cpu is only used internally Julien Grall
2014-03-31 5:02 ` Juergen Gross
2014-03-25 16:55 ` [PATCH 21/34] xen/common: domctl: Some functions are " Julien Grall
2014-04-01 17:40 ` Keir Fraser
2014-03-25 16:55 ` [PATCH 22/34] xen/common: tmem: " Julien Grall
2014-03-25 16:55 ` [PATCH 23/34] xen/sched: credit2: " Julien Grall
2014-03-25 17:03 ` George Dunlap
2014-03-25 16:55 ` [PATCH 24/34] xen/arm: setup: setup_cache is " Julien Grall
2014-03-27 17:07 ` Ian Campbell
2014-03-28 17:17 ` Julien Grall
2014-03-25 16:55 ` [PATCH 25/34] xen/arm: traps: show_stack " Julien Grall
2014-03-27 17:08 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 26/34] xen/arm: traps: Drop dump_guest_s1_walk Julien Grall
2014-03-27 17:09 ` Ian Campbell
2014-04-01 16:59 ` Julien Grall
2014-04-02 8:38 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 27/34] xen/arm: time: move ticks_to_ns and ns_to_ticks in asm/time.h Julien Grall
2014-03-27 17:11 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 28/34] xen/xsm: flask: flask_disable is only used internally Julien Grall
2014-03-25 17:36 ` Daniel De Graaf
2014-03-25 16:55 ` [PATCH 29/34] xen/xsm: flask: ss: remove unused function determine_oocontext Julien Grall
2014-03-25 17:37 ` Daniel De Graaf
2014-03-25 16:55 ` [PATCH 30/34] xen: Add missing includes on different files Julien Grall
2014-03-25 17:38 ` Daniel De Graaf
2014-03-26 12:57 ` Jan Beulich
2014-03-26 17:41 ` Julien Grall
2014-03-27 7:57 ` Jan Beulich
2014-04-09 16:06 ` Julien Grall
2014-04-09 16:17 ` Jan Beulich
2014-04-09 16:40 ` Julien Grall
2014-03-27 17:11 ` Ian Campbell
2014-03-27 17:30 ` Julien Grall
2014-03-27 17:39 ` Ian Campbell
2014-03-27 17:47 ` Julien Grall
2014-03-28 9:59 ` Ian Campbell
2014-04-01 17:58 ` Julien Grall
2014-04-02 8:45 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 31/34] tools: Disable ignored-attributes warning when compiling with clang Julien Grall
2014-03-27 17:14 ` Ian Campbell
2014-03-27 17:49 ` Julien Grall
2014-09-13 18:42 ` [PATCH] clang: sizeof(type) must not have __attribute__(aligned) Marcin Cieslak
2014-09-16 16:21 ` Ian Campbell
2014-09-16 18:26 ` Julien Grall
2014-09-16 18:32 ` Ian Campbell
2014-09-17 10:50 ` Jan Beulich
2014-09-17 21:18 ` Julien Grall
2014-03-25 16:55 ` [PATCH 32/34] tools/libxl: list_domains: shutdown is typed unsigned Julien Grall
2014-03-25 18:22 ` Andrew Cooper
2014-03-27 17:15 ` Ian Campbell
2014-03-25 16:55 ` [PATCH 33/34] tools/libxl: libxl__json_object_to_yajl_gen should return yajl_gen_status Julien Grall
2014-03-25 17:28 ` Ian Campbell
2014-03-27 12:37 ` Julien Grall
2014-03-27 17:16 ` [PATCH 33/34] tools/libxl: libxl__json_object_to_yajl_gen should Ian Campbell
2014-03-25 16:55 ` [PATCH 34/34] DO NOT APPLY xen/common: kernel: Workaround clang 3.5 Julien Grall
2014-03-25 18:22 ` [PATCH 00/34] Add clang support for ARM and cleanups Stefano Stabellini
2014-03-25 23:26 ` Julien Grall
2014-03-27 16:34 ` Tim Deegan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5332F47F.3030000@linaro.org \
--to=julien.grall@linaro.org \
--cc=Ian.Campbell@citrix.com \
--cc=stefano.stabellini@citrix.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).