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 Thursday 28 March 2013 21:30:04 Jan Tlatlik wrote: > On 03/28/2013 07:34 PM, Jan Tlatlik wrote: > > 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. > > > > Thanks. > > Well, I supposed wrong. It is much easier to do it the way I wanted to > do it initially. > > FYI: > > /* symbols may begin with an % to prevent name collisions with register > operands*/ > #define LEX_PCT LEX_BEGIN_NAME > /* % prefixes will be trimmed */ > #define tc_canonicalize_symbol_name(s) ( *(s) == '%' ? (s)+1 : (s)) % is already used in some syntaxes. like: .type main, %function main: this is common because the only other symbol in these setups is @, but that's taken up as a comment char for some targets. you should pick a different symbol from % -mike
Attachment:
signature.asc
Description: This is a digitally signed message part.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |