Compiling the library and program with -m32 makes the problems go away, but gdb will not work properly against such a program. It cannot read the registers at a failure or breakpoint. Is there some way to configure gdb to work in this environment? I have tried recompiling gdb -m32 but I can't get that to compile. gcc -c -g -O2 -m32 -I. -I.././gdb -I.././gdb/config - DLOCALEDIR="\"/usr/local/share/locale\"" -DHAVE_CONFIG_H -I.././ gdb/../include/opcode -I.././gdb/../readline/.. -I../bfd -I.././ gdb/../bfd -I.././gdb/../include -I../intl -I.././gdb/../intl - DMI_OUT=1 -DTUI=1 -Wimplicit -Wreturn-type -Wcomment -Wtrigraphs - Wformat -Wparentheses -Wpointer-arith -Wformat-nonliteral -Wunused- label -Wunused-function -Wuninitialized amd64-linux-nat.c In file included from amd64-linux-nat.c:35: /usr/include/asm/prctl.h:7:4: #error <asm-i386/prctl.h> does not exist Any idea wehre asm-i386/prctl.h might be?