fix gcc functions