Re: Git master fails to compile on gcc 4.7

2013-11-08 Thread Vladimir 'φ-coder/phcoder' Serbinenko
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

2013-11-08 Thread Ian Campbell

> > > > 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

2013-11-08 Thread Anthony Alba
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

2013-11-08 Thread Vladimir Testov
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

2013-11-08 Thread Vladimir 'φ-coder/phcoder' Serbinenko
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.

2013-11-08 Thread Melki Christian (consultant)
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

2013-11-08 Thread Vladimir 'φ-coder/phcoder' Serbinenko
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

2013-11-08 Thread Vladimir 'φ-coder/phcoder' Serbinenko
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

2013-11-08 Thread Vladimir 'φ-coder/phcoder' Serbinenko
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

2013-11-08 Thread 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?


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

2013-11-08 Thread Andrey Borzenkov
В 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