[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#800146: Can't load x32 binaries on amd64 system



Package: linux-image-3.16.0-4-amd64
Version: 3.16.7-ckt11-1+deb8u3
Severity: normal

Dear Maintainer,
I am able to run i386 and i686 binaries on my amd64 system, but not x32.


Steps to reproduce:

# apt-get install libc6-dev-x32
...

$ gcc -Os -mx32 -o /tmp/csv2tsv /usr/local/src/csv2tsv.c 
$ ldd /tmp/csv2tsv
        not a dynamic executable
$ /tmp/csv2tsv
bash: /tmp/csv2tsv: cannot execute binary file: Exec format error

$ /libx32/ld-2.19.so 
bash: /libx32/ld-2.19.so: cannot execute binary file: Exec format error


I expected that I would be able to run x32 binaries with libc6-dev-x32
and libc6-x32 installed on an amd64 system, but as the loader won't load
this it is not going to work.

It looks like the kernel config prevents x32 binaries from loading.

This limitation breaks libc6-dev-x32 and libc6-x32 packages. However,
I can still run generic Pentium4
"-m32 -march=pentium4 -mtune=generic -msse3 -mfpmath=sse"
builds on amd64.

Is this related to CVE-2014-0038 ?

/boot/config-3.16.0-4-amd64
#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
# CONFIG_HAVE_AOUT is not set
CONFIG_BINFMT_MISC=m
CONFIG_COREDUMP=y
CONFIG_IA32_EMULATION=y
CONFIG_IA32_AOUT=y
CONFIG_X86_X32=y
CONFIG_X86_X32_DISABLED=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_KEYS_COMPAT=y
CONFIG_X86_DEV_DMA_OPS=y
CONFIG_IOSF_MBI=m
CONFIG_NET=y
CONFIG_COMPAT_NETLINK_MESSAGES=y


Reply to: