Re: PPC build failure with undefined symbols __ashldi3, _restgpr_14_x, ...
On 15.11.2013 06:19, Andrey Borzenkov wrote: > Sources at 6fcec439545c817fbc8e2f51c667a70037a34a76 > > Building RPM for PPC (32 or 64 bits) I get > > [ 187s] cat syminfo.lst | sort | gawk -f ../../grub-core/genmoddep.awk > > moddep.lst || (rm -f moddep.lst; exit 1) > [ 187s] __ashldi3 in affs is not defined > [ 187s] _restgpr_14_x in affs is not defined > [ 187s] _restgpr_20_x in affs is not defined > [ 187s] _restgpr_25_x in affs is not defined > [ 187s] _restgpr_27_x in affs is not defined > [ 187s] _restgpr_28_x in affs is not defined > [ 187s] _restgpr_30_x in affs is not defined > ... > > for a long list of them. > > Full build logs are available as > https://build.opensuse.org/build/home:arvidjaar:grub2-next/openSUSE_Factory_PowerPC/ppc/grub2/_log > https://build.opensuse.org/build/home:arvidjaar:grub2-next/openSUSE_Factory_PowerPC/ppc64/grub2/_log > > I do not myself have access to any PPC system nor any experience with > them. > You don't have multilib installed. > x86 builds OK. > > ___ > Grub-devel mailing list > Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel > signature.asc Description: OpenPGP digital signature ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: [PATCH 4/4] efi: On x86-64, align the stack to a 16-byte boundary as required by ABI
On 15.11.2013 08:15, Jordan Justen wrote: > You can assume that the firmware followed the alignment convention, Never assume that firmware followed anything unless you have to. signature.asc Description: OpenPGP digital signature ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: [RFC] New port to arm64-efi
On 14.11.2013 16:25, Leif Lindholm wrote: > On Thu, Nov 14, 2013 at 03:12:28PM +0100, Vladimir 'φ-coder/phcoder' > Serbinenko wrote: >>> It depends on Vladimir's __ctz[sd]i2 implementation, without which >>> grub-mkimage will fail with a "missing symbol" error. >>> >> I haven't seen ctz? Is it not needed after all or do you use my patch? > > Apologies for lack of clarity - yes, I put your patch in my tree. > I've committed ctz[ds]i2 patch but define adjust will be needed for arm64. > Also - I have now moved to a new repo (based on a clean clone of git > rather than the old one which was checked out using git-bzr): > git://git.linaro.org/arm/uefi/grub.git - topic-arm64-efi > or > https://git.linaro.org/gitweb?p=arm/uefi/grub.git > > The arm64-efi support lives in there as 4 separate patches, but I > wasn't sure that was useful for sending to the list. > > / > Leif > > ___ > Grub-devel mailing list > Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel > signature.asc Description: OpenPGP digital signature ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: PPC build failure with undefined symbols __ashldi3, _restgpr_14_x, ...
В Fri, 15 Nov 2013 12:00:49 +0100 Vladimir 'φ-coder/phcoder' Serbinenko пишет: > On 15.11.2013 06:19, Andrey Borzenkov wrote: > > Sources at 6fcec439545c817fbc8e2f51c667a70037a34a76 > > > > Building RPM for PPC (32 or 64 bits) I get > > > > [ 187s] cat syminfo.lst | sort | gawk -f ../../grub-core/genmoddep.awk > > > moddep.lst || (rm -f moddep.lst; exit 1) > > [ 187s] __ashldi3 in affs is not defined > > [ 187s] _restgpr_14_x in affs is not defined > > [ 187s] _restgpr_20_x in affs is not defined > > [ 187s] _restgpr_25_x in affs is not defined > > [ 187s] _restgpr_27_x in affs is not defined > > [ 187s] _restgpr_28_x in affs is not defined > > [ 187s] _restgpr_30_x in affs is not defined > > ... > > > > for a long list of them. > > > > Full build logs are available as > > https://build.opensuse.org/build/home:arvidjaar:grub2-next/openSUSE_Factory_PowerPC/ppc/grub2/_log > > https://build.opensuse.org/build/home:arvidjaar:grub2-next/openSUSE_Factory_PowerPC/ppc64/grub2/_log > > > > I do not myself have access to any PPC system nor any experience with > > them. > > > You don't have multilib installed. Could you elaborate? This is native build on PPC system. It has both 64 and 32 bit of gcc and libgcc installed: [ 12s] libgcc_s1-32bit-4.8.1_20130909-5.1 [ 10s] libgcc_s1-4.8.1_20130909-5.1 [ 17s] gcc48-4.8.1_20130909-5.1 [ 17s] gcc48-32bit-4.8.1_20130909-5.1 This did build successfully until some recent changes (grub2 *is* part of openSUSE for PPC). I compared logs for x86 and ppc and both say [ 119s] checking for __bswapsi2... no [ 119s] checking for __bswapdi2... no [ 119s] checking for __ashldi3... no [ 120s] checking for __ashrdi3... no [ 120s] checking for __lshrdi3... no [ 120s] checking for __ucmpdi2... no [ 120s] checking for _restgpr_14_x... no unfortunately I'm stuck here. For all I can tell it should either fail or succeed in both cases. > > x86 builds OK. > > > > ___ > > Grub-devel mailing list > > Grub-devel@gnu.org > > https://lists.gnu.org/mailman/listinfo/grub-devel > > > > signature.asc Description: PGP signature ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: PPC build failure with undefined symbols __ashldi3, _restgpr_14_x, ...
On 15.11.2013 13:22, Andrey Borzenkov wrote: > В Fri, 15 Nov 2013 12:00:49 +0100 > Vladimir 'φ-coder/phcoder' Serbinenko пишет: > >> On 15.11.2013 06:19, Andrey Borzenkov wrote: >>> Sources at 6fcec439545c817fbc8e2f51c667a70037a34a76 >>> >>> Building RPM for PPC (32 or 64 bits) I get >>> >>> [ 187s] cat syminfo.lst | sort | gawk -f ../../grub-core/genmoddep.awk > >>> moddep.lst || (rm -f moddep.lst; exit 1) >>> [ 187s] __ashldi3 in affs is not defined >>> [ 187s] _restgpr_14_x in affs is not defined >>> [ 187s] _restgpr_20_x in affs is not defined >>> [ 187s] _restgpr_25_x in affs is not defined >>> [ 187s] _restgpr_27_x in affs is not defined >>> [ 187s] _restgpr_28_x in affs is not defined >>> [ 187s] _restgpr_30_x in affs is not defined >>> ... >>> >>> for a long list of them. >>> >>> Full build logs are available as >>> https://build.opensuse.org/build/home:arvidjaar:grub2-next/openSUSE_Factory_PowerPC/ppc/grub2/_log >>> https://build.opensuse.org/build/home:arvidjaar:grub2-next/openSUSE_Factory_PowerPC/ppc64/grub2/_log >>> >>> I do not myself have access to any PPC system nor any experience with >>> them. >>> >> You don't have multilib installed. > > Could you elaborate? This is native build on PPC system. It has both 64 > and 32 bit of gcc and libgcc installed: > > [ 12s] libgcc_s1-32bit-4.8.1_20130909-5.1 > > [ 10s] libgcc_s1-4.8.1_20130909-5.1 > > [ 17s] gcc48-4.8.1_20130909-5.1 > > [ 17s] gcc48-32bit-4.8.1_20130909-5.1 > > > This did build successfully until some recent changes (grub2 *is* part > of openSUSE for PPC). I compared logs for x86 and ppc and both say > > [ 119s] checking for __bswapsi2... no > [ 119s] checking for __bswapdi2... no > [ 119s] checking for __ashldi3... no > [ 120s] checking for __ashrdi3... no > [ 120s] checking for __lshrdi3... no > [ 120s] checking for __ucmpdi2... no > [ 120s] checking for _restgpr_14_x... no > > unfortunately I'm stuck here. For all I can tell it should either fail > or succeed in both cases. > It should say all "no" on x86 and almost all "yes" on ppc. This output indicates that link with libgcc failed. You can look how exactly the test failed in config.log. Can you send me config.log ? >>> x86 builds OK. >>> >>> ___ >>> Grub-devel mailing list >>> Grub-devel@gnu.org >>> https://lists.gnu.org/mailman/listinfo/grub-devel >>> >> >> > > > > ___ > Grub-devel mailing list > Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel > signature.asc Description: OpenPGP digital signature ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: PPC build failure with undefined symbols __ashldi3, _restgpr_14_x, ...
В Fri, 15 Nov 2013 13:33:07 +0100 Vladimir 'φ-coder/phcoder' Serbinenko пишет: > On 15.11.2013 13:22, Andrey Borzenkov wrote: > > В Fri, 15 Nov 2013 12:00:49 +0100 > > Vladimir 'φ-coder/phcoder' Serbinenko пишет: > > > >> On 15.11.2013 06:19, Andrey Borzenkov wrote: > >>> Sources at 6fcec439545c817fbc8e2f51c667a70037a34a76 > >>> > >>> Building RPM for PPC (32 or 64 bits) I get > >>> > >>> [ 187s] cat syminfo.lst | sort | gawk -f ../../grub-core/genmoddep.awk > > >>> moddep.lst || (rm -f moddep.lst; exit 1) > >>> [ 187s] __ashldi3 in affs is not defined > >>> [ 187s] _restgpr_14_x in affs is not defined > >>> [ 187s] _restgpr_20_x in affs is not defined > >>> [ 187s] _restgpr_25_x in affs is not defined > >>> [ 187s] _restgpr_27_x in affs is not defined > >>> [ 187s] _restgpr_28_x in affs is not defined > >>> [ 187s] _restgpr_30_x in affs is not defined > >>> ... > >>> > >>> for a long list of them. > >>> > >>> Full build logs are available as > >>> https://build.opensuse.org/build/home:arvidjaar:grub2-next/openSUSE_Factory_PowerPC/ppc/grub2/_log > >>> https://build.opensuse.org/build/home:arvidjaar:grub2-next/openSUSE_Factory_PowerPC/ppc64/grub2/_log > >>> > >>> I do not myself have access to any PPC system nor any experience with > >>> them. > >>> > >> You don't have multilib installed. > > > > Could you elaborate? This is native build on PPC system. It has both 64 > > and 32 bit of gcc and libgcc installed: > > > > [ 12s] libgcc_s1-32bit-4.8.1_20130909-5.1 > > > > [ 10s] libgcc_s1-4.8.1_20130909-5.1 > > > > [ 17s] gcc48-4.8.1_20130909-5.1 > > > > [ 17s] gcc48-32bit-4.8.1_20130909-5.1 > > > > > > This did build successfully until some recent changes (grub2 *is* part > > of openSUSE for PPC). I compared logs for x86 and ppc and both say > > > > [ 119s] checking for __bswapsi2... no > > [ 119s] checking for __bswapdi2... no > > [ 119s] checking for __ashldi3... no > > [ 120s] checking for __ashrdi3... no > > [ 120s] checking for __lshrdi3... no > > [ 120s] checking for __ucmpdi2... no > > [ 120s] checking for _restgpr_14_x... no > > > > unfortunately I'm stuck here. For all I can tell it should either fail > > or succeed in both cases. > > > It should say all "no" on x86 and almost all "yes" on ppc. This output > indicates that link with libgcc failed. You can look how exactly the > test failed in config.log. Can you send me config.log ? Initially it failed due to missing -lc. After adding glibc-devel-static to buildrequires it now fails due to redefined abort: [ 121s] configure:25260: checking for __bswapsi2 [ 121s] configure:25260: gcc -o conftest -Os -Wall -W -Wshadow -Wold-style-definition -Wpointer-arith -Wundef -Wextra -Wattributes -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmain -Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute -Wmultichar -Wnonnull -Woverflow -Wparentheses -Wpointer-arith -Wpointer-to-int-cast -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wstrict-aliasing -Wswitch -Wtrigraphs -Wundef -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value -Wunused-variable -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings -Wnested-externs -Wstrict-prototypes -Wpointer-sign -g -Wredundant-decls -Wmissing-prototypes -Wmissing-declarations -Wcast-align -m32 -freg-struct-return -fno-dwarf2-cfi-asm -fno-asynchronous-unwind-tables -fno-stack-protector -Wl,--defsym,abort=main -Wall -W -I$(top_srcdir)/include -I$(top_builddir)/include -DGRUB_MACHINE_IEEE1275=1 -DGRUB_MACHINE=POWERPC_IEEE1275 -DGRUB_TARGET_CPU_POWERPC=1 -m32 -static -m32 conftest.c -lgcc >&5 [ 121s] conftest.c:385:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] [ 121s] char __bswapsi2 (); [ 121s] conftest.c:385:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] [ 121s] char __bswapsi2 (); [ 121s] ^ [ 121s] /usr/lib/gcc/powerpc64-suse-linux/4.8/../../../../lib/libc.a(abort.o): In function `abort': [ 121s] /home/abuild/rpmbuild/BUILD/glibc-2.18/stdlib/abort.c:51: multiple definition of `abort' [ 121s] collect2: error: ld returned 1 exit status -static is added by grub2.spec. I'm not sure, why - is it really needed? signature.asc Description: PGP signature ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: PPC build failure with undefined symbols __ashldi3, _restgpr_14_x, ...
On 15.11.2013 14:43, Andrey Borzenkov wrote: > В Fri, 15 Nov 2013 13:33:07 +0100 > Vladimir 'φ-coder/phcoder' Serbinenko пишет: > >> On 15.11.2013 13:22, Andrey Borzenkov wrote: >>> В Fri, 15 Nov 2013 12:00:49 +0100 >>> Vladimir 'φ-coder/phcoder' Serbinenko пишет: >>> On 15.11.2013 06:19, Andrey Borzenkov wrote: > Sources at 6fcec439545c817fbc8e2f51c667a70037a34a76 > > Building RPM for PPC (32 or 64 bits) I get > > [ 187s] cat syminfo.lst | sort | gawk -f ../../grub-core/genmoddep.awk > > moddep.lst || (rm -f moddep.lst; exit 1) > [ 187s] __ashldi3 in affs is not defined > [ 187s] _restgpr_14_x in affs is not defined > [ 187s] _restgpr_20_x in affs is not defined > [ 187s] _restgpr_25_x in affs is not defined > [ 187s] _restgpr_27_x in affs is not defined > [ 187s] _restgpr_28_x in affs is not defined > [ 187s] _restgpr_30_x in affs is not defined > ... > > for a long list of them. > > Full build logs are available as > https://build.opensuse.org/build/home:arvidjaar:grub2-next/openSUSE_Factory_PowerPC/ppc/grub2/_log > https://build.opensuse.org/build/home:arvidjaar:grub2-next/openSUSE_Factory_PowerPC/ppc64/grub2/_log > > I do not myself have access to any PPC system nor any experience with > them. > You don't have multilib installed. >>> >>> Could you elaborate? This is native build on PPC system. It has both 64 >>> and 32 bit of gcc and libgcc installed: >>> >>> [ 12s] libgcc_s1-32bit-4.8.1_20130909-5.1 >>> >>> [ 10s] libgcc_s1-4.8.1_20130909-5.1 >>> >>> [ 17s] gcc48-4.8.1_20130909-5.1 >>> >>> [ 17s] gcc48-32bit-4.8.1_20130909-5.1 >>> >>> >>> This did build successfully until some recent changes (grub2 *is* part >>> of openSUSE for PPC). I compared logs for x86 and ppc and both say >>> >>> [ 119s] checking for __bswapsi2... no >>> [ 119s] checking for __bswapdi2... no >>> [ 119s] checking for __ashldi3... no >>> [ 120s] checking for __ashrdi3... no >>> [ 120s] checking for __lshrdi3... no >>> [ 120s] checking for __ucmpdi2... no >>> [ 120s] checking for _restgpr_14_x... no >>> >>> unfortunately I'm stuck here. For all I can tell it should either fail >>> or succeed in both cases. >>> >> It should say all "no" on x86 and almost all "yes" on ppc. This output >> indicates that link with libgcc failed. You can look how exactly the >> test failed in config.log. Can you send me config.log ? > > Initially it failed due to missing -lc. After adding glibc-devel-static > to buildrequires it now fails due to redefined abort: > > [ 121s] configure:25260: checking for __bswapsi2 > [ 121s] configure:25260: gcc -o conftest -Os -Wall -W -Wshadow > -Wold-style-definition -Wpointer-arith -Wundef -Wextra -Wattributes > -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization > -Wdiv-by-zero -Wendif-labels -Wfloat-equal -Wformat-extra-args > -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration > -Wimplicit-int -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmain > -Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute > -Wmultichar -Wnonnull -Woverflow -Wparentheses -Wpointer-arith > -Wpointer-to-int-cast -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare > -Wstrict-aliasing -Wswitch -Wtrigraphs -Wundef -Wunknown-pragmas -Wunused > -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value > -Wunused-variable -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings > -Wnested-externs -Wstrict-prototypes -Wpointer-sign -g -Wredundant-decls > -Wmissing-prototypes -Wmissing-declarations -Wcast-align -m32 -freg-struct- return -fno-dwarf2-cfi-asm -fno-asynchronous-unwind-tables -fno-stack-protector -Wl,--defsym,abort=main -Wall -W -I$(top_srcdir)/include -I$(top_builddir)/include -DGRUB_MACHINE_IEEE1275=1 -DGRUB_MACHINE=POWERPC_IEEE1275 -DGRUB_TARGET_CPU_POWERPC=1 -m32 -static -m32 conftest.c -lgcc >&5 > [ 121s] conftest.c:385:1: warning: function declaration isn't a prototype > [-Wstrict-prototypes] > [ 121s] char __bswapsi2 (); > [ 121s] conftest.c:385:1: warning: function declaration isn't a prototype > [-Wstrict-prototypes] > [ 121s] char __bswapsi2 (); > [ 121s] ^ > [ 121s] > /usr/lib/gcc/powerpc64-suse-linux/4.8/../../../../lib/libc.a(abort.o): In > function `abort': > [ 121s] /home/abuild/rpmbuild/BUILD/glibc-2.18/stdlib/abort.c:51: multiple > definition of `abort' > [ 121s] collect2: error: ld returned 1 exit status > Try this: diff --git a/configure.ac b/configure.ac index 2c4f019..cd96588 100644 --- a/configure.ac +++ b/configure.ac @@ -821,6 +821,8 @@ CFLAGS="$TARGET_CFLAGS -Wl,--defsym,abort=main" fi fi +CFLAGS="$CFLAGS -nostdlib" + # Check for libgcc symbols AC_CHECK_FU
Re: PPC build failure with undefined symbols __ashldi3, _restgpr_14_x, ...
В Fri, 15 Nov 2013 15:02:11 +0100 Vladimir 'φ-coder/phcoder' Serbinenko пишет: > On 15.11.2013 14:43, Andrey Borzenkov wrote: > > В Fri, 15 Nov 2013 13:33:07 +0100 > > Vladimir 'φ-coder/phcoder' Serbinenko пишет: > > > >> On 15.11.2013 13:22, Andrey Borzenkov wrote: > >>> В Fri, 15 Nov 2013 12:00:49 +0100 > >>> Vladimir 'φ-coder/phcoder' Serbinenko пишет: > >>> > On 15.11.2013 06:19, Andrey Borzenkov wrote: > > Sources at 6fcec439545c817fbc8e2f51c667a70037a34a76 > > > > Building RPM for PPC (32 or 64 bits) I get > > > > [ 187s] cat syminfo.lst | sort | gawk -f ../../grub-core/genmoddep.awk > > > moddep.lst || (rm -f moddep.lst; exit 1) > > [ 187s] __ashldi3 in affs is not defined > > [ 187s] _restgpr_14_x in affs is not defined > > [ 187s] _restgpr_20_x in affs is not defined > > [ 187s] _restgpr_25_x in affs is not defined > > [ 187s] _restgpr_27_x in affs is not defined > > [ 187s] _restgpr_28_x in affs is not defined > > [ 187s] _restgpr_30_x in affs is not defined > > ... > > > > for a long list of them. > > > > Full build logs are available as > > https://build.opensuse.org/build/home:arvidjaar:grub2-next/openSUSE_Factory_PowerPC/ppc/grub2/_log > > https://build.opensuse.org/build/home:arvidjaar:grub2-next/openSUSE_Factory_PowerPC/ppc64/grub2/_log > > > > I do not myself have access to any PPC system nor any experience with > > them. > > > You don't have multilib installed. > >>> > >>> Could you elaborate? This is native build on PPC system. It has both 64 > >>> and 32 bit of gcc and libgcc installed: > >>> > >>> [ 12s] libgcc_s1-32bit-4.8.1_20130909-5.1 > >>> > >>> [ 10s] libgcc_s1-4.8.1_20130909-5.1 > >>> > >>> [ 17s] gcc48-4.8.1_20130909-5.1 > >>> > >>> [ 17s] gcc48-32bit-4.8.1_20130909-5.1 > >>> > >>> > >>> This did build successfully until some recent changes (grub2 *is* part > >>> of openSUSE for PPC). I compared logs for x86 and ppc and both say > >>> > >>> [ 119s] checking for __bswapsi2... no > >>> [ 119s] checking for __bswapdi2... no > >>> [ 119s] checking for __ashldi3... no > >>> [ 120s] checking for __ashrdi3... no > >>> [ 120s] checking for __lshrdi3... no > >>> [ 120s] checking for __ucmpdi2... no > >>> [ 120s] checking for _restgpr_14_x... no > >>> > >>> unfortunately I'm stuck here. For all I can tell it should either fail > >>> or succeed in both cases. > >>> > >> It should say all "no" on x86 and almost all "yes" on ppc. This output > >> indicates that link with libgcc failed. You can look how exactly the > >> test failed in config.log. Can you send me config.log ? > > > > Initially it failed due to missing -lc. After adding glibc-devel-static > > to buildrequires it now fails due to redefined abort: > > > > [ 121s] configure:25260: checking for __bswapsi2 > > [ 121s] configure:25260: gcc -o conftest -Os -Wall -W -Wshadow > > -Wold-style-definition -Wpointer-arith -Wundef -Wextra -Wattributes > > -Wchar-subscripts -Wcomment -Wdeprecated-declarations > > -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wfloat-equal > > -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit > > -Wimplicit-function-declaration -Wimplicit-int -Winit-self > > -Wint-to-pointer-cast -Winvalid-pch -Wmain -Wmissing-braces > > -Wmissing-field-initializers -Wmissing-format-attribute -Wmultichar > > -Wnonnull -Woverflow -Wparentheses -Wpointer-arith -Wpointer-to-int-cast > > -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wstrict-aliasing > > -Wswitch -Wtrigraphs -Wundef -Wunknown-pragmas -Wunused -Wunused-function > > -Wunused-label -Wunused-parameter -Wunused-value -Wunused-variable > > -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings -Wnested-externs > > -Wstrict-prototypes -Wpointer-sign -g -Wredundant-decls > > -Wmissing-prototypes -Wmissing-declarations -Wcast-align -m32 -freg-struct- > return -fno-dwarf2-cfi-asm -fno-asynchronous-unwind-tables > -fno-stack-protector -Wl,--defsym,abort=main -Wall -W > -I$(top_srcdir)/include -I$(top_builddir)/include -DGRUB_MACHINE_IEEE1275=1 > -DGRUB_MACHINE=POWERPC_IEEE1275 -DGRUB_TARGET_CPU_POWERPC=1 -m32 -static -m32 > conftest.c -lgcc >&5 > > [ 121s] conftest.c:385:1: warning: function declaration isn't a prototype > > [-Wstrict-prototypes] > > [ 121s] char __bswapsi2 (); > > [ 121s] conftest.c:385:1: warning: function declaration isn't a prototype > > [-Wstrict-prototypes] > > [ 121s] char __bswapsi2 (); > > [ 121s] ^ > > [ 121s] > > /usr/lib/gcc/powerpc64-suse-linux/4.8/../../../../lib/libc.a(abort.o): In > > function `abort': > > [ 121s] /home/abuild/rpmbuild/BUILD/glibc-2.18/stdlib/abort.c:51: multiple > > definition of `abort' > > [ 121s] collect2: error: ld retu
Re: PPC build failure with undefined symbols __ashldi3, _restgpr_14_x, ...
On 15.11.2013 15:35, Andrey Borzenkov wrote: > В Fri, 15 Nov 2013 15:02:11 +0100 > Vladimir 'φ-coder/phcoder' Serbinenko пишет: > >> On 15.11.2013 14:43, Andrey Borzenkov wrote: >>> В Fri, 15 Nov 2013 13:33:07 +0100 >>> Vladimir 'φ-coder/phcoder' Serbinenko пишет: >>> On 15.11.2013 13:22, Andrey Borzenkov wrote: > В Fri, 15 Nov 2013 12:00:49 +0100 > Vladimir 'φ-coder/phcoder' Serbinenko пишет: > >> On 15.11.2013 06:19, Andrey Borzenkov wrote: >>> Sources at 6fcec439545c817fbc8e2f51c667a70037a34a76 >>> >>> Building RPM for PPC (32 or 64 bits) I get >>> >>> [ 187s] cat syminfo.lst | sort | gawk -f ../../grub-core/genmoddep.awk >>> > moddep.lst || (rm -f moddep.lst; exit 1) >>> [ 187s] __ashldi3 in affs is not defined >>> [ 187s] _restgpr_14_x in affs is not defined >>> [ 187s] _restgpr_20_x in affs is not defined >>> [ 187s] _restgpr_25_x in affs is not defined >>> [ 187s] _restgpr_27_x in affs is not defined >>> [ 187s] _restgpr_28_x in affs is not defined >>> [ 187s] _restgpr_30_x in affs is not defined >>> ... >>> >>> for a long list of them. >>> >>> Full build logs are available as >>> https://build.opensuse.org/build/home:arvidjaar:grub2-next/openSUSE_Factory_PowerPC/ppc/grub2/_log >>> https://build.opensuse.org/build/home:arvidjaar:grub2-next/openSUSE_Factory_PowerPC/ppc64/grub2/_log >>> >>> I do not myself have access to any PPC system nor any experience with >>> them. >>> >> You don't have multilib installed. > > Could you elaborate? This is native build on PPC system. It has both 64 > and 32 bit of gcc and libgcc installed: > > [ 12s] libgcc_s1-32bit-4.8.1_20130909-5.1 > > [ 10s] libgcc_s1-4.8.1_20130909-5.1 > > [ 17s] gcc48-4.8.1_20130909-5.1 > > [ 17s] gcc48-32bit-4.8.1_20130909-5.1 > > > This did build successfully until some recent changes (grub2 *is* part > of openSUSE for PPC). I compared logs for x86 and ppc and both say > > [ 119s] checking for __bswapsi2... no > [ 119s] checking for __bswapdi2... no > [ 119s] checking for __ashldi3... no > [ 120s] checking for __ashrdi3... no > [ 120s] checking for __lshrdi3... no > [ 120s] checking for __ucmpdi2... no > [ 120s] checking for _restgpr_14_x... no > > unfortunately I'm stuck here. For all I can tell it should either fail > or succeed in both cases. > It should say all "no" on x86 and almost all "yes" on ppc. This output indicates that link with libgcc failed. You can look how exactly the test failed in config.log. Can you send me config.log ? >>> >>> Initially it failed due to missing -lc. After adding glibc-devel-static >>> to buildrequires it now fails due to redefined abort: >>> >>> [ 121s] configure:25260: checking for __bswapsi2 >>> [ 121s] configure:25260: gcc -o conftest -Os -Wall -W -Wshadow >>> -Wold-style-definition -Wpointer-arith -Wundef -Wextra -Wattributes >>> -Wchar-subscripts -Wcomment -Wdeprecated-declarations >>> -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wfloat-equal >>> -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit >>> -Wimplicit-function-declaration -Wimplicit-int -Winit-self >>> -Wint-to-pointer-cast -Winvalid-pch -Wmain -Wmissing-braces >>> -Wmissing-field-initializers -Wmissing-format-attribute -Wmultichar >>> -Wnonnull -Woverflow -Wparentheses -Wpointer-arith -Wpointer-to-int-cast >>> -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wstrict-aliasing >>> -Wswitch -Wtrigraphs -Wundef -Wunknown-pragmas -Wunused -Wunused-function >>> -Wunused-label -Wunused-parameter -Wunused-value -Wunused-variable >>> -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings -Wnested-externs >>> -Wstrict-prototypes -Wpointer-sign -g -Wredundant-decls >>> -Wmissing-prototypes -Wmissing-declarations -Wcast-align -m32 -freg-struc t- >> return -fno-dwarf2-cfi-asm -fno-asynchronous-unwind-tables >> -fno-stack-protector -Wl,--defsym,abort=main -Wall -W >> -I$(top_srcdir)/include -I$(top_builddir)/include -DGRUB_MACHINE_IEEE1275=1 >> -DGRUB_MACHINE=POWERPC_IEEE1275 -DGRUB_TARGET_CPU_POWERPC=1 -m32 -static >> -m32 conftest.c -lgcc >&5 >>> [ 121s] conftest.c:385:1: warning: function declaration isn't a prototype >>> [-Wstrict-prototypes] >>> [ 121s] char __bswapsi2 (); >>> [ 121s] conftest.c:385:1: warning: function declaration isn't a prototype >>> [-Wstrict-prototypes] >>> [ 121s] char __bswapsi2 (); >>> [ 121s] ^ >>> [ 121s] >>> /usr/lib/gcc/powerpc64-suse-linux/4.8/../../../../lib/libc.a(abort.o): In >>> function `abort': >>> [ 121s] /home/abuild/rpmbuild/BUILD/glibc-2.18/stdlib/abort.c:51: multiple >>> defi
Re: PPC build failure with undefined symbols __ashldi3, _restgpr_14_x, ...
В Fri, 15 Nov 2013 15:41:51 +0100 Vladimir 'φ-coder/phcoder' Serbinenko пишет: > > > > Actually removing explicit TARGET_LDFLAGS=-static in grub2.spec fixed > > it. I now wonder why it was added in the first place. > > > -static shouldn't create problems. Adding -nostdlib like I proposed > should solve the problem. -static does cause problem at least with current packaging here. I prefer to remove flags that apparently are not needed than add yet another build requires which at the end will have the same result (more BR - longer build time, increased load). Thank you for helping to find root cause for the issue! signature.asc Description: PGP signature ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
GRUB Manual Broken Link
I was notified by the GNU webmaster that he is getting complaints about the manual at http://www.gnu.org/software/grub/manual/grub.html having a broken link: http://www.gnu.org/software/grub/manual/multiboot.html#Top It should be http://www.gnu.org/software/grub/manual/multiboot/multiboot.html Although I do update the web information pages, I don't have a way to update the main GRUB manual. I'm not sure, but I think Colin updated the current manual (which is still listed as Manual 2.00~rc1). Can we get this manual updated? -- Bruce ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: GRUB Manual Broken Link
В Fri, 15 Nov 2013 10:04:15 -0600 Bruce Dubbs пишет: > I was notified by the GNU webmaster that he is getting complaints about > the manual at http://www.gnu.org/software/grub/manual/grub.html having a > broken link: > > http://www.gnu.org/software/grub/manual/multiboot.html#Top > > It should be > > http://www.gnu.org/software/grub/manual/multiboot/multiboot.html > > Although I do update the web information pages, I don't have a way to > update the main GRUB manual. I'm not sure, but I think Colin updated > the current manual (which is still listed as Manual 2.00~rc1). > > Can we get this manual updated? > The bug is not in manual. Link is generated by texinfo when converting grub.texi to HTML. It just need to be regenerated with correct texinfo version that knows how to translate multiboot link. See message below: From: Andrey Borzenkov To: webmasters-comm...@gnu.org Subject: Re: [gnu.org #832039] 404 Date: Fri, 31 May 2013 20:13:59 +0400 X-Mailer: Claws Mail 3.9.0 (GTK+ 2.24.18; x86_64-suse-linux-gnu) В Wed, 29 May 2013 11:43:14 -0400 "Ineiev via RT" пишет: > > [arvidj...@gmail.com - Wed May 29 01:28:37 2013]: > > I'm not sure how. texinfo external references supports only base file > > name and assume that everything is located on the same level. > > Recent texinfo versions (5.0 and later) come with a database of > root URLs for different manuals; I'm not sure the manual you need > is included, but I think you could try (or at least ask on > bug-texinfo). > Which just confirms - it needs fixing elsewhere, not in grub2 sources :) Assuming current web layout, it would be this patch below and grub manual must be regenerated by texinfo 5.x that includes this patch. I'm not really feel to be competent enough to submit this patch myself - I simply do not know how web location is decided. Index: util/htmlxref.cnf === --- util/htmlxref.cnf (revision 5259) +++ util/htmlxref.cnf (working copy) @@ -459,6 +459,9 @@ mtools mono${GS}/mtools/manual/mtools.html +multiboot mono${GS}/grub/manual/multiboot/multiboot.html +multiboot node${GS}/grub/manual/multiboot/html_node/ + myserver nodehttp://www.myserverproject.net/documentation/ nano monohttp://www.nano-editor.org/dist/latest/nano.html ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: GRUB Manual Broken Link
Andrey Borzenkov wrote: В Fri, 15 Nov 2013 10:04:15 -0600 Bruce Dubbs пишет: I was notified by the GNU webmaster that he is getting complaints about the manual at http://www.gnu.org/software/grub/manual/grub.html having a broken link: http://www.gnu.org/software/grub/manual/multiboot.html#Top It should be http://www.gnu.org/software/grub/manual/multiboot/multiboot.html Although I do update the web information pages, I don't have a way to update the main GRUB manual. I'm not sure, but I think Colin updated the current manual (which is still listed as Manual 2.00~rc1). Can we get this manual updated? The bug is not in manual. Link is generated by texinfo when converting grub.texi to HTML. It just need to be regenerated with correct texinfo version that knows how to translate multiboot link. See message below: From: Andrey Borzenkov To: webmasters-comm...@gnu.org Subject: Re: [gnu.org #832039] 404 Date: Fri, 31 May 2013 20:13:59 +0400 X-Mailer: Claws Mail 3.9.0 (GTK+ 2.24.18; x86_64-suse-linux-gnu) В Wed, 29 May 2013 11:43:14 -0400 "Ineiev via RT" пишет: [arvidj...@gmail.com - Wed May 29 01:28:37 2013]: I'm not sure how. texinfo external references supports only base file name and assume that everything is located on the same level. Recent texinfo versions (5.0 and later) come with a database of root URLs for different manuals; I'm not sure the manual you need is included, but I think you could try (or at least ask on bug-texinfo). Which just confirms - it needs fixing elsewhere, not in grub2 sources :) Assuming current web layout, it would be this patch below and grub manual must be regenerated by texinfo 5.x that includes this patch. I'm not really feel to be competent enough to submit this patch myself - I simply do not know how web location is decided. Index: util/htmlxref.cnf === --- util/htmlxref.cnf (revision 5259) +++ util/htmlxref.cnf (working copy) @@ -459,6 +459,9 @@ mtoolsmono${GS}/mtools/manual/mtools.html +multiboot mono${GS}/grub/manual/multiboot/multiboot.html +multiboot node${GS}/grub/manual/multiboot/html_node/ + myserver nodehttp://www.myserverproject.net/documentation/ nano monohttp://www.nano-editor.org/dist/latest/nano.html OK. I do have texinfo 5.1 and I see now where that manual is located. on the web site I'll see if I can get it fixed. -- Bruce ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: GRUB Manual Broken Link
Andrey Borzenkov wrote: В Fri, 15 Nov 2013 10:04:15 -0600 Bruce Dubbs пишет: I was notified by the GNU webmaster that he is getting complaints about the manual at http://www.gnu.org/software/grub/manual/grub.html having a broken link: http://www.gnu.org/software/grub/manual/multiboot.html#Top It should be http://www.gnu.org/software/grub/manual/multiboot/multiboot.html Although I do update the web information pages, I don't have a way to update the main GRUB manual. I'm not sure, but I think Colin updated the current manual (which is still listed as Manual 2.00~rc1). Can we get this manual updated? The bug is not in manual. Link is generated by texinfo when converting grub.texi to HTML. It just need to be regenerated with correct texinfo version that knows how to translate multiboot link. See message below: From: Andrey Borzenkov To: webmasters-comm...@gnu.org Subject: Re: [gnu.org #832039] 404 Date: Fri, 31 May 2013 20:13:59 +0400 X-Mailer: Claws Mail 3.9.0 (GTK+ 2.24.18; x86_64-suse-linux-gnu) В Wed, 29 May 2013 11:43:14 -0400 "Ineiev via RT" пишет: [arvidj...@gmail.com - Wed May 29 01:28:37 2013]: I'm not sure how. texinfo external references supports only base file name and assume that everything is located on the same level. Recent texinfo versions (5.0 and later) come with a database of root URLs for different manuals; I'm not sure the manual you need is included, but I think you could try (or at least ask on bug-texinfo). Which just confirms - it needs fixing elsewhere, not in grub2 sources :) Assuming current web layout, it would be this patch below and grub manual must be regenerated by texinfo 5.x that includes this patch. I'm not really feel to be competent enough to submit this patch myself - I simply do not know how web location is decided. Index: util/htmlxref.cnf === --- util/htmlxref.cnf (revision 5259) +++ util/htmlxref.cnf (working copy) @@ -459,6 +459,9 @@ mtoolsmono${GS}/mtools/manual/mtools.html +multiboot mono${GS}/grub/manual/multiboot/multiboot.html +multiboot node${GS}/grub/manual/multiboot/html_node/ + myserver nodehttp://www.myserverproject.net/documentation/ nano monohttp://www.nano-editor.org/dist/latest/nano.html For now I made a hack to change the href entry in the html directly but I didn't regenerate all the docs. The latest version of texinfo is 5.2 and that does not have the patch above, but the file says the latest is at http://ftpmirror.gnu.org/texinfo/htmlxref.cnf. That file *does* have the patch. Rebuilding texinfo with the latest htmlxref.cnf does fix the problem. There are a couple of warnings though. I'm using the GRUB-2.0.0 release version since that's the latest official release and don't know if they have been fixed in git or not. Speaking of official releases, has there been any thought into a new stable release of GRUB? It's been a while since 2.0 was released. -- Bruce ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: [PATCH] [ARM] Enable boot module for arm
В Sat, 27 Jul 2013 06:21:56 +0200 Vladimir 'φ-coder/phcoder' Serbinenko пишет: > On 27.07.2013 05:46, Andrey Borzenkov wrote: > > В Thu, 25 Jul 2013 17:04:34 +0200 > > Vladimir 'φ-coder/phcoder' Serbinenko пишет: > > > >>> > >> ARM branch won't be maintained anymore. My main problem with arm > >> currently is that testsuite works neither for arm-efi nor for arm-uboot > >> and I didn't find a way to make qemu load file from iso from either > >> u-boot or efi. > > > > > > Could you show command line used to run grub under qemu? So far I was > > unsuccessful to find working combination. Do you need special u-boot > > build? > I have exactly the same problem. It's possible to support verstile/pb > with armv5 but available u-boot tutorials for qemu ask you to > concatenate payload with u-boot itself which is annoying to handle. With current grub (that added support for transparent caches on armv5) I can finally boot grub over PXE (core.img or rescue image; need to add netboot support) using qemu versatilepb. Now the problem is to do anything useful hard disk is needed and default u-boot for versatileqemu does not seem to offer any support (or may be it is qemu -M versatilepb). Were you successful in running arm port under qemu? ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: [PATCH] [ARM] Enable boot module for arm
On 15.11.2013 20:13, Andrey Borzenkov wrote: > В Sat, 27 Jul 2013 06:21:56 +0200 > Vladimir 'φ-coder/phcoder' Serbinenko пишет: > >> On 27.07.2013 05:46, Andrey Borzenkov wrote: >>> В Thu, 25 Jul 2013 17:04:34 +0200 >>> Vladimir 'φ-coder/phcoder' Serbinenko пишет: >>> > ARM branch won't be maintained anymore. My main problem with arm currently is that testsuite works neither for arm-efi nor for arm-uboot and I didn't find a way to make qemu load file from iso from either u-boot or efi. >>> >>> >>> Could you show command line used to run grub under qemu? So far I was >>> unsuccessful to find working combination. Do you need special u-boot >>> build? >> I have exactly the same problem. It's possible to support verstile/pb >> with armv5 but available u-boot tutorials for qemu ask you to >> concatenate payload with u-boot itself which is annoying to handle. > > With current grub (that added support for transparent caches on armv5) > I can finally boot grub over PXE (core.img or rescue image; need to add > netboot support) using qemu versatilepb. > > Now the problem is to do anything useful hard disk is needed and > default u-boot for versatileqemu does not seem to offer any support (or > may be it is qemu -M versatilepb). Were you successful in running arm > port under qemu? > I didn't do netboot but concatenated with u-boot. It worked to similar extent as what you describe. Another promising board is vexpress but I had problems with MMC support in u-boot don't remember what it was exactly. > ___ > Grub-devel mailing list > Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel > signature.asc Description: OpenPGP digital signature ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
[PATCH] restore -nostdlib for libgcc symbols tests
> -static shouldn't create problems. Adding -nostdlib like I proposed > should solve the problem. Right, it was fallout of "plug the leakage" patch. I think below patch is more aligned with the rest of code. Commit 24f4e57c4684471da088c504dec0380886eece0c plugged leakage of CFLAGS between individual tests, which broke test for libgcc symbols. It needs -nostdlib which was set in previous test and inherited before. Set it explicitly. --- configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 2c4f019..1842910 100644 --- a/configure.ac +++ b/configure.ac @@ -815,9 +815,9 @@ LIBS="$TARGET_LIBGCC" grub_ASM_USCORE if test "x$TARGET_APPLE_LINKER" = x0 ; then if test x$grub_cv_asm_uscore = xyes; then -CFLAGS="$TARGET_CFLAGS -Wl,--defsym,_abort=_main" +CFLAGS="$TARGET_CFLAGS -nostdlib -Wl,--defsym,_abort=_main" else -CFLAGS="$TARGET_CFLAGS -Wl,--defsym,abort=main" +CFLAGS="$TARGET_CFLAGS -nostdlib -Wl,--defsym,abort=main" fi fi -- tg: (59ba9d1..) u/configure_nostdlib (depends on: master) ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
[PATCH] document cmdpath environment variable
--- docs/grub.texi | 11 +++ 1 file changed, 11 insertions(+) diff --git a/docs/grub.texi b/docs/grub.texi index 0a9670f..de72d0c 100644 --- a/docs/grub.texi +++ b/docs/grub.texi @@ -2989,6 +2989,7 @@ These variables have special meaning to GRUB. * biosnum:: * check_signatures:: * chosen:: +* cmdpath:: * color_highlight:: * color_normal:: * debug:: @@ -3058,6 +3059,16 @@ the titles of each of the submenus starting from the top level followed by the title of the menu entry itself, separated by @samp{>}. +@node cmdpath +@subsection cmdpath + +The location from which @file{core.img} was loaded as an absolute +directory name (@pxref{File name syntax}). This is set by GRUB at +startup based on information returned by platform firmware. Not every +platform provides this information and some may return only device +without path name. + + @node color_highlight @subsection color_highlight -- tg: (59ba9d1..) u/cmdpath_doc (depends on: master) ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
[PATCH] MIPS grub_machine_get_bootlocation arguments are used
--- grub-core/kern/mips/arc/init.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/grub-core/kern/mips/arc/init.c b/grub-core/kern/mips/arc/init.c index f12026e..cb6c228 100644 --- a/grub-core/kern/mips/arc/init.c +++ b/grub-core/kern/mips/arc/init.c @@ -355,8 +355,7 @@ get_device_name_iter (grub_disk_t disk __attribute__ ((unused)), } void -grub_machine_get_bootlocation (char **device __attribute__ ((unused)), - char **path __attribute__ ((unused))) +grub_machine_get_bootlocation (char **device, char **path) { char *loaddev = boot_location; char *pptr, *partptr; -- tg: (59ba9d1..) u/get_bootlocation (depends on: master) ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel