I just wasted a perfectly good week on an s390x bug in recent kernels. If a 64 bit program executes a 31 bit program, load_elf_binary() uses TASK_UNMAPPED_BASE before it sets the mode bit, but on some platforms the former uses the latter. So, the /etc/ld.so cannot mmap anything. A whole week!!