On Wed, Oct 8, 2014 at 11:52 AM, Josh Boyer <jwbo...@fedoraproject.org> wrote: > I'm seeing the following build failure on a 32-bit x86 build in Fedora > based on Linux v3.17-2860-gef0625b70dac: > > Documentation/vDSO/vdso_standalone_test_x86.o: In function `to_base10': > vdso_standalone_test_x86.c:(.text+0xcc): undefined reference to `__umoddi3' > vdso_standalone_test_x86.c:(.text+0xea): undefined reference to `__udivdi3' > collect2: error: ld returned 1 exit status > scripts/Makefile.host:100: recipe for target > 'Documentation/vDSO/vdso_standalone_test_x86' failed > make[2]: *** [Documentation/vDSO/vdso_standalone_test_x86] Error 1 > scripts/Makefile.build:404: recipe for target 'Documentation/vDSO' failed > make[1]: *** [Documentation/vDSO] Error 2 > make[1]: *** Waiting for unfinished jobs.... > Makefile:922: recipe for target 'vmlinux' failed > make: *** [vmlinux] Error 2 > > Looking at some of the git logs around this, it seems that > vdso_standalone_test_x86.c is 64-bit specific, so I was curious why it > was even being built on a 32-bit build. Seems this commit: > > commit adb19fb66eeebac07fe37d968725bb8906dadb8e > Author: Peter Foley <pefol...@pefoley.com> > Date: Thu Sep 25 11:23:09 2014 -0700 > > Documentation: add makefiles for more targets > > Add a bunch of previously unbuilt source files to the Documentation build > machinery. > > Signed-off-by: Peter Foley <pefol...@pefoley.com> > Signed-off-by: Randy Dunlap <rdun...@infradead.org> > Signed-off-by: Jiri Kosina <jkos...@suse.cz> > > > blindly added it to the build target. > > So is vdso_standalone_test_x86.c really 64-bit specific? If so, > should that commit be reverted (or a hunk of it anyway), should there > be some mechanism to not build it on 32-bit, or should there be some > additional CFLAGS passed?
It should build and work on 32-bit. Except that the makefile is totally bogus. vdso_standalone_test isn't a hostprog at all. It's a target prog. But kbuild doesn't understand that, so I have no idea what, if anything, that makefile is supposed to do. I would argue that the whole documentation build system should be fixed to cross-compile or should just be disabled for cross-builds if glibc isn't available. FWIW, the comment at the top of vdso_standalone_test_x86.c documents *exactly* how to build it, and it works if you build it like that. --Andy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/