pass -lgcc to compiler instead of linker, compiler knows better where the linker is
and fixed a bug in RegularFile.cpp