s000623@kowande.bu.oz.au (Jason Patterson) (05/29/91)
After installing g++ (and making a lot of small changes by following the changes needed for gcc) I have discovered a small but VERY ANOYING problem... THE STANDARD ASSEMBLER HATES $ SIGNS IN LABELS This is a problem because all constructors have $ signs put into their 'mangled' names. So at the moment I can't compile code that uses constructors (not entirely true, I just have to compile to assembly code, replace all $ in the assembly code with something else (like an 'X'), and assemble that) How can this be corrected? 4 Possible solutions follow... 1 fix the standard assembler to accept $ in labels (this is the best option, especially since it seems that most other assemblers DO ALLOW $ IN LABLELS) 2 use gas (GNU assembler) - has anyone installed this yet??? What about creating a tm-amix_gas.h and xm-amix_gas.h??? 3 add a phase to the compiler to do a search and replace!!! (not a good idea) 4 change A LOT of the compiler code so that it uses something other than $ (what does standard as accept in labels anyway?) (not a good idea) Please help me on this one, because I am NOT very experienced in porting/hacking compilers/assemblers... MANY THANKS FOR ANY IDEAS, AND ESPECIALLY FOR SOLUTIONS... Jason Patterson "To iterate is human, to recurse devine" ************************************************************ Internet: s000623@kowande.bu.oz.au Information & Computing Sciences Bond University, AUSTRALIA, 4229 "These views are not necessarily those of Bond University" ************************************************************