FWIW I fixed a similar issue in supertuxkart recently by patching the .S file to have a ".fpu vfp" directive in it -- although probably ".arch armv7-a+fp" would have been more appropriate.
It does seem strange that "gcc -march foo bar.s" does not pass -march to the assembler but I have no real idea if that expectation is grounded in reality -- when compiling C, the value of march is passed to the assembler via a directive so maybe "march" is really only an argument to gcc when gcc is doing the compiling and not when it is being used as a frontend to the assembler.
FWIW I fixed a similar issue in supertuxkart recently by patching the .S file to have a ".fpu vfp" directive in it -- although probably ".arch armv7-a+fp" would have been more appropriate.
It does seem strange that "gcc -march foo bar.s" does not pass -march to the assembler but I have no real idea if that expectation is grounded in reality -- when compiling C, the value of march is passed to the assembler via a directive so maybe "march" is really only an argument to gcc when gcc is doing the compiling and not when it is being used as a frontend to the assembler.