Package: gnu-efi Version: 3.0e-1.1 Severity: normal Hi Nigel,
I've just realized that gnu-efi links the apps against the wrong libgcc.a when cross-building a ia32 gnu-efi on an amd64 host. It links against the host's libgcc.a, which is obviously wrong. I probably missed that in my original patch. Patch attached, please apply. JB. -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.24.3 (SMP w/2 CPU cores) Locale: LANG=C, [EMAIL PROTECTED] (charmap=ISO-8859-15) Shell: /bin/sh linked to /bin/bash -- no debconf information
diff -ru orig/gnu-efi-3.0e/Make.defaults gnu-efi-3.0e/Make.defaults --- orig/gnu-efi-3.0e/Make.defaults 2008-05-20 18:15:40.000000000 +0200 +++ gnu-efi-3.0e/Make.defaults 2008-05-20 18:14:00.580440417 +0200 @@ -33,8 +33,8 @@ ARCH := $(shell uname -m | sed s,i[3456789]86,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 -ASFLAGS = +CFLAGS = $(ARCH32) -O2 -fpic -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants +ASFLAGS = $(ARCH32) LDFLAGS = -nostdlib INSTALL = install prefix = /usr/bin/ @@ -56,7 +56,6 @@ ifeq ($(ARCH), ia32) ifeq ($(HOSTARCH), x86_64) - CFLAGS += -m32 - ASFLAGS += -m32 + ARCH32 = -m32 endif endif diff -ru orig/gnu-efi-3.0e/apps/Makefile gnu-efi-3.0e/apps/Makefile --- orig/gnu-efi-3.0e/apps/Makefile 2007-05-09 20:37:27.000000000 +0200 +++ gnu-efi-3.0e/apps/Makefile 2008-05-20 18:14:08.570185986 +0200 @@ -28,14 +28,13 @@ CRTOBJS = ../gnuefi/crt0-efi-$(ARCH).o LDSCRIPT = ../gnuefi/elf_$(ARCH)_efi.lds LDFLAGS += -T $(LDSCRIPT) -shared -Bsymbolic -L../lib -L../gnuefi $(CRTOBJS) -LOADLIBES = -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name) +LOADLIBES = -lefi -lgnuefi $(shell $(CC) $(ARCH32) -print-libgcc-file-name) FORMAT = efi-app-$(ARCH) TARGETS = t.efi t2.efi t3.efi t4.efi t5.efi t6.efi printenv.efi t7.efi all: $(TARGETS) - clean: rm -f $(TARGETS) *~ *.o *.so diff -ru orig/gnu-efi-3.0e/debian/control gnu-efi-3.0e/debian/control --- orig/gnu-efi-3.0e/debian/control 2008-05-20 18:15:40.000000000 +0200 +++ gnu-efi-3.0e/debian/control 2008-05-20 18:15:17.374973119 +0200 @@ -3,7 +3,7 @@ Priority: optional Maintainer: Nigel Croxon <[EMAIL PROTECTED]> Uploaders: Bdale Garbee <[EMAIL PROTECTED]> -Build-Depends: debhelper (>> 5), binutils (>= 2.17.50.0.14), libc6-dev-i386 [amd64], rsync [amd64] +Build-Depends: debhelper (>> 5), binutils (>= 2.17.50.0.14), gcc-multilib [amd64], rsync [amd64] Standards-Version: 3.7.3 Package: gnu-efi