Colin Watson <[EMAIL PROTECTED]> wrote:

Hi,

>> Did you find the time to test the gnu-efi build produced on amd64 ?
>> What's the status  of this bug ?
>
> I couldn't find the patch that Bdale said he got from you. Could you
> post a copy to this bug? I'd be interested in applying it in Ubuntu,
> upon which I'll be able to test it - I have an Intel iMac on loan and am
> working on fixing up installer support for it.

Here it is, along with the patch you'll need for refit.

JB.

-- 
 Julien BLACHE <[EMAIL PROTECTED]>  |  Debian, because code matters more 
 Debian & GNU/Linux Developer        |       <http://www.debian.org>
 Public key available on <http://www.jblache.org> - KeyID: F5D6 5169 
 GPG Fingerprint : 935A 79F1 C8B3 3521 FD62 7CC7 CD61 4FD7 F5D6 5169 

diff -ru gnu-efi-3.0c/Make.defaults gnu-efi-3.0c_AMD64/Make.defaults
--- gnu-efi-3.0c/Make.defaults	2006-11-14 21:43:27.000000000 +0100
+++ gnu-efi-3.0c_AMD64/Make.defaults	2006-11-14 21:42:47.875583966 +0100
@@ -29,10 +29,15 @@
 
 TOPDIR    := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
 
-ARCH	   = $(shell uname -m | sed s,i[3456789]86,ia32,)
+ifeq ($(shell uname -m),x86_64)
+	ARCH32 = -m32
+endif
+
+ARCH	   = $(shell uname -m | sed s,i[3456789]86,ia32, | sed s,x86_64,ia32,)
 INCDIR	   = -I. -I$(CDIR)/inc -I$(CDIR)/inc/$(ARCH) -I$(CDIR)/inc/protocol 
 CPPFLAGS   = -DCONFIG_$(ARCH)
-CFLAGS	   = -O2 -fpic -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants
+CFLAGS	   = $(ARCH32) -O2 -fpic -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants
+ASFLAGS    = $(ARCH32)
 LDFLAGS	   = -nostdlib
 INSTALL	   = install
 
diff -ru gnu-efi-3.0c/debian/control gnu-efi-3.0c_AMD64/debian/control
--- gnu-efi-3.0c/debian/control	2006-11-14 21:43:27.000000000 +0100
+++ gnu-efi-3.0c_AMD64/debian/control	2006-11-14 21:35:03.205103904 +0100
@@ -3,10 +3,10 @@
 Priority: optional
 Maintainer: Bdale Garbee <[EMAIL PROTECTED]>
 Build-Depends: debhelper (>> 5)
-Standards-Version: 3.6.2.2
+Standards-Version: 3.7.2
 
 Package: gnu-efi
-Architecture: i386 ia64
+Architecture: i386 amd64 ia64
 Suggests: elilo
 Description: Library for developing EFI applications
  GNU toolchain for building applications that can run in the environment
diff -ru gnu-efi-3.0c/debian/rules gnu-efi-3.0c_AMD64/debian/rules
--- gnu-efi-3.0c/debian/rules	2006-11-14 21:43:27.000000000 +0100
+++ gnu-efi-3.0c_AMD64/debian/rules	2006-11-14 21:38:44.733728101 +0100
@@ -4,7 +4,11 @@
 ifeq ($(buildarch),i386)
 	efiarch := ia32
 else
-	efiarch := $(buildarch)
+	ifeq ($(buildarch),amd64)
+		efiarch := ia32
+	else
+		efiarch := $(buildarch)
+	endif
 endif
 
 build: build-stamp
diff -ru refit-0.7/Make.common refit-0.7_AMD64/Make.common
--- refit-0.7/Make.common	2006-04-29 13:14:27.000000000 +0200
+++ refit-0.7_AMD64/Make.common	2006-11-14 21:47:59.653351168 +0100
@@ -8,12 +8,16 @@
 EFILIB          = /usr/lib
 EFICRT0         = /usr/lib
 
-ARCH            = $(shell uname -m | sed s,i[3456789]86,ia32,)
+ifeq ($(shell uname -m),x86_64)
+	ARCH32 = -m32
+endif
+
+ARCH            = $(shell uname -m | sed s,i[3456789]86,ia32, | sed s,x86_64,ia32,)
 CPPFLAGS        = -I$(EFIINC) -I$(EFIINC)/$(ARCH) -I$(EFIINC)/protocol -DCONFIG_$(ARCH)
 
 OPTIMFLAGS      = -O2 -fno-strict-aliasing
 DEBUGFLAGS      = -Wall
-CFLAGS          = $(OPTIMFLAGS) -mcpu=i386 -fpic -fshort-wchar $(DEBUGFLAGS)
+CFLAGS          = $(ARCH32) $(OPTIMFLAGS) -mcpu=i386 -fpic -fshort-wchar $(DEBUGFLAGS)
 LDFLAGS         = -nostdlib -znocombreloc
 
 prefix          = /usr/bin/
diff -ru refit-0.7/debian/control refit-0.7_AMD64/debian/control
--- refit-0.7/debian/control	2006-11-14 22:09:19.000000000 +0100
+++ refit-0.7_AMD64/debian/control	2006-11-14 21:46:20.275687958 +0100
@@ -6,7 +6,7 @@
 Standards-Version: 3.7.2
 
 Package: refit
-Architecture: i386
+Architecture: i386 amd64
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Description: graphical bootloader for EFI-based ia32 systems
  rEFIt is a EFI bootloader which allows graphically selecting
diff -ru refit-0.7/gptsync/gptsync.c refit-0.7_AMD64/gptsync/gptsync.c
--- refit-0.7/gptsync/gptsync.c	2006-05-12 21:00:09.000000000 +0200
+++ refit-0.7_AMD64/gptsync/gptsync.c	2006-11-14 22:07:00.154344616 +0100
@@ -400,8 +400,8 @@
         Print(L" No GPT partition table present!\n");
         return 0;
     }
-    if (header->spec_revision != 0x00010000UL) {
-        Print(L" Warning: Unknown GPT spec revision 0x%08x\n", header->spec_revision);
+    if (header->spec_revision != 0x00010000) {
+        Print(L" Warning: Unknown GPT spec revision 0x%x\n", header->spec_revision);
     }
     if ((512 % header->entry_size) > 0 || header->entry_size > 512) {
         Print(L" Error: Invalid GPT entry size (misaligned or more than 512 bytes)\n");
diff -ru refit-0.7/gptsync/gptsync.h refit-0.7_AMD64/gptsync/gptsync.h
--- refit-0.7/gptsync/gptsync.h	2006-05-12 07:44:05.000000000 +0200
+++ refit-0.7_AMD64/gptsync/gptsync.h	2006-11-14 22:03:50.007508765 +0100
@@ -76,7 +76,7 @@
 typedef unsigned int        UINTN;
 typedef unsigned char       UINT8;
 typedef unsigned short      UINT16;
-typedef unsigned long       UINT32;
+typedef unsigned int        UINT32;
 typedef unsigned long long  UINT64;
 typedef void                VOID;
 

Reply via email to