split libelf.c and libmach.c