Your message dated Mon, 24 Oct 2016 11:53:00 +0100
with message-id <[email protected]>
and subject line Bug#775722: grub2: fix mips64el build
has caused the Debian Bug report #775722,
regarding grub2: fix mips64el build
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
775722: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=775722
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: src:grub2
Version: 2.02~beta2-20

With this patch, grub2 can be built on mips64el.
Can you review it ?

-- 
YunQiang Su
diff -Nru grub2-2.02~beta2/debian/control grub2-2.02~beta2/debian/control
--- grub2-2.02~beta2/debian/control     2015-01-03 20:21:00.000000000 +0800
+++ grub2-2.02~beta2/debian/control     2015-01-19 17:58:02.000000000 +0800
@@ -89,7 +89,7 @@
 # Not Architecture: any because this package contains some things which are
 # only built when there is a real platform (e.g. grub-install), and the rest
 # of the package is not very useful in a utilities-only build.
-Architecture: any-i386 any-amd64 any-powerpc any-ppc64 any-ppc64el any-sparc 
any-sparc64 any-mipsel any-ia64 any-arm any-arm64
+Architecture: any-i386 any-amd64 any-powerpc any-ppc64 any-ppc64el any-sparc 
any-sparc64 any-mipsel any-mips64el any-mips64el any-ia64 any-arm any-arm64
 Depends: grub-common (= ${binary:Version}), dpkg (>= 1.15.4) | install-info, 
${shlibs:Depends}, ${misc:Depends}
 Replaces: grub, grub-legacy, grub-common (<< 1.99-1), grub-pc (<< 2.00-4), 
grub-ieee1275 (<< 2.00-4), grub-efi (<< 1.99-1), grub-coreboot (<< 2.00-4), 
grub-linuxbios (<< 1.99-1), grub-efi-ia32 (<< 2.00-4), grub-efi-amd64 (<< 
2.00-4), grub-efi-ia64 (<< 2.00-4), grub-ieee1275 (<< 2.00-4), grub-yeeloong 
(<< 2.00-4)
 Conflicts: grub (<< 0.97-54), grub-legacy, ${legacy-doc-conflicts}
@@ -652,7 +652,7 @@
  guest (i.e. PV-GRUB) to be present in the control domain filesystem.
 
 Package: grub-yeeloong-bin
-Architecture: any-mipsel
+Architecture: any-mipsel any-mips64el
 Depends: ${shlibs:Depends}, ${misc:Depends}, grub-common (= ${binary:Version})
 Replaces: grub-common (<< 1.98+20100617-2), grub-yeeloong (<< 1.99-1)
 Multi-Arch: foreign
@@ -673,7 +673,7 @@
 
 Package: grub-yeeloong-dbg
 Section: debug
-Architecture: any-mipsel
+Architecture: any-mipsel any-mips64el
 Depends: ${misc:Depends}, grub-yeeloong-bin (= ${binary:Version}), grub-common 
(= ${binary:Version})
 Multi-Arch: foreign
 Description: GRand Unified Bootloader, version 2 (Yeeloong debug files)
@@ -681,7 +681,7 @@
  need these if you are trying to debug GRUB using its GDB stub.
 
 Package: grub-yeeloong
-Architecture: any-mipsel
+Architecture: any-mipsel any-mips64el
 Depends: ${shlibs:Depends}, ${misc:Depends}, grub2-common (= 
${binary:Version}), grub-yeeloong-bin (= ${binary:Version}), ucf
 Replaces: grub-common (<< 1.98+20100617-2)
 Multi-Arch: foreign
@@ -701,7 +701,7 @@
 Package: grub-theme-starfield
 # Could be Architecture: any, but in practice this package is useless in a
 # utilities-only build.
-Architecture: any-i386 any-amd64 any-powerpc any-ppc64 any-ppc64el any-sparc 
any-sparc64 any-mipsel any-ia64 any-arm any-arm64
+Architecture: any-i386 any-amd64 any-powerpc any-ppc64 any-ppc64el any-sparc 
any-sparc64 any-mipsel any-mips64el any-ia64 any-arm any-arm64
 Depends: ${misc:Depends}, grub-common (= ${binary:Version})
 Multi-Arch: foreign
 Description: GRand Unified Bootloader, version 2 (starfield theme)
