On Fri, 2009-10-16 at 05:44 -0700, David Miller wrote: > From: Pavel Roskin <pro...@gnu.org> > Date: Thu, 15 Oct 2009 18:41:41 -0400 > > > This makes me think that checks for __bswapsi2 and __bswapdi2 will fail > > on Sparc64, even if those functions are present and even if > > --disable-werror is used. > > They worked perfectly fine for me on a real system with > a real compiler and glibc. > > If you're going to use cross compilation to test, use > a full cross toolset and glibc build not some hacked > up uclibc thing.
I have tested the current GRUB on PowerPC. It's Fedora 11 with a real glibc. I added __ashldi3 to the arguments of AC_CHECK_FUNCS. The check fails. Yet __ashldi3 is present in libgcc and is exported unconditionally. The reason is that -nostdlib is added to CFLAGS immediately above AC_CHECK_FUNCS. -nostdlib disables linking against libgcc. I believe the checks for __bswapsi2 __bswapdi2 would fail on sparc64 for the same reason. Also, I believe the effect of -Werror on the test will be seen on sparc64. Adding -Werror should be after all tests and there should be a big warning in configure.ac telling not to add tests after that point. > I also believe that even if it still fails for you, > native building is more important to work than cross > building situations. It is a native build and the current code. The whole reason I removed the checks is because they stopped working correctly when the target libc requirement was eliminated. Restoring the checks without removing -nostdlib not going to help. I'm surprised that my code is being reverted immediately before the release and the result is not tested. It's one thing to revert the code that has just been committed, and it's entirely different when the code has been in the repository for months. -- Regards, Pavel Roskin _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel