Your message dated Sat, 12 Sep 2009 10:06:10 +0000
with message-id <[email protected]>
and subject line Bug#535696: fixed in gnu-efi 3.0i-1
has caused the Debian Bug report #535696,
regarding gnu-efi: [PATCH] add support for kfreebsd-amd64
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.)


-- 
535696: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=535696
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: gnu-efi
Version: 3.0e-3
Severity: wishlist

Hi Nigel,

Attached is a patch to add support for kfreebsd-amd64 to the gnu-efi
package, and FreeBSD x86_64 support to upstream. FreeBSD i386 doesn't
need any changes.

Upstream changes:
 - add gnuefi/elf_x86_64_fbsd_efi.lds, this is the x86_64 linker
   script with the OUTPUT_FORMAT set to elf-x86-64-freebsd
 - patch Makefiles to use and install this linker script on anything
   that's FreeBSD on amd64 - works for both FreeBSD and kFreeBSD

Debian changes:
 - debian/control:
   + add kfreebsd-amd64 as a supported architecture
   + build-dep gcc-multilib on kfreebsd-amd64 too
   + bump Standards-Version to 3.8.2
 - debian/rules:
   + add support for kfreebsd amd64 & i386 by modifying the i386 &
     amd64 conditional parts (use findstring)
   + add support for kfreebsd amd64, that is, install the proper
     linker script
   + cleanup: do not install ia64 headers on i386/amd64, do not
     install i386/amd64 headers on ia64

Unfortunately, kfreebsd-i386 doesn't have a bi-arch gcc, so it can't
be enabled just yet. I hope we'll get a bi-arch compiler there soon,
too.

I've run the test apps and they work. Speaking of testing, TianoCore
have EFI firmwares for qemu now, both ia32 and x64. They call that
OVMF, it's part of the edkII project. You might want to check that
out, it's great to run the test apps =) The EFI ROMs come with the EFI
shell integrated, so you only need a small disk image to copy the test
apps to.

The patch contains an debian/changelog entry, too.

You may want to make that gnu-efi 3.0i upstream and I'd be happy to
sponsor the 3.0i-1 upload :)

Thanks,

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 -ruN orig/gnu-efi-3.0e/Make.defaults gnu-efi-3.0e/Make.defaults
--- orig/gnu-efi-3.0e/Make.defaults	2009-07-04 14:39:53.000000000 +0200
+++ gnu-efi-3.0e/Make.defaults	2009-07-04 14:25:48.000000000 +0200
@@ -31,6 +31,7 @@
 
 HOSTARCH   = $(shell uname -m | sed s,i[3456789]86,ia32,)
 ARCH	   := $(shell uname -m | sed s,i[3456789]86,ia32,)
+OS	   = $(shell uname -s)
 INCDIR	   = -I$(SRCDIR) -I$(TOPDIR)/inc -I$(TOPDIR)/inc/$(ARCH) -I$(TOPDIR)/inc/protocol 
 CPPFLAGS   = -DCONFIG_$(ARCH)
 CFLAGS	   = $(ARCH3264) -O2 -fpic -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants
diff -ruN orig/gnu-efi-3.0e/apps/Makefile gnu-efi-3.0e/apps/Makefile
--- orig/gnu-efi-3.0e/apps/Makefile	2009-07-04 14:39:53.000000000 +0200
+++ gnu-efi-3.0e/apps/Makefile	2009-07-04 14:26:09.000000000 +0200
@@ -33,7 +33,14 @@
 LINUX_HEADERS	= /usr/src/sys/build
 CPPFLAGS	+= -D__KERNEL__ -I$(LINUX_HEADERS)/include
 CRTOBJS		= ../gnuefi/crt0-efi-$(ARCH).o
+
 LDSCRIPT	= $(TOPDIR)/gnuefi/elf_$(ARCH)_efi.lds
+ifeq ($(ARCH),x86_64)
+ ifneq (,$(findstring FreeBSD,$(OS)))
+LDSCRIPT	= $(TOPDIR)/gnuefi/elf_$(ARCH)_fbsd_efi.lds
+ endif
+endif
+
 LDFLAGS		+= -T $(LDSCRIPT) -shared -Bsymbolic -L../lib -L../gnuefi $(CRTOBJS)
 LOADLIBES	= -lefi -lgnuefi $(shell $(CC) $(ARCH3264) -print-libgcc-file-name)
 FORMAT		= efi-app-$(ARCH)
