arm-unknown-linux-gnueabi ABI selection

Michael Abbott
Thu Aug 28 14:20:00 GMT 2008

The CT_ARCH_ABI selection in samples/arm-unknown-linux-gnueabi produces a 
very cryptic bug: my experience was that nfs mount failed, indeed rpcinfo 
fails, indeed the RPC calls clntudp_create() (and clnttcp_create()) fail.

It turns out that ABI=aapcs (the original setting) implies that enums are 
variable sized, but unfortunately this confuses the glibc sunrpc 
implementation.  Seems we need aapcs-linux instead.  THis is noted in

So this patch should do the trick:

--- old/samples/arm-unknown-linux-gnueabi/crosstool.config
+++ new/samples/arm-unknown-linux-gnueabi/crosstool.config
@@ -81,7 +83,7 @@
 # CT_ARCH_DEFAULT_BE is not set

Very interesting bug, quite tricky to track down.  At first I was sure the 
problem was with busybox, then I wondered whether I needed portmapper 
running, but finally it became clear that rpcinfo itself was broken.

I've also noticed that the strace build with the debugger is a bit broken: 
it doesn't understand some of the socket api calls.  I've got a patch to 
an independent copy of strace that seems to work better, so I'll see if it 
can be worked into a patch for gdb (unless somebody already knows about 

For unsubscribe information see

More information about the crossgcc mailing list