> I wonder why the compiling is OK without those appropriate headers. It's likely that all the uses looked like #include <this_header_includes_ulong.h> #include <asm/global_data.h> So it wasn't noticed until it was included first in some file.