summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeshav Amburay2013-06-07 21:30:57 +0530
committerKeshav Amburay2013-06-07 21:30:57 +0530
commitb403d088db291cc116ecd549e4cbe627eb133c0e (patch)
tree22adfce9fb4fd1b936787d45f8dc2aa8bf887312
parent8b9ac5dfdc38bf05b3be79bfb601c6611852d2c0 (diff)
downloadaur-b403d088db291cc116ecd549e4cbe627eb133c0e.tar.gz
gnu-efi-lib-git PKGBUILD
-rw-r--r--.SRCINFO14
-rw-r--r--PKGBUILD48
-rw-r--r--gnu-efi-disable-USE_MS_ABI.patch (renamed from gnu-efi-fedora-disable-USE_MS_ABI.patch)0
-rw-r--r--gnu-efi-fedora-fix-makefile-vars.patch23
-rw-r--r--gnu-efi-fix-x86_64-uefi-call-wrapper.patch330
5 files changed, 25 insertions, 390 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 46e3282bb73e..04a966d7ecf3 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
-pkgbase = gnu-efi-libs-fedora-git
+pkgbase = gnu-efi-libs-git
pkgdesc = Library for building x86_64 and i386 UEFI Applications using GNU toolchain - Fedora GIT Version
- pkgver = 51ddcca
+ pkgver = 0ca0dac
pkgrel = 1
url = http://sourceforge.net/projects/gnu-efi/
arch = i686
@@ -11,14 +11,10 @@ pkgbase = gnu-efi-libs-fedora-git
conflicts = gnu-efi-libs
options = !strip
options = !makeflags
- source = gnu-efi-fedora::git+git://github.com/vathpela/gnu-efi.git#branch=fedora
- source = gnu-efi-fix-x86_64-uefi-call-wrapper.patch
- source = gnu-efi-fedora-disable-USE_MS_ABI.patch
- source = gnu-efi-fedora-fix-makefile-vars.patch
+ source = gnu-efi::git+git://git.code.sf.net/p/gnu-efi/code#branch=master
+ source = gnu-efi-disable-USE_MS_ABI.patch
sha1sums = SKIP
- sha1sums = 8918de3aefba2a3dc367bbb28611394c4c300a6d
sha1sums = 5e6b30cdf2c1d89ccb3f5314bb3e0ef0d45b0001
- sha1sums = 09144dd3ec664b96714fe92d823e31bd1bb747e9
-pkgname = gnu-efi-libs-fedora-git
+pkgname = gnu-efi-libs-git
diff --git a/PKGBUILD b/PKGBUILD
index 00ce74d83856..12c86a5f435c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,12 +2,14 @@
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Alessio 'mOLOk' Bolognino <themolok@gmail.com>
-_gitroot="git://github.com/vathpela/gnu-efi.git"
-_gitname="gnu-efi-fedora"
-_gitbranch="fedora"
+_gitroot="git://git.code.sf.net/p/gnu-efi/code"
+_gitname="gnu-efi"
+_gitbranch="master"
-pkgname="gnu-efi-libs-fedora-git"
-pkgver=51ddcca
+_src_rootdir="gnu-efi-3.0"
+
+pkgname="gnu-efi-libs-git"
+pkgver=0ca0dac
pkgrel=1
pkgdesc="Library for building x86_64 and i386 UEFI Applications using GNU toolchain - Fedora GIT Version"
url="http://sourceforge.net/projects/gnu-efi/"
@@ -24,14 +26,10 @@ conflicts=('gnu-efi-libs')
provides=('gnu-efi-libs')
source=("${_gitname}::git+${_gitroot}#branch=${_gitbranch}"
- 'gnu-efi-fix-x86_64-uefi-call-wrapper.patch'
- 'gnu-efi-fedora-disable-USE_MS_ABI.patch'
- 'gnu-efi-fedora-fix-makefile-vars.patch')
+ 'gnu-efi-disable-USE_MS_ABI.patch')
sha1sums=('SKIP'
- '8918de3aefba2a3dc367bbb28611394c4c300a6d'
- '5e6b30cdf2c1d89ccb3f5314bb3e0ef0d45b0001'
- '09144dd3ec664b96714fe92d823e31bd1bb747e9')
+ '5e6b30cdf2c1d89ccb3f5314bb3e0ef0d45b0001')
pkgver() {
cd "${srcdir}/${_gitname}/"
@@ -40,12 +38,13 @@ pkgver() {
_build_gnu-efi-libs-x86_64() {
cp -r "${srcdir}/${_gitname}_build" "${srcdir}/${_gitname}_build-x86_64"
- cd "${srcdir}/${_gitname}_build-x86_64/"
+ cd "${srcdir}/${_gitname}_build-x86_64/${_src_rootdir}/"
unset CFLAGS
unset CPPFLAGS
unset CXXFLAGS
unset LDFLAGS
+ unset MAKEFLAGS
ARCH="x86_64" make -j1
echo
@@ -56,12 +55,13 @@ _build_gnu-efi-libs-x86_64() {
_build_gnu-efi-libs-i386() {
cp -r "${srcdir}/${_gitname}_build" "${srcdir}/${_gitname}_build-i386"
- cd "${srcdir}/${_gitname}_build-i386/"
+ cd "${srcdir}/${_gitname}_build-i386/${_src_rootdir}/"
unset CFLAGS
unset CPPFLAGS
unset CXXFLAGS
unset LDFLAGS
+ unset MAKEFLAGS
ARCH="ia32" make -j1
echo
@@ -74,19 +74,11 @@ build() {
rm -rf "${srcdir}/${_gitname}_build/" || true
cp -r "${srcdir}/${_gitname}" "${srcdir}/${_gitname}_build"
- cd "${srcdir}/${_gitname}_build"
-
- ## Fix x86_64 UEFI call wrapper http://sourceforge.net/tracker/?func=detail&aid=3576537&group_id=163609&atid=828423
- patch -Np1 -i "${srcdir}/gnu-efi-fix-x86_64-uefi-call-wrapper.patch"
- echo
+ cd "${srcdir}/${_gitname}_build/${_src_rootdir}/"
## Disable GCC MS_ABI CFLAGS
- patch -Np1 -i "${srcdir}/gnu-efi-fedora-disable-USE_MS_ABI.patch"
- echo
-
- ## Fix Makefiles to enable compile for both UEFI arch
- patch -Np1 -i "${srcdir}/gnu-efi-fedora-fix-makefile-vars.patch"
- echo
+ # patch -Np1 -i "${srcdir}/gnu-efi-disable-USE_MS_ABI.patch"
+ # echo
if [[ "${CARCH}" == "x86_64" ]]; then
_build_gnu-efi-libs-x86_64
@@ -96,23 +88,23 @@ build() {
}
_package_gnu-efi-libs-x86_64() {
- cd "${srcdir}/${_gitname}_build-x86_64/"
+ cd "${srcdir}/${_gitname}_build-x86_64/${_src_rootdir}/"
make ARCH="x86_64" INSTALLROOT="${pkgdir}" PREFIX="/usr" LIBDIR="/usr/lib" install
echo
install -d "${pkgdir}/usr/share/gnu-efi/x86_64/"
- install -D -m0644 "${srcdir}/${_gitname}_build-x86_64/apps"/*.efi "${pkgdir}/usr/share/gnu-efi/x86_64/"
+ install -D -m0644 "${srcdir}/${_gitname}_build-x86_64/${_src_rootdir}/apps"/*.efi "${pkgdir}/usr/share/gnu-efi/x86_64/"
}
_package_gnu-efi-libs-i386() {
- cd "${srcdir}/${_gitname}_build-i386/"
+ cd "${srcdir}/${_gitname}_build-i386/${_src_rootdir}/"
make ARCH="ia32" INSTALLROOT="${pkgdir}" PREFIX="/usr" LIBDIR="/usr/${_LIBDIR32}" install
echo
install -d "${pkgdir}/usr/share/gnu-efi/i386/"
- install -D -m0644 "${srcdir}/${_gitname}_build-i386/apps"/*.efi "${pkgdir}/usr/share/gnu-efi/i386/"
+ install -D -m0644 "${srcdir}/${_gitname}_build-i386/${_src_rootdir}/apps"/*.efi "${pkgdir}/usr/share/gnu-efi/i386/"
}
package() {
diff --git a/gnu-efi-fedora-disable-USE_MS_ABI.patch b/gnu-efi-disable-USE_MS_ABI.patch
index e363e6481fea..e363e6481fea 100644
--- a/gnu-efi-fedora-disable-USE_MS_ABI.patch
+++ b/gnu-efi-disable-USE_MS_ABI.patch
diff --git a/gnu-efi-fedora-fix-makefile-vars.patch b/gnu-efi-fedora-fix-makefile-vars.patch
deleted file mode 100644
index cf527379f9b1..000000000000
--- a/gnu-efi-fedora-fix-makefile-vars.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/Make.defaults b/Make.defaults
-index 38da180..5799032 100644
---- a/Make.defaults
-+++ b/Make.defaults
-@@ -38,14 +38,14 @@
- # Where to install the package. GNU-EFI will create and access
- # lib and include under the root
- #
--INSTALLROOT := /
--PREFIX := /usr/local
--LIBDIR := ${PREFIX}/lib
-+INSTALLROOT ?= /
-+PREFIX ?= /usr
-+LIBDIR ?= ${PREFIX}/lib
-
- TOPDIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
-
- HOSTARCH = $(shell uname -m | sed s,i[3456789]86,ia32,)
--ARCH := $(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
- GCCVERSION := $(shell gcc -dumpversion | cut -f1 -d.)
diff --git a/gnu-efi-fix-x86_64-uefi-call-wrapper.patch b/gnu-efi-fix-x86_64-uefi-call-wrapper.patch
deleted file mode 100644
index da495c4543d8..000000000000
--- a/gnu-efi-fix-x86_64-uefi-call-wrapper.patch
+++ /dev/null
@@ -1,330 +0,0 @@
-diff --git a/lib/x86_64/efi_stub.S b/lib/x86_64/efi_stub.S
-index a5e278b..b431255 100644
---- a/lib/x86_64/efi_stub.S
-+++ b/lib/x86_64/efi_stub.S
-@@ -4,6 +4,7 @@
- * Copyright (C) 2007 Intel Corp
- * Bibo Mao <bibo.mao@intel.com>
- * Huang Ying <ying.huang@intel.com>
-+ * Copyright (C) 2012 Felipe Contreras <felipe.contreras@gmail.com>
- */
-
- #if !defined(HAVE_USE_MS_ABI)
-@@ -15,152 +16,94 @@
- *
- * Basically here are the conversion rules:
- * a) our function pointer is in %rdi
-- * b) ELF gives us 8-byte aligned %rsp, so we need to pad out to 16-byte
-- * alignment.
-- * c) inside each call thunker, we can only adjust the stack by
-- * multiples of 16 bytes. "offset" below refers to however much
-- * we allocate inside a thunker.
-- * d) rsi through r8 (elf) aka rcx through r9 (ms) require stack space
-+ * b) rsi through r8 (elf) aka rcx through r9 (ms) require stack space
- * on the MS side even though it's not getting used at all.
-- * e) arguments are as follows: (elf -> ms)
-+ * c) 8(%rsp) is always aligned to 16 in ELF, so %rsp is shifted 8 bytes extra
-+ * d) arguments are as follows: (elf -> ms)
- * 1) rdi -> rcx (32 saved)
- * 2) rsi -> rdx (32 saved)
-- * 3) rdx -> r8 ( 32 saved)
-+ * 3) rdx -> r8 (32 saved)
- * 4) rcx -> r9 (32 saved)
-- * 5) r8 -> 32(%rsp) (48 saved)
-+ * 5) r8 -> 32(%rsp) (32 saved)
- * 6) r9 -> 40(%rsp) (48 saved)
-- * 7) pad+offset+0(%rsp) -> 48(%rsp) (64 saved)
-- * 8) pad+offset+8(%rsp) -> 56(%rsp) (64 saved)
-- * 9) pad+offset+16(%rsp) -> 64(%rsp) (80 saved)
-- * 10) pad+offset+24(%rsp) -> 72(%rsp) (80 saved)
-- * 11) pad+offset+32(%rsp) -> 80(%rsp) (96 saved)
-- * 12) pad+offset+40(%rsp) -> 88(%rsp) (96 saved)
-- * f) because the first argument we recieve in a thunker is actually the
-+ * 7) 8(%rsp) -> 48(%rsp) (48 saved)
-+ * 8) 16(%rsp) -> 56(%rsp) (64 saved)
-+ * 9) 24(%rsp) -> 64(%rsp) (64 saved)
-+ * 10) 32(%rsp) -> 72(%rsp) (80 saved)
-+ * e) because the first argument we recieve in a thunker is actually the
- * function to be called, arguments are offset as such:
- * 0) rdi -> caller
- * 1) rsi -> rcx (32 saved)
- * 2) rdx -> rdx (32 saved)
- * 3) rcx -> r8 (32 saved)
- * 4) r8 -> r9 (32 saved)
-- * 5) r9 -> 32(%rsp) (48 saved)
-- * 6) pad+offset+0(%rsp) -> 40(%rsp) (48 saved)
-- * 7) pad+offset+8(%rsp) -> 48(%rsp) (64 saved)
-- * 8) pad+offset+16(%rsp) -> 56(%rsp) (64 saved)
-- * 9) pad+offset+24(%rsp) -> 64(%rsp) (80 saved)
-- * 10) pad+offset+32(%rsp) -> 72(%rsp) (80 saved)
-- * 11) pad+offset+40(%rsp) -> 80(%rsp) (96 saved)
-- * 12) pad+offset+48(%rsp) -> 88(%rsp) (96 saved)
-- * e) arguments need to be moved in opposite order to avoid clobbering
-- * f) pad_stack leaves the amount of padding it added in %r11 for functions
-- * to use
-- * g) efi -> elf calls don't need to pad the stack, because the 16-byte
-- * alignment is also always 8-byte aligned.
-+ * 5) r9 -> 32(%rsp) (32 saved)
-+ * 6) 8(%rsp) -> 40(%rsp) (48 saved)
-+ * 7) 16(%rsp) -> 48(%rsp) (48 saved)
-+ * 8) 24(%rsp) -> 56(%rsp) (64 saved)
-+ * 9) 32(%rsp) -> 64(%rsp) (64 saved)
-+ * 10) 40(%rsp) -> 72(%rsp) (80 saved)
-+ * f) arguments need to be moved in opposite order to avoid clobbering
- */
-
- #define ENTRY(name) \
- .globl name; \
- name:
-
--#define out(val) \
-- push %rax ; \
-- mov val, %rax ; \
-- out %al, $128 ; \
-- pop %rax
--
--#define pad_stack \
-- subq $8, %rsp ; /* must be a multiple of 16 - sizeof(%rip) */ \
-- /* stash some handy integers */ \
-- mov $0x8, %rax ; \
-- mov $0x10, %r10 ; \
-- /* see if we need padding */ \
-- and %rsp, %rax ; \
-- /* store the pad amount in %r11 */ \
-- cmovnz %rax, %r11 ; \
-- cmovz %r10, %r11 ; \
-- /* insert the padding */ \
-- subq %r11, %rsp ; \
-- /* add the $8 we saved above in %r11 */ \
-- addq $8, %r11 ; \
-- /* store the pad amount */ \
-- mov %r11, (%rsp) ; \
-- /* compensate for %rip being stored on the stack by call */ \
-- addq $8, %r11
--
--#define unpad_stack \
-- /* fetch the pad amount we saved (%r11 has been clobbered) */ \
-- mov (%rsp), %r11 ; \
-- /* remove the padding */ \
-- addq %r11, %rsp
--
- ENTRY(efi_call0)
-- pad_stack
-- subq $32, %rsp
-+ subq $40, %rsp
- call *%rdi
-- addq $32, %rsp
-- unpad_stack
-+ addq $40, %rsp
- ret
-
- ENTRY(efi_call1)
-- pad_stack
-- subq $32, %rsp
-+ subq $40, %rsp
- mov %rsi, %rcx
- call *%rdi
-- addq $32, %rsp
-- unpad_stack
-+ addq $40, %rsp
- ret
-
- ENTRY(efi_call2)
-- pad_stack
-- subq $32, %rsp
-+ subq $40, %rsp
- /* mov %rdx, %rdx */
- mov %rsi, %rcx
- call *%rdi
-- addq $32, %rsp
-- unpad_stack
-+ addq $40, %rsp
- ret
-
- ENTRY(efi_call3)
-- pad_stack
-- subq $32, %rsp
-+ subq $40, %rsp
- mov %rcx, %r8
- /* mov %rdx, %rdx */
- mov %rsi, %rcx
- call *%rdi
-- addq $32, %rsp
-- unpad_stack
-+ addq $40, %rsp
- ret
-
- ENTRY(efi_call4)
-- pad_stack
-- subq $32, %rsp
-+ subq $40, %rsp
- mov %r8, %r9
- mov %rcx, %r8
- /* mov %rdx, %rdx */
- mov %rsi, %rcx
- call *%rdi
-- addq $32, %rsp
-- unpad_stack
-+ addq $40, %rsp
- ret
-
- ENTRY(efi_call5)
-- pad_stack
-- subq $48, %rsp
-+ subq $40, %rsp
- mov %r9, 32(%rsp)
- mov %r8, %r9
- mov %rcx, %r8
- /* mov %rdx, %rdx */
- mov %rsi, %rcx
- call *%rdi
-- addq $48, %rsp
-- unpad_stack
-+ addq $40, %rsp
- ret
-
- ENTRY(efi_call6)
-- pad_stack
-- subq $48, %rsp
-- addq $48, %r11
-- addq %rsp, %r11
-- mov (%r11), %rax
-+ subq $56, %rsp
-+ mov 56+8(%rsp), %rax
- mov %rax, 40(%rsp)
- mov %r9, 32(%rsp)
- mov %r8, %r9
-@@ -168,20 +111,14 @@ ENTRY(efi_call6)
- /* mov %rdx, %rdx */
- mov %rsi, %rcx
- call *%rdi
-- addq $48, %rsp
-- unpad_stack
-+ addq $56, %rsp
- ret
-
- ENTRY(efi_call7)
-- pad_stack
-- subq $64, %rsp
-- addq $64, %r11
-- addq $8, %r11
-- addq %rsp, %r11
-- mov (%r11), %rax
-+ subq $56, %rsp
-+ mov 56+16(%rsp), %rax
- mov %rax, 48(%rsp)
-- subq $8, %r11
-- mov (%r11), %rax
-+ mov 56+8(%rsp), %rax
- mov %rax, 40(%rsp)
- mov %r9, 32(%rsp)
- mov %r8, %r9
-@@ -189,23 +126,16 @@ ENTRY(efi_call7)
- /* mov %rdx, %rdx */
- mov %rsi, %rcx
- call *%rdi
-- addq $64, %rsp
-- unpad_stack
-+ addq $56, %rsp
- ret
-
- ENTRY(efi_call8)
-- pad_stack
-- subq $64, %rsp
-- addq $64, %r11
-- addq $16, %r11
-- addq %rsp, %r11
-- mov (%r11), %rax
-+ subq $72, %rsp
-+ mov 72+24(%rsp), %rax
- mov %rax, 56(%rsp)
-- subq $8, %r11
-- mov (%r11), %rax
-+ mov 72+16(%rsp), %rax
- mov %rax, 48(%rsp)
-- subq $8, %r11
-- mov (%r11), %rax
-+ mov 72+8(%rsp), %rax
- mov %rax, 40(%rsp)
- mov %r9, 32(%rsp)
- mov %r8, %r9
-@@ -213,26 +143,18 @@ ENTRY(efi_call8)
- /* mov %rdx, %rdx */
- mov %rsi, %rcx
- call *%rdi
-- addq $64, %rsp
-- unpad_stack
-+ addq $72, %rsp
- ret
-
- ENTRY(efi_call9)
-- pad_stack
-- subq $80, %rsp
-- addq $80, %r11
-- addq $24, %r11
-- addq %rsp, %r11
-- mov (%r11), %rax
-+ subq $72, %rsp
-+ mov 72+32(%rsp), %rax
- mov %rax, 64(%rsp)
-- subq $8, %r11
-- mov (%r11), %rax
-+ mov 72+24(%rsp), %rax
- mov %rax, 56(%rsp)
-- subq $8, %r11
-- mov (%r11), %rax
-+ mov 72+16(%rsp), %rax
- mov %rax, 48(%rsp)
-- subq $8, %r11
-- mov (%r11), %rax
-+ mov 72+8(%rsp), %rax
- mov %rax, 40(%rsp)
- mov %r9, 32(%rsp)
- mov %r8, %r9
-@@ -240,29 +162,20 @@ ENTRY(efi_call9)
- /* mov %rdx, %rdx */
- mov %rsi, %rcx
- call *%rdi
-- addq $80, %rsp
-- unpad_stack
-+ addq $72, %rsp
- ret
-
- ENTRY(efi_call10)
-- pad_stack
-- subq $80, %rsp
-- addq $80, %r11
-- addq $32, %r11
-- addq %rsp, %r11
-- mov (%r11), %rax
-+ subq $88, %rsp
-+ mov 88+40(%rsp), %rax
- mov %rax, 72(%rsp)
-- subq $8, %r11
-- mov (%r11), %rax
-+ mov 88+32(%rsp), %rax
- mov %rax, 64(%rsp)
-- subq $8, %r11
-- mov (%r11), %rax
-+ mov 88+24(%rsp), %rax
- mov %rax, 56(%rsp)
-- subq $8, %r11
-- mov (%r11), %rax
-+ mov 88+16(%rsp), %rax
- mov %rax, 48(%rsp)
-- subq $8, %r11
-- mov (%r11), %rax
-+ mov 88+8(%rsp), %rax
- mov %rax, 40(%rsp)
- mov %r9, 32(%rsp)
- mov %r8, %r9
-@@ -270,8 +183,7 @@ ENTRY(efi_call10)
- /* mov %rdx, %rdx */
- mov %rsi, %rcx
- call *%rdi
-- addq $80, %rsp
-- unpad_stack
-+ addq $88, %rsp
- ret
-
- #endif