Global symbol prefixes

Jan Tlatlik
Thu Mar 28 18:31:00 GMT 2013

On 03/28/2013 07:29 PM, Mike Frysinger wrote:
> On Thursday 28 March 2013 12:36:48 Jan Tlatlik wrote:
>> Hey there,
>> I need a few directions:
>> I'm porting GAS to my architecture and I'm stuck with global symbol
>> prefixes.
>> Since my register operands are not prefixed (e.g. r23 instead of  %r23),
>> I need to prefix global symbols to avoid name collisions.
>> How do I tell GAS to recognize this prefix?
>> If I try to assemble
>>     .global %main
>> %main:
>>     [...]
>> I am getting errors like
>>> example.s:1: Error: expected symbol name
>>> example.s:2: Error: junk at end of line, first unrecognized character
>> is `%'
>> The symbol names in the object file though must not have the prefix. It
>> is only needed at assembly time to solve the name collision problem.
>> I looked through a few existing ports, but none of them seem to do it
>> this way. Could anyone give me some advice how to do that?
> [...]
> alternatively, change the assembly syntax to disambiguate the register names 
> (and use $r23 instead of r23).
> -mike
I suppose this would be way with the least effort to solve the problem.


More information about the Binutils mailing list