Skip to contentSkip to conversation

gnu-efi: copy header files for x32 build

PATCH In review Saul Wold 3 participants 5 messages Apr 10, 2017

lore
Share & tools
lore

Saul Wold

author
#0 lore raw

PATCH 1/1 gnu-efi: copy header files for x32 build

Gnu-efi needs to be build for 64bit since it is a boot time tool. It needs these 2 headers to be in 64 bit versions, we can use the existing 32bit ones as there is not really any difference.

[YOCTO #11051]

---
 meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb | 5 +++++
 1 file changed, 5 insertions(+)
meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb +5 -0
index f46381d..6f235b7 100644
@@ -24,6 +24,11 @@ SRC_URI[sha256sum] = "bd8fcd5914f18fc0e4ba948ab03b00013e528504f529c60739b748f6ef
 COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"
 COMPATIBLE_HOST_armv4 = 'null'
 
+do_configure_linux-gnux32_prepend() {
+	cp ${STAGING_INCDIR}/gnu/stubs-x32.h ${STAGING_INCDIR}/gnu/stubs-64.h
+	cp ${STAGING_INCDIR}/bits/long-double-32.h ${STAGING_INCDIR}/bits/long-double-64.h
+}
+
 def gnu_efi_arch(d):
     import re
     tarch = d.getVar("TARGET_ARCH")
Signature · 1 line
2.7.4
#1 lore raw
Quoted 16 lines · Saul Wold

Gnu-efi needs to be build for 64bit since it is a boot time tool. It needs these 2 headers to be in 64 bit versions, we can use the existing 32bit ones as there is not really any difference.

[YOCTO #11051]

---
 meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb | 5 +++++
 1 file changed, 5 insertions(+)
meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb +0 -0
index f46381d..6f235b7 100644

meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb SRC_URI[sha256sum] = "bd8fcd5914f18fc0e4ba948ab03b00013e528504f529c60739b748f6ef · line 31

Quoted 8 lines
meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb +5 -0
@@ -24,6 +24,11 @@ SRC_URI[sha256sum] = "bd8fcd5914f18fc0e4ba948ab03b00013e528504f529c60739b748f6ef
 COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"
 COMPATIBLE_HOST_armv4 = 'null'
 
+do_configure_linux-gnux32_prepend() {
+	cp ${STAGING_INCDIR}/gnu/stubs-x32.h ${STAGING_INCDIR}/gnu/stubs-64.h
+	cp ${STAGING_INCDIR}/bits/long-double-32.h ${STAGING_INCDIR}/bits/long-double-64.h
+}
+

making long-double-32.h pretend long-double-64.h seems wrong to me. but if you were to do that then symlinking might be better

Quoted 4 lines
meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb +0 -0
 def gnu_efi_arch(d):
     import re
     tarch = d.getVar("TARGET_ARCH")
author
#2 lore raw
Quoted 28 lines · Khem Raj
Quoted 26 lines · Saul Wold

Gnu-efi needs to be build for 64bit since it is a boot time tool. It
needs these 2 headers to be in 64 bit versions, we can use the existing
32bit ones as there is not really any difference.

[YOCTO #11051]

---
 meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb | 5 +++++

 1 file changed, 5 insertions(+)
meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb +0 -0
index f46381d..6f235b7 100644
@@ -24,6 +24,11 @@ SRC_URI[sha256sum] =

"bd8fcd5914f18fc0e4ba948ab03b00013e528504f529c60739b748f6ef COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux" COMPATIBLE_HOST_armv4 = 'null'

meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb +2 -0
+do_configure_linux-gnux32_prepend() {
+	cp ${STAGING_INCDIR}/gnu/stubs-x32.h
Quoted 9 lines

meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb SRC_URI[sha256sum] = "bd8fcd5914f18fc0e4ba948ab03b00013e528504f529c60739b748f6ef · line 31

Quoted 5 lines

${STAGING_INCDIR}/gnu/stubs-64.h

meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb +1 -0
+	cp ${STAGING_INCDIR}/bits/long-double-32.h

${STAGING_INCDIR}/bits/long-double-64.h

meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb +2 -0
+}
+

making long-double-32.h pretend long-double-64.h seems wrong to me. but
if you were to do that then symlinking might be better

I guess I could symlink it, as it turns out with glibc it's an empty header file other than boilerplate, I did not check musl, which I guess I will do now!

Even the stubs file is pretty much the same file.

Sau!

Quoted 6 lines
Quoted 5 lines

 def gnu_efi_arch(d):
     import re
     tarch = d.getVar("TARGET_ARCH")

#3 lore raw
Quoted 40 lines · Saul Wold
Quoted 30 lines · Khem Raj
Quoted 27 lines · Saul Wold

Gnu-efi needs to be build for 64bit since it is a boot time tool. It
needs these 2 headers to be in 64 bit versions, we can use the existing
32bit ones as there is not really any difference.

[YOCTO #11051]

---
 meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb | 5 +++++

 1 file changed, 5 insertions(+)
meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb +0 -0
index f46381d..6f235b7 100644
@@ -24,6 +24,11 @@ SRC_URI[sha256sum] =

"bd8fcd5914f18fc0e4ba948ab03b00013e528504f529c60739b748f6ef COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux" COMPATIBLE_HOST_armv4 = 'null'

meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb +2 -0
+do_configure_linux-gnux32_prepend() {
+	cp ${STAGING_INCDIR}/gnu/stubs-x32.h
Quoted 9 lines

meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb SRC_URI[sha256sum] = "bd8fcd5914f18fc0e4ba948ab03b00013e528504f529c60739b748f6ef · line 31

Quoted 5 lines

${STAGING_INCDIR}/gnu/stubs-64.h

meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb +1 -0
+	cp ${STAGING_INCDIR}/bits/long-double-32.h

${STAGING_INCDIR}/bits/long-double-64.h

meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb +2 -0
+}
+

making long-double-32.h pretend long-double-64.h seems wrong to me. but
if you were to do that then symlinking might be better

Quoted 6 lines

I guess I could symlink it, as it turns out with glibc it's an empty header file other than boilerplate, I did not check musl, which I guess
I will do now!

Even the stubs file is pretty much the same file.

FWIW, the copy makes the task re-executable. If you make symlinks, the code gets a bit more ugly so the task can be re-executed.

Cheers,

Richard

#4 lore raw
Quoted 46 lines · Richard Purdie
Quoted 45 lines · Saul Wold
Quoted 28 lines · Khem Raj
Quoted 25 lines · Saul Wold

Gnu-efi needs to be build for 64bit since it is a boot time tool. It
needs these 2 headers to be in 64 bit versions, we can use the existing
32bit ones as there is not really any difference.

[YOCTO #11051]

---
 meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb | 5 +++++
 1 file changed, 5 insertions(+)
meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb +0 -0
index f46381d..6f235b7 100644
@@ -24,6 +24,11 @@ SRC_URI[sha256sum] =

"bd8fcd5914f18fc0e4ba948ab03b00013e528504f529c60739b748f6ef
COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux" COMPATIBLE_HOST_armv4 = 'null'

Quoted 11 lines

meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb SRC_URI[sha256sum] = "bd8fcd5914f18fc0e4ba948ab03b00013e528504f529c60739b748f6ef · line 31

Quoted 7 lines
meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb +2 -0
+do_configure_linux-gnux32_prepend() {
+	cp ${STAGING_INCDIR}/gnu/stubs-x32.h

${STAGING_INCDIR}/gnu/stubs-64.h

meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb +1 -0
+	cp ${STAGING_INCDIR}/bits/long-double-32.h

${STAGING_INCDIR}/bits/long-double-64.h

meta/recipes-bsp/gnu-efi/gnu-efi_3.0.5.bb +2 -0
+}
+

making long-double-32.h pretend long-double-64.h seems wrong to me. but
if you were to do that then symlinking might be better

I guess I could symlink it, as it turns out with glibc it's an empty header file other than boilerplate, I did not check musl, which I guess
I will do now!

Quoted 5 lines
Quoted 1 line

Even the stubs file is pretty much the same file.

FWIW, the copy makes the task re-executable. If you make symlinks, the code gets a bit more ugly so the task can be re-executed.

ln -sf ?

Quoted 4 lines

Cheers,

Richard