diff -ruN orig/gnu-efi-3.0e/debian/changelog gnu-efi-3.0e/debian/changelog
--- orig/gnu-efi-3.0e/debian/changelog	2009-07-04 14:39:53.000000000 +0200
+++ gnu-efi-3.0e/debian/changelog	2009-07-04 14:47:43.000000000 +0200
@@ -1,3 +1,16 @@
+gnu-efi (3.0e-4) unstable; urgency=low
+
+  * debian/control:
+    + Make kfreebsd-amd64 a supported architecture.
+    + Build-depend on gcc-multilib on kfreebsd-amd64 too.
+  * debian/rules:
+    + Add support for both kfreebsd-{i386,amd64}.
+    + Install FreeBSD x86_64 linker script on kfreebsd-amd64.
+    + Do not install ia64-specific headers on i386/amd64, do not install
+      i386/amd64-specific headers on ia64.
+
+ -- Julien Blache <[email protected]>  Sat, 04 Jul 2009 14:45:03 +0200
+
 gnu-efi (3.0e-3) unstable; urgency=low
 
   * Non-maintainer upload with maintainer's consent.
diff -ruN orig/gnu-efi-3.0e/debian/control gnu-efi-3.0e/debian/control
--- orig/gnu-efi-3.0e/debian/control	2009-07-04 14:39:53.000000000 +0200
+++ gnu-efi-3.0e/debian/control	2009-07-04 14:29:50.000000000 +0200
@@ -3,11 +3,11 @@
 Priority: optional
 Maintainer: Nigel Croxon <[email protected]>
 Uploaders: Bdale Garbee <[email protected]>
-Build-Depends: debhelper (>> 5), binutils (>= 2.17.50.0.14), gcc-multilib [i386 amd64]
-Standards-Version: 3.8.1
+Build-Depends: debhelper (>> 5), binutils (>= 2.17.50.0.14), gcc-multilib [i386 amd64 kfreebsd-amd64]
+Standards-Version: 3.8.2
 
 Package: gnu-efi
-Architecture: i386 ia64 amd64 
+Architecture: i386 ia64 amd64 kfreebsd-amd64
 Suggests: elilo
 Description: Library for developing EFI applications
  GNU toolchain for building applications that can run in the environment
diff -ruN orig/gnu-efi-3.0e/debian/rules gnu-efi-3.0e/debian/rules
--- orig/gnu-efi-3.0e/debian/rules	2009-07-04 14:39:53.000000000 +0200
+++ gnu-efi-3.0e/debian/rules	2009-07-04 14:44:13.000000000 +0200
@@ -1,26 +1,24 @@
 #!/usr/bin/make -f
 
 buildarch := $(shell dpkg-architecture -qDEB_BUILD_ARCH)
-ifeq ($(buildarch),i386)
+ifneq (,$(findstring i386,$(buildarch)))
 	efiarch := ia32
-else
-  ifeq ($(buildarch),amd64)
+else ifneq (,$(findstring amd64,$(buildarch)))
 	efiarch := x86_64
-  else
+else
 	efiarch := $(buildarch)
-  endif
 endif
 
 build: build-stamp
 build-stamp:
 	dh_testdir
 
-ifeq ($(buildarch),amd64)
+ifneq (,$(findstring amd64,$(buildarch)))
 	mkdir build-ia32
 	$(MAKE) -C build-ia32 -f ../Makefile SRCDIR=.. ARCH=ia32
 endif
 
-ifeq ($(buildarch),i386)
+ifneq (,$(findstring i386,$(buildarch)))
 	mkdir build-x86_64
 	$(MAKE) -C build-x86_64 -f ../Makefile SRCDIR=.. ARCH=x86_64
 endif
@@ -52,12 +50,22 @@
 	rm debian/gnu-efi/usr/include/efi/protocol/make.inf
 	rm debian/gnu-efi/usr/include/efi/protocol/makefile.hdr
 	rm debian/gnu-efi/usr/include/efi/protocol/readme.txt
+ifeq ($(buildarch),ia64)
+	rm -rf debian/gnu-efi/usr/include/efi/ia32
+	rm -rf debian/gnu-efi/usr/include/efi/x84_64
+else
+	rm -rf debian/gnu-efi/usr/include/efi/ia64
+endif
 	cp gnuefi/*.a debian/gnu-efi/usr/lib/
+ifeq ($(buildarch),kfreebsd-amd64)
+	cp gnuefi/elf_$(efiarch)_fbsd_efi.lds debian/gnu-efi/usr/lib
+else
 	cp gnuefi/elf_$(efiarch)_efi.lds debian/gnu-efi/usr/lib
+endif
 	cp gnuefi/crt0-efi-$(efiarch).o debian/gnu-efi/usr/lib
 	cp lib/*.a debian/gnu-efi/usr/lib/
 
-ifeq ($(buildarch),amd64)
+ifneq (,$(findstring amd64,$(buildarch)))
 	mkdir -p debian/gnu-efi/usr/lib32
 	cp build-ia32/gnuefi/*.a debian/gnu-efi/usr/lib32/
 	cp gnuefi/elf_ia32_efi.lds debian/gnu-efi/usr/lib32/
@@ -65,10 +73,14 @@
 	cp build-ia32/lib/*.a debian/gnu-efi/usr/lib32/
 endif
 
-ifeq ($(buildarch),i386)
+ifneq (,$(findstring i386,$(buildarch)))
 	mkdir -p debian/gnu-efi/usr/lib64
 	cp build-x86_64/gnuefi/*.a debian/gnu-efi/usr/lib64/
+ifeq ($(buildarch),kfreebsd-i386)
+	cp gnuefi/elf_x86_64_fbsd_efi.lds debian/gnu-efi/usr/lib64/
+else
 	cp gnuefi/elf_x86_64_efi.lds debian/gnu-efi/usr/lib64/
+endif
 	cp build-x86_64/gnuefi/crt0-efi-x86_64.o debian/gnu-efi/usr/lib64/
 	cp build-x86_64/lib/*.a debian/gnu-efi/usr/lib64/
 endif
diff -ruN orig/gnu-efi-3.0e/gnuefi/Makefile gnu-efi-3.0e/gnuefi/Makefile
--- orig/gnu-efi-3.0e/gnuefi/Makefile	2009-07-04 14:39:53.000000000 +0200
+++ gnu-efi-3.0e/gnuefi/Makefile	2009-07-04 14:38:12.000000000 +0200
@@ -46,6 +46,14 @@
 install:
 	mkdir -p $(INSTALLROOT)/lib
 	$(INSTALL) -m 644 $(TARGETS) $(INSTALLROOT)/lib
+ifneq (,$(findstring FreeBSD,$(OS)))
+ ifeq ($(ARCH),x86_64)
+	$(INSTALL) -m 644 elf_$(ARCH)_fbsd_efi.lds $(INSTALLROOT)/lib
+ else
 	$(INSTALL) -m 644 elf_$(ARCH)_efi.lds $(INSTALLROOT)/lib
+ endif
+else
+	$(INSTALL) -m 644 elf_$(ARCH)_efi.lds $(INSTALLROOT)/lib
+endif
 
 include $(SRCDIR)/../Make.rules
diff -ruN orig/gnu-efi-3.0e/gnuefi/elf_x86_64_efi.lds gnu-efi-3.0e/gnuefi/elf_x86_64_efi.lds
--- orig/gnu-efi-3.0e/gnuefi/elf_x86_64_efi.lds	2007-05-11 19:03:05.000000000 +0200
+++ gnu-efi-3.0e/gnuefi/elf_x86_64_efi.lds	2009-07-04 14:16:29.000000000 +0200
@@ -1,3 +1,4 @@
+/* Same as elf_x86_64_fbsd_efi.lds, except for OUTPUT_FORMAT below - KEEP IN SYNC */
 OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64")
 OUTPUT_ARCH(i386:x86-64)
 ENTRY(_start)
diff -ruN orig/gnu-efi-3.0e/gnuefi/elf_x86_64_fbsd_efi.lds gnu-efi-3.0e/gnuefi/elf_x86_64_fbsd_efi.lds
--- orig/gnu-efi-3.0e/gnuefi/elf_x86_64_fbsd_efi.lds	1970-01-01 01:00:00.000000000 +0100
+++ gnu-efi-3.0e/gnuefi/elf_x86_64_fbsd_efi.lds	2009-07-04 14:15:57.000000000 +0200
@@ -0,0 +1,59 @@
+/* Same as elf_x86_64_efi.lds, except for OUTPUT_FORMAT below - KEEP IN SYNC */
+OUTPUT_FORMAT("elf64-x86-64-freebsd", "elf64-x86-64-freebsd", "elf64-x86-64-freebsd")
+OUTPUT_ARCH(i386:x86-64)
+ENTRY(_start)
+SECTIONS
+{
+  . = 0;
+  ImageBase = .;
+  .hash : { *(.hash) }	/* this MUST come first! */
+  . = ALIGN(4096);
+  .eh_frame : 
+  { 
+    *(.eh_frame)
+  }
+  . = ALIGN(4096);
+  .text :
+  {
+   *(.text)
+  }
+  .reloc :
+  {
+   *(.reloc)
+  }
+  . = ALIGN(4096);
+  .data :
+  {
+   *(.rodata*)
+   *(.got.plt)
+   *(.got)
+   *(.data*)
+   *(.sdata)
+   /* the EFI loader doesn't seem to like a .bss section, so we stick
+      it all into .data: */
+   *(.sbss)
+   *(.scommon)
+   *(.dynbss)
+   *(.bss)
+   *(COMMON)
+   *(.rel.local)
+  }
+  . = ALIGN(4096);
+  .dynamic  : { *(.dynamic) }
+  . = ALIGN(4096);
+  .rela :
+  {
+    *(.rela.data*)
+    *(.rela.got)
+    *(.rela.stab)
+  }
+  . = ALIGN(4096);
+  .dynsym   : { *(.dynsym) }
+  . = ALIGN(4096);
+  .dynstr   : { *(.dynstr) }
+  . = ALIGN(4096);
+  .ignored.reloc :
+  {
+    *(.rela.reloc)
+  }
+}

