This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 11/05/2014 11:40 AM, Richard Earnshaw wrote:
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 r0Write bl r0 then let the linker fix it up. Compilers shouldn't need to emit blx <label>.
that was my hope, but it does not always fix it up, I entered a bz binutils #17505 for this. So thought emitting it directly when possible would be a alternative.
On a side note, there is a REGISTER_PREFIX in the assembler. What about having the compiler generates prefixed register names to avoid the conflict ? %a0 vs a0 ?
Thanks Christian
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
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |