From: behanw@converseincode•com (Behan Webster)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH 1/5] arm: LLVMLinux: Add current_stack_pointer macro for ARM
Date: Fri, 06 Sep 2013 18:54:08 -0400 [thread overview]
Message-ID: <522A5D10.2040609@converseincode.com> (raw)
In-Reply-To: <20130906222027.GR6617@n2100.arm.linux.org.uk>
On 09/06/13 18:20, Russell King - ARM Linux wrote:
> On Fri, Sep 06, 2013 at 05:28:07PM -0400, behanw at converseincode.com wrote:
>> From: Behan Webster <behanw@converseincode•com>
>>
>> A macro to get the current stack pointer which allows for a single place in
>> which to do so with ASM. Before this named registers (a gcc extension) was used
>> to get the stack pointer. Using ASM is a more portable way of getting the stack
>> pointer which works with both gcc and clang. This macro is of the same name
>> used in the X86 arch.
> This will result in less optimal code - rather than the compiler being
> able to mask directly with 'sp', it's going to have to use this bit of
> assembly to first move it into another register.
I understand. The issue is that clang doesn't support naming registers
like this. It's a gcc-ism.
I'm not entirely happy with this solution either, but it was what we
could get to work for both compilers without the use of ifdefs.
Though also not ideal, how about an #ifdef for clang to do it this way,
otherwise do it with named registers for gcc? Would that be acceptable?
Thanks,
Behan
--
Behan Webster
behanw at converseincode.com
next prev parent reply other threads:[~2013-09-06 22:54 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-06 21:28 [PATCH 0/5] arm: LLVMLinux: Add current_stack_pointer behanw at converseincode.com
2013-09-06 21:28 ` [PATCH 1/5] arm: LLVMLinux: Add current_stack_pointer macro for ARM behanw at converseincode.com
2013-09-06 22:12 ` Måns Rullgård
2013-09-06 22:50 ` Behan Webster
2013-09-06 22:20 ` Russell King - ARM Linux
2013-09-06 22:54 ` Behan Webster [this message]
2013-09-06 21:28 ` [PATCH 2/5] arm: LLVMLinux: use current_stack_pointer for percpu behanw at converseincode.com
2013-09-06 22:22 ` Russell King - ARM Linux
2013-09-06 22:56 ` Behan Webster
2013-09-06 22:31 ` Måns Rullgård
2013-09-06 22:59 ` Behan Webster
2013-09-07 5:12 ` Nicolas Pitre
2013-09-09 9:59 ` Will Deacon
2013-09-06 21:28 ` [PATCH 3/5] arm: LLVMLinux: Use current_stack_pointer for return_address behanw at converseincode.com
2013-09-06 21:28 ` [PATCH 4/5] arm: LLVMLinux: Use current_stack_pointer in save_stack_trace_tsk behanw at converseincode.com
2013-09-06 21:28 ` [PATCH 5/5] arm: LLVMLinux: Use current_stack_pointer in unwind_backtrace behanw at converseincode.com
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=522A5D10.2040609@converseincode.com \
--to=behanw@converseincode$(echo .)com \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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