I don't have any problems running a statically linked x86_64 helloworld program in an i386 chroot. Dynamically linked programs try to use wrong libraries, but at least running /lib64/ld-linux-x86-64.so.2 directly works.
static binary segfaults too. I wonder if it's some setup on my system.I tried disabling the usual suspects like address randomization, but that didn't change things.
Or could it be the compiler (gcc 4.5)? I remember using this quite some time ago (years). -Andi