porting to gcc on linux