[OE-core] [PATCH] glibc: add more Imagination Meta relocation to elf.h

Ross Burton ross.burton at intel.com
Mon Jul 11 21:07:16 UTC 2016


glibc master added the EM_METAG tag but didn't add the relocation defines.
However the kernel tooling only checks for EM_METAG when defining its own values
so scripts/recordmcount ends up using R_META_* symbols without their definition.

Whilst the kernel can and should be fixed, this breaks all users of recordmcount
so patch elf.h to add the values.

Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 meta/recipes-core/glibc/glibc/elf-meta.patch | 32 ++++++++++++++++++++++++++++
 meta/recipes-core/glibc/glibc_2.24.bb        |  1 +
 2 files changed, 33 insertions(+)
 create mode 100644 meta/recipes-core/glibc/glibc/elf-meta.patch

diff --git a/meta/recipes-core/glibc/glibc/elf-meta.patch b/meta/recipes-core/glibc/glibc/elf-meta.patch
new file mode 100644
index 0000000..fab66d7
--- /dev/null
+++ b/meta/recipes-core/glibc/glibc/elf-meta.patch
@@ -0,0 +1,32 @@
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton at intel.com>
+
+From a495656665cd4a4f97744741a4741eafa621d65b Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton at intel.com>
+Date: Mon, 11 Jul 2016 16:57:38 +0100
+Subject: [PATCH] elf.h: add relocations for Imagination META
+
+Adding EM_METAG but not the relocations means the kernel doesn't compile as it
+guards its own declarations on the presence of EM_METAG.
+---
+ elf/elf.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/elf/elf.h b/elf/elf.h
+index b6112d9..69e85a7 100644
+--- a/elf/elf.h
++++ b/elf/elf.h
+@@ -3677,6 +3677,10 @@ enum
+ 
+ #define R_TILEGX_NUM		130
+ 
++/* Imagination META relocs */
++#define R_METAG_ADDR32		2
++#define R_METAG_NONE		3
++
+ /* BPF specific declarations.  */
+ 
+ #define R_BPF_NONE		0	/* No reloc */
+-- 
+2.8.1
+
diff --git a/meta/recipes-core/glibc/glibc_2.24.bb b/meta/recipes-core/glibc/glibc_2.24.bb
index f0c6a03..456f206 100644
--- a/meta/recipes-core/glibc/glibc_2.24.bb
+++ b/meta/recipes-core/glibc/glibc_2.24.bb
@@ -37,6 +37,7 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
            file://0023-eglibc-Install-PIC-archives.patch \
            file://0024-eglibc-Forward-port-cross-locale-generation-support.patch \
            file://0025-Define-DUMMY_LOCALE_T-if-not-defined.patch \
+           file://elf-meta.patch \
 "
 
 SRC_URI += "\
-- 
2.8.1




More information about the Openembedded-core mailing list