Hi all, I think I've found the most appropriate solution. Define the functions within an extern "C" and using the asm 'naming' system. extern "C" { extern void write_char(char) asm("write_char"); } And if I can remember my old work correctly. They had something like that, which is why name mangling was not an issue. Yamin Quoting Eljay Love-Jensen <eljay@xxxxxxxxx>: > Hi Yamin, > > Checkout the -fleading-underscore / -fno-leading-underscore flag. > > Note: this is a powerful flag, since it has sweeping effects. > > HTH, > --Eljay > > ---------------------------------------- This mail sent through www.mywaterloo.ca