diff -Nru grub2-2.02~beta2/debian/patches/mips32.diff 
grub2-2.02~beta2/debian/patches/mips32.diff
--- grub2-2.02~beta2/debian/patches/mips32.diff 1970-01-01 08:00:00.000000000 
+0800
+++ grub2-2.02~beta2/debian/patches/mips32.diff 2015-01-19 17:58:02.000000000 
+0800
@@ -0,0 +1,104 @@
+Index: grub2-2.02~beta2/configure.ac
+===================================================================
+--- grub2-2.02~beta2.orig/configure.ac 2015-01-15 02:03:29.000000000 +0800
++++ grub2-2.02~beta2/configure.ac      2015-01-15 02:12:50.793920793 +0800
+@@ -85,17 +85,23 @@
+ TARGET_CPPFLAGS="$TARGET_CPPFLAGS -I\$(top_srcdir)/include"
+ TARGET_CPPFLAGS="$TARGET_CPPFLAGS -I\$(top_builddir)/include"
+ 
++m32_option="-m32"
++m64_option="-m64"
+ case "$target_cpu" in
+   i[[3456]]86)        target_cpu=i386 ;;
+   amd64)      target_cpu=x86_64 ;;
+   sparc)      target_cpu=sparc64 ;;
+-  mipsel|mips64el)
++  mipsel|mips64el|mipsn32el)
+                 target_cpu=mipsel;
+               machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_CPU_MIPSEL=1";
++              m32_option="-mabi=32"
++              m64_option="-mabi=64"
+               ;;
+-  mips|mips64)
++  mips|mips64|mipsn32)
+                 target_cpu=mips;
+               machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_CPU_MIPS=1";
++              m32_option="-mabi=32"
++              m64_option="-mabi=64"
+               ;;
+   arm*)
+               target_cpu=arm;
+@@ -179,7 +185,7 @@
+ 
+ if test x$platform != xemu ; then
+    case "$target_cpu" in
+-      i386 | powerpc) target_m32=1 ;;
++      i386 | powerpc | mips | mipsel) target_m32=1 ;;
+       x86_64 | sparc64) target_m64=1 ;;
+    esac
+ fi
+@@ -352,8 +358,8 @@
+ unset ac_cv_c_bigendian
+ 
+ if test x"$target_cpu-$platform" = xsparc64-emu ; then
+-  CFLAGS="$CFLAGS -m64"
+-  HOST_CFLAGS="$HOST_CFLAGS -m64"
++  CFLAGS="$CFLAGS $m64_option"
++  HOST_CFLAGS="$HOST_CFLAGS $m64_option"
+ fi
+ 
+ AC_C_BIGENDIAN
+@@ -586,19 +592,19 @@
+ 
+ if test "x$target_m32" = x1; then
+   # Force 32-bit mode.
+-  TARGET_CFLAGS="$TARGET_CFLAGS -m32"
+-  TARGET_CCASFLAGS="$TARGET_CCASFLAGS -m32"
+-  TARGET_CPPFLAGS="$TARGET_CPPFLAGS -m32"
+-  TARGET_LDFLAGS="$TARGET_LDFLAGS -m32"
++  TARGET_CFLAGS="$TARGET_CFLAGS $m32_option"
++  TARGET_CCASFLAGS="$TARGET_CCASFLAGS $m32_option"
++  TARGET_CPPFLAGS="$TARGET_CPPFLAGS $m32_option"
++  TARGET_LDFLAGS="$TARGET_LDFLAGS $m32_option"
+   TARGET_MODULE_FORMAT="elf32"
+ fi
+ 
+ if test "x$target_m64" = x1; then
+   # Force 64-bit mode.
+-  TARGET_CFLAGS="$TARGET_CFLAGS -m64"
+-  TARGET_CCASFLAGS="$TARGET_CCASFLAGS -m64"
+-  TARGET_CPPFLAGS="$TARGET_CPPFLAGS -m64"
+-  TARGET_LDFLAGS="$TARGET_LDFLAGS -m64"
++  TARGET_CFLAGS="$TARGET_CFLAGS $m64_option"
++  TARGET_CCASFLAGS="$TARGET_CCASFLAGS $m64_option"
++  TARGET_CPPFLAGS="$TARGET_CPPFLAGS $m64_option"
++  TARGET_LDFLAGS="$TARGET_LDFLAGS $m64_option"
+   TARGET_MODULE_FORMAT="elf64"
+ fi
+ 
+@@ -721,21 +727,21 @@
+ fi
+ if test x"$efiemu_excuse" = x ; then
+   AC_CACHE_CHECK([whether options required for efiemu work], 
grub_cv_cc_efiemu, [
+-    CFLAGS="-m64 -nostdlib -O2 -mcmodel=large -mno-red-zone"
++    CFLAGS="$m64_option -nostdlib -O2 -mcmodel=large -mno-red-zone"
+     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
+                     [grub_cv_cc_efiemu=yes],
+                     [grub_cv_cc_efiemu=no])
+   ])
+   if test x$grub_cv_cc_efiemu = xno; then
+-     efiemu_excuse="cannot compile with -m64 -mcmodel=large -mno-red-zone 
-nostdlib"
++     efiemu_excuse="cannot compile with $m64_option -mcmodel=large 
-mno-red-zone -nostdlib"
+   fi
+ fi
+ if test x"$efiemu_excuse" = x ; then
+   AC_CACHE_CHECK([for efiemu64 linking format], 
[grub_cv_target_cc_efiemu64_link_format], [
+     grub_cv_target_cc_efiemu64_link_format=unknown
+     for format in -melf_x86_64 -melf_x86_64_fbsd -melf_x86_64_obsd 
-melf_x86_64_haiku -arch,x86_64; do
+-      CFLAGS="-m64 -nostdlib -O2 -mcmodel=large -mno-red-zone"
+-      LDFLAGS="-m64 -Wl,$format -nostdlib -static"
++      CFLAGS="$m64_option -nostdlib -O2 -mcmodel=large -mno-red-zone"
++      LDFLAGS="$m64_option -Wl,$format -nostdlib -static"
+       AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+       asm (".globl start; start:");
+       asm (".globl _start; _start:");
diff -Nru grub2-2.02~beta2/debian/patches/series 
grub2-2.02~beta2/debian/patches/series
--- grub2-2.02~beta2/debian/patches/series      2015-01-03 20:21:00.000000000 
+0800
+++ grub2-2.02~beta2/debian/patches/series      2015-01-19 17:58:02.000000000 
+0800
@@ -64,3 +64,4 @@
 insmod-xzio-and-lzopio-on-xen.patch
 grub-install-extra-removable.patch
 mkconfig_other_inits.patch
+mips32.diff
diff -Nru grub2-2.02~beta2/debian/rules grub2-2.02~beta2/debian/rules
--- grub2-2.02~beta2/debian/rules       2015-01-03 20:21:00.000000000 +0800
+++ grub2-2.02~beta2/debian/rules       2015-01-19 17:58:02.000000000 +0800
@@ -48,6 +48,10 @@
 COMMON_PLATFORM := ieee1275
 else ifeq (mipsel,$(DEB_HOST_ARCH_CPU))
 COMMON_PLATFORM := yeeloong
+else ifeq (mips64el,$(DEB_HOST_ARCH_CPU))
+COMMON_PLATFORM := yeeloong
+else ifeq (mipsn32el,$(DEB_HOST_ARCH_CPU))
+COMMON_PLATFORM := yeeloong
 else ifeq (ia64,$(DEB_HOST_ARCH_CPU))
 COMMON_PLATFORM := efi-ia64
 else ifeq (arm,$(DEB_HOST_ARCH_CPU))

--- End Message ---
--- Begin Message ---
On Mon, 19 Jan 2015 18:18:47 +0800 YunQiang Su <[email protected]> wrote:
> Package: src:grub2
> Version: 2.02~beta2-20
> 
> With this patch, grub2 can be built on mips64el.
> Can you review it ?

Given that:
- grub (at least the basic bits) already build on mips64el
- yeeloong will not be supported in stretch anyway.

I believe this patch is obsolete and the bug can closed.

I'll see what I can do about yeeloong in grub soon.

James

Attachment: signature.asc
Description: OpenPGP digital signature


--- End Message ---

Reply via email to