[ARM] register label conflict with blx instruction
Richard Earnshaw
rearnsha@arm.com
Wed Nov 5 10:40:00 GMT 2014
On 05/11/14 10:23, Christian Bruel wrote:
> Hello,
>
> I'm wondering what would be the best way to deal with labels conflicting
> with a register name in ARM gas.
>
> e.g with
>
> .thumb
> .thumb_func
> .type r0, %function
> r0:
> ...
>
> .arm
> .type f, %function
> f:
> blx r0
>
Write
bl r0
then let the linker fix it up. Compilers shouldn't need to emit blx
<label>.
R.
> 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 ?
>
> Thanks,
>
> Christian
>
>
>
>
More information about the Binutils
mailing list