diff options
4 files changed, 132 insertions, 1 deletions
diff --git a/meta-aarch64/recipes-extended/libhugetlbfs/libhugetlbfs/cross-compile.patch b/meta-aarch64/recipes-extended/libhugetlbfs/libhugetlbfs/cross-compile.patch new file mode 100644 index 00000000..f38a4b03 --- /dev/null +++ b/meta-aarch64/recipes-extended/libhugetlbfs/libhugetlbfs/cross-compile.patch @@ -0,0 +1,77 @@ +Index: git/Makefile +=================================================================== +--- git.orig/Makefile ++++ git/Makefile +@@ -37,60 +37,60 @@ ARCH = $(shell uname -m | sed -e s/i.86/ + CUSTOM_LDSCRIPTS = yes + + ifeq ($(ARCH),ppc64) +-CC64 = gcc -m64 ++CC64 = $(CC) -m64 + ELF64 = elf64ppc + TMPLIB64 = lib64 + TMPLIB32 = lib + ifneq ($(BUILDTYPE),NATIVEONLY) +-CC32 = gcc -m32 ++CC32 = $(CC) -m32 + ELF32 = elf32ppclinux + endif + else + ifeq ($(ARCH),ppc) +-CC32 = gcc -m32 ++CC32 = $(CC) -m32 + ELF32 = elf32ppclinux + TMPLIB32 = lib + else + ifeq ($(ARCH),armv7l) +-CC32 = gcc ++CC32 = $(CC) + TMPLIB32 = lib + ELF32 += armelf_linux_eabi + CUSTOM_LDSCRIPTS = no + else + ifeq ($(ARCH),aarch64) +-CC64 = gcc ++CC64 = $(CC) + ELF64 = aarch64elf_linux + TMPLIB64 = lib64 + CUSTOM_LDSCRIPTS = no + else + ifeq ($(ARCH),i386) +-CC32 = gcc ++CC32 = $(CC) + ELF32 = elf_i386 + TMPLIB32 = lib + else + ifeq ($(ARCH),x86_64) +-CC64 = gcc -m64 ++CC64 = $(CC) -m64 + ELF64 = elf_x86_64 + TMPLIB64 = lib64 + TMPLIB32 = lib + ifneq ($(BUILDTYPE),NATIVEONLY) +-CC32 = gcc -m32 ++CC32 = $(CC) -m32 + ELF32 = elf_i386 + endif + else + ifeq ($(ARCH),ia64) +-CC64 = gcc ++CC64 = $(CC) + TMPLIB64 = lib64 + CFLAGS += -DNO_ELFLINK + else + ifeq ($(ARCH),sparc64) +-CC64 = gcc -m64 ++CC64 = $(CC) -m64 + TMPLIB64 = lib64 + CFLAGS += -DNO_ELFLINK + else + ifeq ($(ARCH),s390x) +-CC64 = gcc -m64 +-CC32 = gcc -m31 ++CC64 = $(CC) -m64 ++CC32 = $(CC) -m31 + ELF32 = elf_s390 + ELF64 = elf64_s390 + TMPLIB64 = lib64 diff --git a/meta-aarch64/recipes-extended/libhugetlbfs/libhugetlbfs/install64-fix.patch b/meta-aarch64/recipes-extended/libhugetlbfs/libhugetlbfs/install64-fix.patch new file mode 100644 index 00000000..8a229ff2 --- /dev/null +++ b/meta-aarch64/recipes-extended/libhugetlbfs/libhugetlbfs/install64-fix.patch @@ -0,0 +1,13 @@ +Index: git/tests/Makefile +=================================================================== +--- git.orig/tests/Makefile ++++ git/tests/Makefile +@@ -292,7 +292,7 @@ obj64/install: + $(INSTALL) -m 755 wrapper-utils.sh $(DESTDIR)$(INST_TESTSDIR64)/obj64 + $(INSTALL) -m 755 $(HELPERS:%=obj64/%) $(DESTDIR)$(INST_TESTSDIR64)/obj64 + $(INSTALL) -m 755 $(HELPER_LIBS:%=obj64/%) $(DESTDIR)$(INST_TESTSDIR64)/obj64 +- $(INSTALL) -m 755 $(TESTS_64:%=obj64/%) $(DESTDIR)$(INST_TESTSDIR64)/obj64 ++# $(INSTALL) -m 755 $(TESTS_64:%=obj64/%) $(DESTDIR)$(INST_TESTSDIR64)/obj64 + $(INSTALL) -m 755 run_tests.py $(DESTDIR)$(INST_TESTSDIR64) + + install: $(OBJDIRS:%=%/install) diff --git a/meta-aarch64/recipes-extended/libhugetlbfs/libhugetlbfs_2.16.bb b/meta-aarch64/recipes-extended/libhugetlbfs/libhugetlbfs_2.16.bb new file mode 100644 index 00000000..a67eeff1 --- /dev/null +++ b/meta-aarch64/recipes-extended/libhugetlbfs/libhugetlbfs_2.16.bb @@ -0,0 +1,41 @@ +DESCRIPTION = " libhugetlbfs is a library which provides easy access to huge \ +pages of memory. It is a wrapper for the hugetlbfs file system. Applications \ +can use huge pages to fulfill malloc() requests without being recompiled by \ +using LD_PRELOAD. Alternatively, applications can be linked against \ +libhugetlbfs without source modifications to load BSS or BSS, data, and \ +text segments into large pages." +SUMMARY = "A library which provides easy access to huge pages of memory" +HOMEPAGE = "http://libhugetlbfs.sourceforge.net/" +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1" + +SRCREV = "${AUTOREV}" +PV = "2.16+git${SRCPV}" +PR = "r1" + +SRC_URI = "git://git.linaro.org/people/stevecapper/libhugetlbfs.git;branch=aarch64-support \ + file://cross-compile.patch \ + file://install64-fix.patch" + +S = "${WORKDIR}/git" + +LIBARGS_aarch64 = "LIB32=lib32 LIB64=${baselib} V=1" + +do_compile() { + ${MAKE} ARCH=${HOST_ARCH} ${LIBARGS} +} + +do_install() { + ${MAKE} install ARCH=${HOST_ARCH} PREFIX=${prefix} DESTDIR=${D} ${LIBARGS} + ${MAKE} install-tests ARCH=${HOST_ARCH} PREFIX=${prefix} DESTDIR=${D} ${LIBARGS} + + # nuke the perl libraries + rm -rf ${D}${libdir}/perl5 + + # nuke oprofile scripts + rm -f ${D}${bindir}/oprofile_* +} + +RDEPENDS_${PN} = "python-resource python-subprocess" + +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" diff --git a/meta-linaro/recipes-linaro/images/linaro-image-common.inc b/meta-linaro/recipes-linaro/images/linaro-image-common.inc index 294ae6ac..ffe16869 100644 --- a/meta-linaro/recipes-linaro/images/linaro-image-common.inc +++ b/meta-linaro/recipes-linaro/images/linaro-image-common.inc @@ -11,7 +11,7 @@ IMAGE_INSTALL += " \ bash \ " -IMAGE_INSTALL_append_aarch64 += "perf" +IMAGE_INSTALL_append_aarch64 += "perf libhugetlbfs" SDK_IMAGE_INSTALL += "\ acpica \ |