arm-unknown-linux-gnueabi-objdump: image-arm-static/openvpn/sbin/openvpn: Invalid operation
Huh?
Have you altered the sources/makefiles of openvpn or any of the dependent libraries (lzo, openssh etc) by any chance? I noticed you are applying a single patch to the lzo source, which I had to re-adjust as I was using a newer version, but I am not aware of any alterations that you have made to these - if you have done so, please state what these alterations are?
I don't know whether you've altered the original build script or not, but the end result, before applying my changes, clearly produces openvpn executable, which has external dependencies on all statically-produced .la files/libraries (lzo, openssh etc) - they are all packed in the .tar archive produced at the end of this script (located in the /lib directory to be more precise).
I don't know what you are trying to prove by posting the above though - the final gcc linker call, which produces the openvpn executable before packing the image does *not* have any static-linking related options whatsoever! I could post the exact gcc command line, but I do not have access to that machine at present.
These options are, as I already pointed out previously, "-static", "-static-gcc" as well as "-ldl" - the latter being a new dependencies, necessary to offset the fact that all dl* calls (dlopen etc) won't be satisfied if static linking is invoked, so this external library needs to be included so that static linking succeeds, otherwise you will get "unknown symbol" errors.
Again, all that is provided you haven't altered any of the core source and/or makefile scripts in any way (I haven't used your own - alonbv - repos to download these, but downloaded these packages from their original source where these projects are created - openvpn.net, openssh.org etc). If you have made such alterations, I'd like to know what changes have you made?