This is the mail archive of the
mailing list for the binutils project.
Re: [ARM] register label conflict with blx instruction
- From: Richard Earnshaw <rearnsha at arm dot com>
- To: Christian Bruel <christian dot bruel at st dot com>, "binutils at sourceware dot org" <binutils at sourceware dot org>, Ramana Radhakrishnan <Ramana dot Radhakrishnan at arm dot com>
- Date: Wed, 05 Nov 2014 10:40:20 +0000
- Subject: Re: [ARM] register label conflict with blx instruction
- Authentication-results: sourceware.org; auth=none
- References: <5459FAA5 dot 7000208 at st dot com>
On 05/11/14 10:23, Christian Bruel wrote:
> I'm wondering what would be the best way to deal with labels conflicting
> with a register name in ARM gas.
> e.g with
> .type r0, %function
> .type f, %function
> blx r0
then let the linker fix it up. Compilers shouldn't need to emit blx
> the assembler will see r0 as a reg and of course produce wrong code.
> Prefixing labels in the assembler fixes the issue. But this is compiler
> generated code (from the attribute target work), Changing
> USER_LABEL_PREFIX would modify all visible symbols which is not
> desirable. I only wish to generate this for static function to bypass a
> current limitation with the assembler.
> Any idea about an arm assembly syntax to avoid naming conflict between
> regs and symbols for instruction that support boths ?