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;