elf32: fix segfault when executing from command line

Now the binary could be executed directly (i.e. no need to manually
run it from /lib/ld-linux.so.2 like previous patch)

The problem is elf_phdr part is not mapped in memory because it does
not belong to any PT_LOAD segment. This change makes the first PT_LOAD
segment cover elf header (the first 4k) then code (the next 4k).

It looks like linux kernel expects the first PT_LOAD to cover from the
beginning of an elf binary. See fs/binfmt_elf.c:load_elf_binary
(search load_addr) and fs/binfmt_elf.c:create_elf_tables (search
AT_PHDR)