Re: Git master fails to compile on gcc 4.7
Fixed, thanks for reporting. On 08.11.2013 08:44, Glenn Washburn wrote: > I'm getting this error when compiling master with gcc 4.7. I suspect > this is because of the added gcc attribute on i386. > > ./grub.git/grub-core/lib/reed_solomon.c:385:1: > error: conflicting types for > ‘grub_reed_solomon_recover’ ./grub.git/grub-core/lib/reed_solomon.c:56:1: > note: previous declaration of ‘grub_reed_solomon_recover’ was here > > > > ___ > 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: [Xen-devel] pvgrub2 for ARM
> > > > I've mostly been trying to get (native) SATA going, so my Xen > > > > experiments are a bit lightweight, but it does boot. Bamvor has reported > > > > success with using the MMC and documented it on the wiki. I think he's > > > > using an A31 based STB of some sort. > > > i use the NFS as root not the MMC, and the usb storage should work but no > > > lucky for me. i test these on A20 STB(mele A100 Dual, only 40$!!) > > > successful. > > > > Ah, I thought for some reason you had an A31 based thing? > yes, i had A31 STB. but the sd socket is broken, usb fel is not work. > i would try boot from internal flash in future. > there are lots of guys work on A20, it seems a better choice to do what I > want. Yes, the A20 does seem to be getting more traction with upstream folks and hobbiests etc and does seem to be a better choice. I think this is partly because it has a GPU with an active reverse engineering effort (MALI=>LIMA) instead of the A31's PowerVR which I think doesn't have such an effort. Ian. ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: UEFI/PXE: couldn't send network packet
Yes: DHCP autoconfiguration works but it looks odd: after UEFI, the IP information is attached to efinet5. If I want to use bootp to try autoconfiguration, it only works on efinet4. efinet5 / efinet4 both refer to the same Broadcom NIC, one for LAN, and the other for iSCSI. The mac addresses are the same but should actually differ by 1 (as seen in the BIOS). On Fri, Nov 8, 2013 at 1:55 AM, Andrey Borzenkov wrote: > В Wed, 6 Nov 2013 14:00:24 +0800 > Anthony Alba пишет: > > > Hi, > > > > I have hit a Dell UEFI BIOS (PowerEdge R720 with > > Broadcom LAN-on-motherboard 2 x 10GbE 2 x 1GbE) which > > loads GRUB by PXE but GRUB itself hits "error: couldn't send network > > packet" and cannot download grub.cfg. > > > > Does autoconfiguration by DHCP succeed? > > > GRUB shows 8(!) efinet cards; there are four physical NICs, > > each with 2 mac addresses (one for LAN, one for iSCSI offload). > > This is a Broadcom BCM57800. > > > > However efinet0 efinet1 are given the same mac address > > similarly for efinet2, efinet3 etc etc instead, the mac addresses should > > differ by 1. > > > > The box boots fine with grub-legacy, and an older BIOS/NIC firmware (in > > fact that is how I got it to install). After the BIOS/NIC firmware > upgrade > > the problems started. > > > > net_ls_addrs, net_ls_cards net_ls_routes don't look suspicious (except > for > > the duplicate mac addresses). > > > > Anthony > > > ___ > 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
RE: Weird theme issue when using an image object
Fixed in the trunk. The problem was about intersecting elements and their redraw. Now we can use intersecting, overlaying etc elements, they will be correctly redrawn. -- With best regards, ___ Vladimir Testov, ROSA Laboratory. www.rosalab.ru ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: grub2 boot root-on-zfs errors
On 05.11.2013 08:35, Beeblebrox wrote: > Another slight problem. Updated the GIT repo to latest, > $ gmake clean && /autogen.sh --disable-werror && ./configure --disable-werror > $ gmake => > /usr/bin/ld: unrecognised emulation mode: elf_i386 > Supported emulations: elf_x86_64_fbsd elf_i386_fbsd > gmake[3]: *** [disk.module] Error 1 > gmake[3]: Leaving directory `/asp/git/grub/grub-core' > Should be fixed now, please retest. > The ./configure file should have detected xkfreebsd, but seems it did > not. What is the command-line syntax I can run for "x$host_kernel" to > make sure that correct platform is detected? $ ./configure only shows: > "GRUB2 will be compiled with following components: > Platform: i386-pc" > Whereas, it might be useful if it also displayed result of O/S check. > If the wrong OS is being detected by config, it might also explain why > I ran into "float/double standalone headers" error previously. > > Regards. > > ___ > 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
term/at_keyboard.c / 8042 probe and bailout.
Hi. Modern machines might not have an 8042 controller (or emulated one) listening at port 60/64. The current code assumes that the controller exists if you have inserted the module and activated the terminal. This behaviour causes GRUB to hang on one of my Core i7 machines. A backoff at failure -> dead terminal or bailout at probe would be a better solution. Regards, Christian ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
[ARM, IA64] Division on arm and ia64
Hello, all. ARM and ia64 apparently don't generically have opcode to make division of pointer-sized integers. Alpha has the same property but alpha port is in very sorry state anyway so it doesn't matter anyway. Looking at libgcc code at functions at question, I see that they use algorithm very similar to what we have in divmod64. IA64 version uses FPU which probably worked more by luck since we don't do proper FPU setup on any platform. Alpha version also uses FPU and probably doesn't work. In my alpha port I redirected all division functions to grub_divmod64. What do you think about attached patch? diff --git a/configure.ac b/configure.ac index ea38f09..956cfed 100644 --- a/configure.ac +++ b/configure.ac @@ -820,7 +820,7 @@ CFLAGS="$TARGET_CFLAGS -Wl,--defsym,abort=main" fi # Check for libgcc symbols -AC_CHECK_FUNCS(__bswapsi2 __bswapdi2 __ashldi3 __ashrdi3 __lshrdi3 __ucmpdi2 _restgpr_14_x __udivsi3 __umoddi3 __udivdi3 __divsi3 __modsi3 __umodsi3 __moddi3 __divdi3 __ctzdi2 __ctzsi2) +AC_CHECK_FUNCS(__bswapsi2 __bswapdi2 __ashldi3 __ashrdi3 __lshrdi3 __ucmpdi2 _restgpr_14_x __ctzdi2 __ctzsi2) if test "x$TARGET_APPLE_CC" = x1 ; then CFLAGS="$TARGET_CFLAGS -nostdlib" diff --git a/grub-core/kern/arm/misc.S b/grub-core/kern/arm/misc.S index 9d4c333..68e4828 100644 --- a/grub-core/kern/arm/misc.S +++ b/grub-core/kern/arm/misc.S @@ -30,6 +30,26 @@ .align 2 + .macro division parent + +stmfd sp!, {lr} +sub sp, sp, #12 +mov r2, r1 +add r1, sp, #4 +str r1, [sp, #0] +mov r1, #0 +mov r3, #0 +bl \parent + ldr r1, [sp, #4] +add sp, sp, #12 +ldmfd sp!, {lr} +bx lr + .endm + +FUNCTION(__aeabi_uidivmod) + division grub_divmod64 + + /* * Null divide-by-zero handler */ diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c index f883fb9..caf7779 100644 --- a/grub-core/kern/misc.c +++ b/grub-core/kern/misc.c @@ -589,6 +589,49 @@ grub_divmod64 (grub_uint64_t n, grub_uint64_t d, grub_uint64_t *r) return q; } +#if defined (__arm__) + +grub_uint32_t +__udivsi3 (grub_uint32_t a, grub_uint32_t b) +{ + return grub_divmod64 (a, b, 0); +} + +grub_uint32_t +__umodsi3 (grub_uint32_t a, grub_uint32_t b) +{ + grub_uint64_t ret; + grub_divmod64 (a, b, &ret); + return ret; +} + + +#endif + +#ifdef __arm__ +grub_uint32_t +__aeabi_uidiv (grub_uint32_t a, grub_uint32_t b) + __attribute__ ((alias ("__udivsi3"))); +#endif + +#if defined (__ia64__) + +grub_uint64_t +__udivdi3 (grub_uint64_t a, grub_uint64_t b) +{ + return grub_divmod64 (a, b, 0); +} + +grub_uint64_t +__umoddi3 (grub_uint64_t a, grub_uint64_t b) +{ + grub_uint64_t ret; + grub_divmod64 (a, b, &ret); + return ret; +} + +#endif + /* Convert a long long value to a string. This function avoids 64-bit modular arithmetic or divisions. */ static char * diff --git a/grub-core/lib/libgcrypt/cipher/idea.c b/grub-core/lib/libgcrypt/cipher/idea.c index c025c95..3c5578f 100644 --- a/grub-core/lib/libgcrypt/cipher/idea.c +++ b/grub-core/lib/libgcrypt/cipher/idea.c @@ -72,8 +72,8 @@ mul_inv( u16 x ) if( x < 2 ) return x; -t1 = 0x10001L / x; -y = 0x10001L % x; +t1 = 0x10001UL / x; +y = 0x10001UL % x; if( y == 1 ) return (1-t1) & 0x; diff --git a/grub-core/term/tparm.c b/grub-core/term/tparm.c index 8c1c288..f659f13 100644 --- a/grub-core/term/tparm.c +++ b/grub-core/term/tparm.c @@ -614,13 +614,13 @@ tparam_internal(const char *string, va_list ap) case '/': y = npop(); x = npop(); - npush(y ? (x / y) : 0); + npush(y ? ((unsigned)x / (unsigned)y) : 0); break; case 'm': y = npop(); x = npop(); - npush(y ? (x % y) : 0); + npush(y ? ((unsigned)x % (unsigned)y) : 0); break; case 'A': diff --git a/include/grub/libgcc.h b/include/grub/libgcc.h index d101db4..fdc6611 100644 --- a/include/grub/libgcc.h +++ b/include/grub/libgcc.h @@ -42,30 +42,6 @@ void EXPORT_FUNC (__bswapsi2) (void); # ifdef HAVE___BSWAPDI2 void EXPORT_FUNC (__bswapdi2) (void); # endif -# ifdef HAVE___UDIVSI3 -void EXPORT_FUNC (__udivsi3) (void); -# endif -# ifdef HAVE___UMODSI3 -void EXPORT_FUNC (__umodsi3) (void); -# endif -# ifdef HAVE___UMODDI3 -void EXPORT_FUNC (__umoddi3) (void); -# endif -# ifdef HAVE___UDIVDI3 -void EXPORT_FUNC (__udivdi3) (void); -# endif -# ifdef HAVE___MODDI3 -void EXPORT_FUNC (__moddi3) (void); -# endif -# ifdef HAVE___DIVDI3 -void EXPORT_FUNC (__divdi3) (void); -# endif -# ifdef HAVE___DIVSI3 -void EXPORT_FUNC (__divsi3) (void); -# endif -# ifdef HAVE___MODSI3 -void EXPORT_FUNC (__modsi3) (void); -# endif # ifdef HAVE___CTZDI2 void EXPORT_FUNC (__ctzdi2) (void); # endif @@ -114,12 +90,8 @@ void EXPORT_FUNC (_savegpr_31) (void); #endif #if defined (__arm__) -void EXPORT_FUNC (__aeabi_idiv) (void); -void EXPORT_FUNC (__aeabi_idivmod) (void); void EXPORT_FUNC (__aeabi_lasr) (void); void EXPORT_FUNC (__aeabi_llsl) (void); void EXPORT_FUNC
Re: __stack_chk_fail in regexp is not defined
On 08.11.2013 19:42, Glenn Washburn wrote: > Now, I'm getting this error while building. Bug in the awk script? > > cat syminfo.lst | sort | gawk -f ./grub.git/grub-core/genmoddep.awk > > moddep.lst || (rm -f moddep.lst; exit 1) __stack_chk_fail in regexp is > not defined > Can you send me in private relocator.module ? > > > ___ > 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: __stack_chk_fail in regexp is not defined
On 08.11.2013 19:42, Glenn Washburn wrote: > Now, I'm getting this error while building. Bug in the awk script? > > cat syminfo.lst | sort | gawk -f ./grub.git/grub-core/genmoddep.awk > > moddep.lst || (rm -f moddep.lst; exit 1) __stack_chk_fail in regexp is > not defined > What compiler do you use and which additional options did you pass to it? It inserted this function call. We need either to provide this function or inhibit compiler from emiting such calls. > > > ___ > 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: __stack_chk_fail in regexp is not defined
On Fri, 08 Nov 2013 19:54:43 +0100 Vladimir 'φ-coder/phcoder' Serbinenko wrote: > On 08.11.2013 19:42, Glenn Washburn wrote: > > Now, I'm getting this error while building. Bug in the awk script? > > > > cat syminfo.lst | sort | gawk -f ./grub.git/grub-core/genmoddep.awk > > > moddep.lst || (rm -f moddep.lst; exit 1) __stack_chk_fail in > > > regexp is > > not defined > > > What compiler do you use and which additional options did you pass to > it? It inserted this function call. We need either to provide this > function or inhibit compiler from emiting such calls. I'm using gcc 4.7 on Ubuntu from the ubuntu-toolchain-r/test ppa. I do see a reference to __stack_chk_fail at grub-core/efiemu/runtime/efiemu.c:192. It doesn't look like that file is generated. Perhaps that function was accidentally added to that file? signature.asc Description: PGP signature ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel
Re: __stack_chk_fail in regexp is not defined
В Fri, 8 Nov 2013 14:42:43 -0600 Glenn Washburn пишет: > On Fri, 08 Nov 2013 19:54:43 +0100 > Vladimir 'φ-coder/phcoder' Serbinenko wrote: > > > On 08.11.2013 19:42, Glenn Washburn wrote: > > > Now, I'm getting this error while building. Bug in the awk script? > > > > > > cat syminfo.lst | sort | gawk -f ./grub.git/grub-core/genmoddep.awk > > > > moddep.lst || (rm -f moddep.lst; exit 1) __stack_chk_fail in > > > > regexp is > > > not defined > > > > > What compiler do you use and which additional options did you pass to > > it? It inserted this function call. We need either to provide this > > function or inhibit compiler from emiting such calls. > > I'm using gcc 4.7 on Ubuntu from the ubuntu-toolchain-r/test ppa. I do > see a reference to __stack_chk_fail at > grub-core/efiemu/runtime/efiemu.c:192. It doesn't look like that file > is generated. Perhaps that function was accidentally added to that > file? It comes from using -fstack-protector GCC option. But configure should have added -fno-stack-protector in this case. Could you check defaults using /path/to/your/gcc -Q --help=common whether it is active by default? Also whether -fno-stack-protector was used during compilation? signature.asc Description: PGP signature ___ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel