Disable the build of `kaboom', a tool which is not used or installed at all and which lets the linker on arm go kaboom, probably something's wrong with the object file created by the compiler.
For people who are less clueless than me, here's a minimal way to reproduce the problem (doesn't happen without -O): $ cat > kaboom.c <<- 'EOF' int main(void) { char *foo = ""; ((void (*) (void)) foo)(); return 0; } EOF $ cc -O kaboom.c /usr/bin/ld: /tmp//ccqVD2rn.o(.text+0xc): R_ARM_PC24 relocation against SEC_MERGE section collect2: ld returned 1 exit status Comments (on the error)? oks (for the diff below)? Ciao, Kili Index: patches/patch-src_Makefile_in =================================================================== RCS file: patches/patch-src_Makefile_in diff -N patches/patch-src_Makefile_in --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_Makefile_in 16 Apr 2010 15:59:42 -0000 @@ -0,0 +1,12 @@ +$OpenBSD$ +--- src/Makefile.in.orig Sun Jan 17 21:08:14 2010 ++++ src/Makefile.in Thu Apr 15 14:31:28 2010 +@@ -475,7 +475,7 @@ uninstall-am: uninstall-binPROGRAMS + clean-local: + rm -f *~ kaboom rltest1 rltest2 rltest3 + +-all-local: kaboom rltest1 rltest2 rltest3 ++all-local: rltest1 rltest2 rltest3 + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: