summaryrefslogtreecommitdiffstats
path: root/import-layers/yocto-poky/meta/recipes-core/glibc/ldconfig-native-2.12.1/add-64-bit-flag-for-ELF64-entries.patch
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/yocto-poky/meta/recipes-core/glibc/ldconfig-native-2.12.1/add-64-bit-flag-for-ELF64-entries.patch')
-rw-r--r--import-layers/yocto-poky/meta/recipes-core/glibc/ldconfig-native-2.12.1/add-64-bit-flag-for-ELF64-entries.patch116
1 files changed, 0 insertions, 116 deletions
diff --git a/import-layers/yocto-poky/meta/recipes-core/glibc/ldconfig-native-2.12.1/add-64-bit-flag-for-ELF64-entries.patch b/import-layers/yocto-poky/meta/recipes-core/glibc/ldconfig-native-2.12.1/add-64-bit-flag-for-ELF64-entries.patch
deleted file mode 100644
index f4e38d425..000000000
--- a/import-layers/yocto-poky/meta/recipes-core/glibc/ldconfig-native-2.12.1/add-64-bit-flag-for-ELF64-entries.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From 9d62544090b08849218cd1fc52a36cdd5d90363e Mon Sep 17 00:00:00 2001
-From: Yuanjie Huang <yuanjie.huang@windriver.com>
-Date: Fri, 24 Apr 2015 03:29:31 +0000
-Subject: [PATCH] Add 64-bit flag for ELF64 entries.
-
-ldconfig-native was grepped from an old version of glibc, and its output
-lacks neccessary 64bit flag in entries.
-Due to this defect, ctypes.util.find_library() python function fails to
-detect any library due to the old file format that ldconfig-native
-creates. This fix sets architecture-dependent 64bit flags for 64-bit ELF.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
----
- cache.c | 4 ++++
- ldconfig.h | 4 ++++
- readelflib.c | 34 ++++++++++++++++++++++++++++++++++
- 3 files changed, 42 insertions(+)
-
-diff --git a/cache.c b/cache.c
-index a904d44..c4f5411 100644
---- a/cache.c
-+++ b/cache.c
-@@ -121,6 +121,10 @@ print_entry (const char *lib, int flag, unsigned int osversion,
- break;
- case FLAG_MIPS64_LIBN64:
- fputs (",64bit", stdout);
-+ break;
-+ case FLAG_AARCH64_LIB64:
-+ fputs (",AArch64", stdout);
-+ break;
- case 0:
- break;
- default:
-diff --git a/ldconfig.h b/ldconfig.h
-index fadd5ec..6a8a750 100644
---- a/ldconfig.h
-+++ b/ldconfig.h
-@@ -34,6 +34,10 @@
- #define FLAG_POWERPC_LIB64 0x0500
- #define FLAG_MIPS64_LIBN32 0x0600
- #define FLAG_MIPS64_LIBN64 0x0700
-+#define FLAG_X8664_LIBX32 0x0800
-+#define FLAG_ARM_LIBHF 0x0900
-+#define FLAG_AARCH64_LIB64 0x0a00
-+#define FLAG_ARM_LIBSF 0x0b00
-
- /* Name of auxiliary cache. */
- #define _PATH_LDCONFIG_AUX_CACHE "/var/cache/ldconfig/aux-cache"
-diff --git a/readelflib.c b/readelflib.c
-index 0bf0de3..6e87afc 100644
---- a/readelflib.c
-+++ b/readelflib.c
-@@ -28,6 +28,11 @@
-
- #include "endian_extra.h"
-
-+/* Work-around for old host that does not have AArch64 defined in elf.h. */
-+#ifndef EM_AARCH64
-+#define EM_AARCH64 183 /* ARM AARCH64 */
-+#endif
-+
- #undef check_ptr
- #define check_ptr(ptr) \
- do \
-@@ -290,6 +295,48 @@ process_elf_file64 (const char *file_name, const char *lib, int *flag,
- libc5/libc6. */
- *flag = FLAG_ELF;
-
-+ /* Set flags according to information in ELF header to align with target
-+ ldconfig */
-+ switch (elf_header->e_machine)
-+ {
-+ case EM_IA_64:
-+ /* Intel 64bit libraries are always libc.so.6+. */
-+ /* see sysdeps/unix/sysv/linux/ia64/readelflib.c */
-+ *flag |= FLAG_IA64_LIB64|FLAG_ELF_LIBC6;
-+ break;
-+ case EM_X86_64:
-+ /* X86-64 64bit libraries are always libc.so.6+. */
-+ /* see sysdeps/unix/sysv/linux/i386/readelflib.c */
-+ *flag |= FLAG_X8664_LIB64|FLAG_ELF_LIBC6;
-+ break;
-+ case EM_S390:
-+ /* S/390 64bit libraries are always libc.so.6+. */
-+ /* see sysdeps/unix/sysv/linux/s390/readelflib.c */
-+ *flag |= FLAG_S390_LIB64|FLAG_ELF_LIBC6;
-+ break;
-+ case EM_PPC64:
-+ /* PowerPC 64bit libraries are always libc.so.6+. */
-+ /* see sysdeps/unix/sysv/linux/powerpc/readelflib.c */
-+ *flag |= FLAG_POWERPC_LIB64|FLAG_ELF_LIBC6;
-+ break;
-+ case EM_MIPS:
-+ case EM_MIPS_RS3_LE:
-+ /* n64 libraries are always libc.so.6+. */
-+ /* NOTE: This does not correctly distinguish NAN2008 binaries and is possibly broken */
-+ /* see sysdeps/unix/sysv/linux/mips/readelflib.c */
-+ *flag |= FLAG_MIPS64_LIBN64|FLAG_ELF_LIBC6;
-+ break;
-+ case EM_AARCH64:
-+ /* AArch64 libraries are always libc.so.6+. */
-+ /* see sysdeps/unix/sysv/linux/arm/readelflib.c */
-+ *flag |= FLAG_AARCH64_LIB64|FLAG_ELF_LIBC6;
-+ break;
-+ default:
-+ error(0, 0, "%s is a 64-bit ELF for unknown machine %lx\n",
-+ file_name, (long)elf_header->e_machine);
-+ break;
-+ }
-+
- loadaddr = -1;
- dynamic_addr = 0;
- dynamic_size = 0;
---
OpenPOWER on IntegriCloud