--- End Message ---
--- Begin Message ---
Source: gnu-efi
Source-Version: 3.0i-1

We believe that the bug you reported is fixed in the latest version of
gnu-efi, which is due to be installed in the Debian FTP archive:

gnu-efi_3.0i-1.diff.gz
  to pool/main/g/gnu-efi/gnu-efi_3.0i-1.diff.gz
gnu-efi_3.0i-1.dsc
  to pool/main/g/gnu-efi/gnu-efi_3.0i-1.dsc
gnu-efi_3.0i-1_amd64.deb
  to pool/main/g/gnu-efi/gnu-efi_3.0i-1_amd64.deb
gnu-efi_3.0i.orig.tar.gz
  to pool/main/g/gnu-efi/gnu-efi_3.0i.orig.tar.gz



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Julien BLACHE <[email protected]> (supplier of updated gnu-efi package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Sat, 12 Sep 2009 11:38:57 +0200
Source: gnu-efi
Binary: gnu-efi
Architecture: source amd64
Version: 3.0i-1
Distribution: unstable
Urgency: low
Maintainer: Nigel Croxon <[email protected]>
Changed-By: Julien BLACHE <[email protected]>
Description: 
 gnu-efi    - Library for developing EFI applications
Closes: 535696
Changes: 
 gnu-efi (3.0i-1) unstable; urgency=low
 .
   * New upstream release.
     + Support for FreeBSD (closes: #535696).
 .
   * debian/control:
     + Make kfreebsd-amd64 a supported architecture.
     + Build-depend on gcc-multilib on kfreebsd-amd64 too.
   * debian/rules:
     + Add support for both kfreebsd-{i386,amd64}.
     + Install FreeBSD x86_64 linker script on kfreebsd-amd64.
     + Do not install ia64-specific headers on i386/amd64, do not install
       i386/amd64-specific headers on ia64.
Checksums-Sha1: 
 2d77274289da06a58689194777917bdb4fee7af1 1101 gnu-efi_3.0i-1.dsc
 a4f9bd00e777452648e0d57b32080e63f54f2ee1 135068 gnu-efi_3.0i.orig.tar.gz
 adccb4d5a14789218f8c6d4c999f7284d8a1f3d8 4380 gnu-efi_3.0i-1.diff.gz
 6bfc270a9d9014bc1c641a7538f5121279926ea1 135956 gnu-efi_3.0i-1_amd64.deb
Checksums-Sha256: 
 f91533b933319436f17c77a3632c3bb1e9c6d8bbda74458d95cd12fce970dc78 1101 
gnu-efi_3.0i-1.dsc
 13bea8e387984e04d93e14004a2e24539802fb2bd42cac112c8a816395d95366 135068 
gnu-efi_3.0i.orig.tar.gz
 ab17af18c947c7870e88bba79d574ec0584ff7b5fba02ba614301eb885ccd90e 4380 
gnu-efi_3.0i-1.diff.gz
 c924a62d0365a3a01d5dd35b95740dcae16c722d01b8a5b5955de4f15fea0b83 135956 
gnu-efi_3.0i-1_amd64.deb
Files: 
 ac05744ad9067901fda78973c62ff41f 1101 devel optional gnu-efi_3.0i-1.dsc
 558c914fc44f58b72b6ab509f7d169c2 135068 devel optional gnu-efi_3.0i.orig.tar.gz
 631487f6ddf2218da0f6ffe6ec9f6c75 4380 devel optional gnu-efi_3.0i-1.diff.gz
 12e9632a9492786dbe36979b3bf97402 135956 devel optional gnu-efi_3.0i-1_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iD8DBQFKq2y4zWFP1/XWUWkRApjRAKCWNuzF6u7TykVKXMppb8s9s1N+qACg4VzL
cPX/T0l3gs0dhjdy2haYFUI=
=C/MZ
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to