From bc81a983b794e112d56f05765f08da85ecfef1da Mon Sep 17 00:00:00 2001 From: Yi Zhao Date: Mon, 7 Oct 2024 00:11:59 +0800 Subject: libhugetlbfs: upgrade 2.23 -> 2.24 ChangeLog: https://github.com/libhugetlbfs/libhugetlbfs/blob/2.24/NEWS * Refresh patches * Drop backport patches * Inherit autotools-brokensep since it has switched to automake * Add a patch to fix build on musl Test Results: $ mkdir -p /mnt/hugetlbfs $ mount -t hugetlbfs none /mnt/hugetlbfs $ hugeadm --pool-pages-min 2MB:64 $ hugeadm --pool-pages-max 2MB:256 $ cd /usr/lib/libhugetlbfs/tests/ $ ./run_tests.py PASS zero_filesize_segment (2M: 64): PASS test_root (2M: 64): PASS meminfo_nohuge (2M: 64): PASS gethugepagesize (2M: 64): PASS gethugepagesizes (2M: 64): PASS HUGETLB_VERBOSE=1 empty_mounts (2M: 64): PASS HUGETLB_VERBOSE=1 large_mounts (2M: 64): PASS find_path (2M: 64): PASS unlinked_fd (2M: 64): PASS readback (2M: 64): PASS truncate (2M: 64): PASS shared (2M: 64): PASS mprotect (2M: 64): PASS mlock (2M: 64): PASS misalign (2M: 64): PASS fallocate_basic.sh (2M: 64): PASS fallocate_align.sh (2M: 64): PASS ptrace-write-hugepage (2M: 64): PASS icache-hygiene (2M: 64): PASS slbpacaflush (2M: 64): PASS (inconclusive) straddle_4GB_static (2M: 64): PASS huge_at_4GB_normal_below_static (2M: 64): PASS huge_below_4GB_normal_above_static (2M: 64): PASS map_high_truncate_2 (2M: 64): PASS misaligned_offset (2M: 64): PASS (inconclusive) truncate_above_4GB (2M: 64): PASS brk_near_huge (2M: 64): Fatal glibc error: malloc.c:2599 (sysmalloc): assertion failed: (old_top == initial_top (av) && old_size = = 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0) task-size-overrun (2M: 64): PASS stack_grow_into_huge (2M: 64): PASS corrupt-by-cow-opt (2M: 64): PASS noresv-preserve-resv-page (2M: 64): PASS noresv-regarded-as-resv (2M: 64): PASS readahead_reserve.sh (2M: 64): PASS madvise_reserve.sh (2M: 64): PASS fadvise_reserve.sh (2M: 64): PASS mremap-expand-slice-collision.sh (2M: 64): PASS mremap-fixed-normal-near-huge.sh (2M: 64): PASS mremap-fixed-huge-near-normal.sh (2M: 64): PASS set shmmax limit to 67108864 shm-perms (2M: 64): PASS private (2M: 64): PASS fork-cow (2M: 64): PASS direct (2M: 64): PASS malloc (2M: 64): PASS LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes malloc (2M: 64): SKIPPED LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes HUGETLB_RESTRICT_EXE=unknown:none malloc (2M: 64): SKIPPED LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes HUGETLB_RESTRICT_EXE=unknown:malloc malloc (2M: 64): SKIPPED malloc_manysmall (2M: 64): PASS LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes malloc_manysmall (2M: 64): SKIPPED GLIBC_TUNABLES=glibc.malloc.tcache_count=0 heapshrink (2M: 64): PASS GLIBC_TUNABLES=glibc.malloc.tcache_count=0 LD_PRELOAD=libheapshrink.so heapshrink (2M: 64): PASS GLIBC_TUNABLES=glibc.malloc.tcache_count=0 LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes heapshrink (2M: 64): SKIPPED GLIBC_TUNABLES=glibc.malloc.tcache_count=0 LD_PRELOAD=libhugetlbfs.so libheapshrink.so HUGETLB_MORECORE=yes heapshrink (2M: 64): SKIPPED GLIBC_TUNABLES=glibc.malloc.tcache_count=0 LD_PRELOAD=libheapshrink.so HUGETLB_MORECORE=yes HUGETLB_MORECORE_SHRINK=yes heapshrink (2M: 64): SKIPPED GLIBC_TUNABLES=glibc.malloc.tcache_count=0 LD_PRELOAD=libhugetlbfs.so libheapshrink.so HUGETLB_MORECORE=yes HUGETLB_MORECORE_SHRINK=yes heapshrink (2M: 64): SKIPPED HUGETLB_VERBOSE=1 HUGETLB_MORECORE=yes heap-overflow (2M: 64): SKIPPED HUGETLB_VERBOSE=0 linkhuge_nofd (2M: 64): PASS LD_PRELOAD=libhugetlbfs.so HUGETLB_VERBOSE=0 linkhuge_nofd (2M: 64): PASS linkhuge (2M: 64): PASS LD_PRELOAD=libhugetlbfs.so linkhuge (2M: 64): PASS linkhuge_rw (2M: 64): PASS HUGETLB_ELFMAP=R linkhuge_rw (2M: 64): PASS HUGETLB_ELFMAP=W linkhuge_rw (2M: 64): PASS HUGETLB_ELFMAP=RW linkhuge_rw (2M: 64): PASS HUGETLB_ELFMAP=no linkhuge_rw (2M: 64): PASS HUGETLB_MINIMAL_COPY=no HUGETLB_ELFMAP=R linkhuge_rw (2M: 64): PASS HUGETLB_MINIMAL_COPY=no HUGETLB_ELFMAP=W linkhuge_rw (2M: 64): PASS HUGETLB_MINIMAL_COPY=no HUGETLB_ELFMAP=RW linkhuge_rw (2M: 64): PASS HUGETLB_ELFMAP=R HUGETLB_SHARE=0 linkhuge_rw (2M: 64): PASS HUGETLB_ELFMAP=R HUGETLB_SHARE=1 linkhuge_rw (2M: 64): PASS HUGETLB_ELFMAP=W HUGETLB_SHARE=0 linkhuge_rw (2M: 64): PASS HUGETLB_ELFMAP=W HUGETLB_SHARE=1 linkhuge_rw (2M: 64): PASS HUGETLB_ELFMAP=RW HUGETLB_SHARE=0 linkhuge_rw (2M: 64): PASS HUGETLB_ELFMAP=RW HUGETLB_SHARE=1 linkhuge_rw (2M: 64): PASS chunk-overcommit (2M: 64): PASS alloc-instantiate-race shared (2M: 64): PASS alloc-instantiate-race private (2M: 64): PASS truncate_reserve_wraparound (2M: 64): PASS truncate_sigbus_versus_oom (2M: 64): PASS get_huge_pages (2M: 64): PASS shmoverride_linked (2M: 64): PASS HUGETLB_SHM=yes shmoverride_linked (2M: 64): PASS LD_PRELOAD=libhugetlbfs.so shmoverride_unlinked (2M: 64): PASS LD_PRELOAD=libhugetlbfs.so HUGETLB_SHM=yes shmoverride_unlinked (2M: 64): PASS quota.sh (2M: 64): PASS counters.sh (2M: 64): PASS mmap-gettest 10 64 (2M: 64): PASS mmap-cow 63 64 (2M: 64): PASS set shmmax limit to 134217728 shm-fork 10 32 (2M: 64): PASS set shmmax limit to 134217728 shm-fork 10 64 (2M: 64): PASS set shmmax limit to 134217728 shm-getraw 64 /dev/full (2M: 64): PASS fallocate_stress.sh (2M: 64): PASS ********** TEST SUMMARY * 2M * 32-bit 64-bit * Total testcases: 0 91 * Skipped: 0 9 * PASS: 0 81 * FAIL: 0 0 * Killed by signal: 0 1 * Bad configuration: 0 0 * Expected FAIL: 0 0 * Unexpected PASS: 0 0 * Test not present: 0 0 * Strange test result: 0 0 ********** Signed-off-by: Yi Zhao Signed-off-by: Khem Raj (cherry picked from commit 47ee82f0842bbd3f150fb47821fedb376ec77f30) Signed-off-by: Armin Kuster --- ...ugetlbfs-fix-Ttext-segment-argument-on-AA.patch | 210 --------------------- ...page_setup_helper-use-python3-interpreter.patch | 29 --- .../0001-include-stddef.h-for-ptrdiff_t.patch | 25 --- ....py-not-use-hard-coded-path-.-obj-hugeadm.patch | 49 ----- ...ng-LIB32-and-LIB64-if-they-point-to-the-s.patch | 27 +++ ...file-Append-CPPFLAGS-rather-then-override.patch | 31 --- .../files/0002-Mark-glibc-specific-code-so.patch | 39 ---- ...s-avoid-search-host-library-path-for-cros.patch | 99 ++++++++++ ...id-sysconf-_SC_LEVEL2_CACHE_LINESIZE-on-l.patch | 48 ----- ...Makefile-install-static-4G-edge-testcases.patch | 30 +++ ....py-not-use-hard-coded-path-.-obj-hugeadm.patch | 49 +++++ ...0004-shm.c-Mark-glibc-specific-changes-so.patch | 30 --- .../files/0005-Include-dirent.h-for-ino_t.patch | 33 ---- ...s-elf_i386-avoid-search-host-library-path.patch | 41 ++++ .../files/0006-include-limits.h-for-PATH_MAX.patch | 42 ----- .../0006-include-stddef.h-for-ptrdiff_t.patch | 27 +++ .../files/0007-Mark-glibc-specific-code-so.patch | 42 +++++ ...id-sysconf-_SC_LEVEL2_CACHE_LINESIZE-on-l.patch | 50 +++++ ...0009-shm.c-Mark-glibc-specific-changes-so.patch | 32 ++++ .../files/0010-Include-dirent.h-for-ino_t.patch | 33 ++++ .../files/0011-include-limits.h-for-PATH_MAX.patch | 44 +++++ ...page_setup_helper-use-python3-interpreter.patch | 29 +++ ...3-elflink.c-include-libgen.h-for-basename.patch | 41 ++++ ...s-avoid-search-host-library-path-for-cros.patch | 97 ---------- ...s-elf_i386-avoid-search-host-library-path.patch | 39 ---- ...ng-LIB32-and-LIB64-if-they-point-to-the-s.patch | 24 --- ...Makefile-install-static-4G-edge-testcases.patch | 28 --- .../libhugetlbfs/libhugetlbfs_2.24.bb | 78 ++++++++ .../libhugetlbfs/libhugetlbfs_git.bb | 79 -------- 29 files changed, 622 insertions(+), 803 deletions(-) delete mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Revert-ld.hugetlbfs-fix-Ttext-segment-argument-on-AA.patch delete mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0001-huge_page_setup_helper-use-python3-interpreter.patch delete mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0001-include-stddef.h-for-ptrdiff_t.patch delete mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0001-skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch delete mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0001-tests-makefile-Append-CPPFLAGS-rather-then-override.patch delete mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0002-Mark-glibc-specific-code-so.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0002-libhugetlbfs-avoid-search-host-library-path-for-cros.patch delete mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0003-alloc.c-Avoid-sysconf-_SC_LEVEL2_CACHE_LINESIZE-on-l.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0003-tests-Makefile-install-static-4G-edge-testcases.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0004-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch delete mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0004-shm.c-Mark-glibc-specific-changes-so.patch delete mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0005-Include-dirent.h-for-ino_t.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0005-libhugetlbfs-elf_i386-avoid-search-host-library-path.patch delete mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0006-include-limits.h-for-PATH_MAX.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0006-include-stddef.h-for-ptrdiff_t.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0007-Mark-glibc-specific-code-so.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0008-alloc.c-Avoid-sysconf-_SC_LEVEL2_CACHE_LINESIZE-on-l.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0009-shm.c-Mark-glibc-specific-changes-so.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0010-Include-dirent.h-for-ino_t.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0011-include-limits.h-for-PATH_MAX.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0012-huge_page_setup_helper-use-python3-interpreter.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/0013-elflink.c-include-libgen.h-for-basename.patch delete mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-avoid-search-host-library-path-for-cros.patch delete mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-elf_i386-avoid-search-host-library-path.patch delete mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch delete mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/files/tests-Makefile-install-static-4G-edge-testcases.patch create mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_2.24.bb delete mode 100644 meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Revert-ld.hugetlbfs-fix-Ttext-segment-argument-on-AA.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Revert-ld.hugetlbfs-fix-Ttext-segment-argument-on-AA.patch deleted file mode 100644 index 0787ef27d2..0000000000 --- a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Revert-ld.hugetlbfs-fix-Ttext-segment-argument-on-AA.patch +++ /dev/null @@ -1,210 +0,0 @@ -From 0a163f60b4a316c4b6f1726a71c84755f3bd85e7 Mon Sep 17 00:00:00 2001 -From: Martin Jansa -Date: Wed, 16 Sep 2020 04:36:04 -0700 -Subject: [PATCH] Revert "ld.hugetlbfs: fix -Ttext-segment argument on AArch64" - -This reverts commit 852dcc963ce44861ed7c4e225aa92ff2b5b43579. - -* works around - ERROR: libhugetlbfs-1_2.23-r0 do_populate_sysroot: Fatal errors occurred in subprocesses: - Command '['arm-oe-linux-gnueabi-strip', '--remove-section=.comment', '--remove-section=.note', 'libhugetlbfs/1_2.23-r0/sysroot-destdir/usr/lib/libhugetlbfs/tests/obj32/linkhuge_rw']' returned non-zero exit status 1. - Subprocess output:arm-oe-linux-gnueabi-strip: - libhugetlbfs/1_2.23-r0/sysroot-destdir/usr/lib/libhugetlbfs/tests/obj32/stmuFa58: error: PHDR segment not covered by LOAD segment - arm-oe-linux-gnueabi-strip: libhugetlbfs/1_2.23-r0/sysroot-destdir/usr/lib/libhugetlbfs/tests/obj32/stmuFa58[.interp]: file format not recognized - -I don't see anything suspicious in the build (the same cmdline as in 2.22 -version), but it uses - -libhugetlbfs/1_2.22-r0-old/temp/log.do_compile:arm-oe-linux-gnueabi-gcc - -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 -Wl,-O1 --Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now --fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security --Werror=format-security -Werror=return-type ---sysroot=/jenkins/mjansa/build/ros/oe-melodic-gatesgarth/libhugetlbfs/1_2.22-r0/recipe-sysroot --I.. -O2 -Wall -g -o obj32/linkhuge_rw.o -c linkhuge_rw.c -libhugetlbfs/1_2.22-r0-old/temp/log.do_compile:arm-oe-linux-gnueabi-gcc - -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 -Wl,-O1 --Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now --fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security --Werror=format-security -Werror=return-type ---sysroot=/jenkins/mjansa/build/ros/oe-melodic-gatesgarth/libhugetlbfs/1_2.22-r0/recipe-sysroot --B./obj32 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now --ldl -L../obj32 -o obj32/linkhuge_rw -Wl,--no-as-needed -lpthread -ldl --lhugetlbfs_privutils -Wl,--hugetlbfs-align obj32/linkhuge_rw.o -obj32/testutils.o -libhugetlbfs/1_2.23-r0-new/temp/log.do_compile:arm-oe-linux-gnueabi-gcc - -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 -Wl,-O1 --Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now --fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security --Werror=format-security -Werror=return-type ---sysroot=/jenkins/mjansa/build/ros/oe-melodic-gatesgarth/libhugetlbfs/1_2.23-r0/recipe-sysroot --I.. -O2 -Wall -g -o obj32/linkhuge_rw.o -c linkhuge_rw.c -libhugetlbfs/1_2.23-r0-new/temp/log.do_compile:arm-oe-linux-gnueabi-gcc - -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 -Wl,-O1 --Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now --fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security --Werror=format-security -Werror=return-type ---sysroot=/jenkins/mjansa/build/ros/oe-melodic-gatesgarth/libhugetlbfs/1_2.23-r0/recipe-sysroot --B./obj32 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now --ldl -L../obj32 -o obj32/linkhuge_rw -Wl,--no-as-needed -lpthread -ldl --lhugetlbfs_privutils -Wl,--hugetlbfs-align obj32/linkhuge_rw.o -obj32/testutils.o - -And the git log between 2.22 and 2.23 is also very short and looks -reasonable. -https://github.com/libhugetlbfs/libhugetlbfs/compare/2.22...2.23 - -When checking with readelf -l it also shows the error about PHDR segment: -arm-oe-linux-gnueabi-readelf -l -./1_2.22-r0-old/sysroot-destdir/usr/lib/libhugetlbfs/tests/obj32/linkhuge_rw - -Elf file type is DYN (Shared object file) -Entry point 0x201105 -There are 10 program headers, starting at offset 52 - -Program Headers: - Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align - PHDR 0x000034 0x00200034 0x00200034 0x00140 0x00140 R 0x4 - INTERP 0x000174 0x00200174 0x00200174 0x0001d 0x0001d R 0x1 - [Requesting program interpreter: /usr/lib/ld-linux-armhf.so.3] - LOAD 0x000000 0x00200000 0x00200000 0x1222c 0x1222c R E 0x200000 - LOAD 0x1ffdf0 0x005ffdf0 0x005ffdf0 0x102e0 0x202ec RW 0x200000 - DYNAMIC 0x1ffdf8 0x005ffdf8 0x005ffdf8 0x00128 0x00128 RW 0x4 - NOTE 0x000194 0x00200194 0x00200194 0x00044 0x00044 R 0x4 - GNU_EH_FRAME 0x012224 0x00212224 0x00212224 0x00008 0x00008 R 0x4 - GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x10 - EXIDX 0x001c5c 0x00201c5c 0x00201c5c 0x00008 0x00008 R 0x4 - GNU_RELRO 0x1ffdf0 0x005ffdf0 0x005ffdf0 0x00210 0x00210 RW 0x4 - - Section to Segment mapping: - Segment Sections... - 00 - 01 .interp - 02 .interp .note.ABI-tag .note.gnu.build-id .dynsym .dynstr -.gnu.hash .gnu.version .gnu.version_r .rel.dyn .rel.plt .init .plt .text -.fini .ARM.extab .ARM.exidx .rodata .eh_frame .eh_frame_hdr - 03 .fini_array .init_array .dynamic .got .data .bss - 04 .dynamic - 05 .note.ABI-tag .note.gnu.build-id - 06 .eh_frame_hdr - 07 - 08 .ARM.extab .ARM.exidx - 09 .fini_array .init_array .dynamic .got - -arm-oe-linux-gnueabi-readelf -l -./1_2.23-r0-new/sysroot-destdir/usr/lib/libhugetlbfs/tests/obj32/linkhuge_rw - -Elf file type is DYN (Shared object file) -Entry point 0x31cd1 -There are 10 program headers, starting at offset 52 - -Program Headers: - Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align - PHDR 0x000000 0x00000000 0x00000000 0x00000 0x00000 R 0 -readelf: Error: the PHDR segment is not covered by a LOAD segment - INTERP 0x030d40 0x00030d40 0x00030d40 0x0001d 0x0001d R 0x1 - [Requesting program interpreter: /usr/lib/ld-linux-armhf.so.3] - LOAD 0x030d40 0x00030d40 0x00030d40 0x120b8 0x120b8 R E 0x200000 - LOAD 0x1ffdf0 0x003ffdf0 0x003ffdf0 0x102e0 0x202ec RW 0x200000 - DYNAMIC 0x1ffdf8 0x003ffdf8 0x003ffdf8 0x00128 0x00128 RW 0x4 - NOTE 0x030d60 0x00030d60 0x00030d60 0x00044 0x00044 R 0x4 - GNU_EH_FRAME 0x042df0 0x00042df0 0x00042df0 0x00008 0x00008 R 0x4 - GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x10 - EXIDX 0x032828 0x00032828 0x00032828 0x00008 0x00008 R 0x4 - GNU_RELRO 0x1ffdf0 0x003ffdf0 0x003ffdf0 0x00210 0x00210 RW 0x4 - - Section to Segment mapping: - Segment Sections... - 00 - 01 .interp - 02 .interp .note.ABI-tag .note.gnu.build-id .dynsym .dynstr -.gnu.hash .gnu.version .gnu.version_r .rel.dyn .rel.plt .init .plt .text -.fini .ARM.extab .ARM.exidx .rodata .eh_frame .eh_frame_hdr - 03 .fini_array .init_array .dynamic .got .data .bss - 04 .dynamic - 05 .note.ABI-tag .note.gnu.build-id - 06 .eh_frame_hdr - 07 - 08 .ARM.extab .ARM.exidx - 09 .fini_array .init_array .dynamic .got - -And the diff between these 2: - -1_2.22-r0-old/sysroot-destdir/usr/lib/libhugetlbfs/tests/obj32/linkhuge_rw.readelf -1_2.23-r0-new/sysroot-destdir/usr/lib/libhugetlbfs/tests/obj32/linkhuge_rw.readelf - Elf file type is DYN (Shared object file) --Entry point 0x201105 -+Entry point 0x31cd1 - There are 10 program headers, starting at offset 52 - - Program Headers: - Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align -- PHDR 0x000034 0x00200034 0x00200034 0x00140 0x00140 R 0x4 -- INTERP 0x000174 0x00200174 0x00200174 0x0001d 0x0001d R 0x1 -+ PHDR 0x000000 0x00000000 0x00000000 0x00000 0x00000 R 0 -+readelf: Error: the PHDR segment is not covered by a LOAD segment -+ INTERP 0x030d40 0x00030d40 0x00030d40 0x0001d 0x0001d R 0x1 - [Requesting program interpreter: /usr/lib/ld-linux-armhf.so.3] -- LOAD 0x000000 0x00200000 0x00200000 0x1222c 0x1222c R E 0x200000 -- LOAD 0x1ffdf0 0x005ffdf0 0x005ffdf0 0x102e0 0x202ec RW 0x200000 -- DYNAMIC 0x1ffdf8 0x005ffdf8 0x005ffdf8 0x00128 0x00128 RW 0x4 -- NOTE 0x000194 0x00200194 0x00200194 0x00044 0x00044 R 0x4 -- GNU_EH_FRAME 0x012224 0x00212224 0x00212224 0x00008 0x00008 R 0x4 -+ LOAD 0x030d40 0x00030d40 0x00030d40 0x120b8 0x120b8 R E 0x200000 -+ LOAD 0x1ffdf0 0x003ffdf0 0x003ffdf0 0x102e0 0x202ec RW 0x200000 -+ DYNAMIC 0x1ffdf8 0x003ffdf8 0x003ffdf8 0x00128 0x00128 RW 0x4 -+ NOTE 0x030d60 0x00030d60 0x00030d60 0x00044 0x00044 R 0x4 -+ GNU_EH_FRAME 0x042df0 0x00042df0 0x00042df0 0x00008 0x00008 R 0x4 - GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x10 -- EXIDX 0x001c5c 0x00201c5c 0x00201c5c 0x00008 0x00008 R 0x4 -- GNU_RELRO 0x1ffdf0 0x005ffdf0 0x005ffdf0 0x00210 0x00210 RW 0x4 -+ EXIDX 0x032828 0x00032828 0x00032828 0x00008 0x00008 R 0x4 -+ GNU_RELRO 0x1ffdf0 0x003ffdf0 0x003ffdf0 0x00210 0x00210 RW 0x4 - - Section to Segment mapping: - -Revert fixes this build issue, but I still don't see why it fails this way. - -Upstream-Status: Pending - -Signed-off-by: Martin Jansa - -# Please enter the commit message for your changes. Lines starting -# with '#' will be ignored, and an empty message aborts the commit. -# -# Date: Wed Sep 16 13:43:09 2020 +0200 -# -# On branch jansa/master -# Changes to be committed: -# new file: meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Revert-ld.hugetlbfs-fix-Ttext-segment-argument-on-AA.patch -# modified: meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb -# -# Untracked files: -# counts.txt -# diff -# log.svn -# log.svn2 -# wip/ -# ---- - ld.hugetlbfs | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/ld.hugetlbfs b/ld.hugetlbfs -index 5e4e497..6ee8238 100755 ---- a/ld.hugetlbfs -+++ b/ld.hugetlbfs -@@ -130,9 +130,7 @@ if [ "$HTLB_ALIGN" == "slice" ]; then - # targeting the ARM platform one needs to explicitly set the text segment offset - # otherwise it will be NULL. - case "$EMU" in -- armelf*_linux_eabi|aarch64elf*|aarch64linux*) -- printf -v TEXTADDR "%x" "$SLICE_SIZE" -- HTLBOPTS="$HTLBOPTS -Ttext-segment=$TEXTADDR" ;; -+ armelf*_linux_eabi|aarch64elf*|aarch64linux*) HTLBOPTS="$HTLBOPTS -Ttext-segment=$SLICE_SIZE" ;; - elf_i386) HTLBOPTS="$HTLBOPTS -Ttext-segment=0x08000000" ;; - elf64ppc|elf64lppc) - if [ "$MMU_TYPE" == "Hash" ] ; then --- -2.17.1 - diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-huge_page_setup_helper-use-python3-interpreter.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-huge_page_setup_helper-use-python3-interpreter.patch deleted file mode 100644 index e45f283b38..0000000000 --- a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-huge_page_setup_helper-use-python3-interpreter.patch +++ /dev/null @@ -1,29 +0,0 @@ -From b77c61de4d88d2c6e5d31f4f5a5877cc4c61272e Mon Sep 17 00:00:00 2001 -From: Andrey Zhizhikin -Date: Mon, 27 Jan 2020 17:27:55 +0000 -Subject: [PATCH] huge_page_setup_helper: use python3 interpreter - -Setup helper script is already prepared to be used with python3, use the -interpreter explicitly. This removes dependency to python2 and will not -fail the QA check. - -Upstream-Status: Inappropriate [OE-specific] - -Signed-off-by: Andrey Zhizhikin ---- - huge_page_setup_helper.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/huge_page_setup_helper.py b/huge_page_setup_helper.py -index a9ba2bf..7ba0c92 100755 ---- a/huge_page_setup_helper.py -+++ b/huge_page_setup_helper.py -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/env python3 - - # - # Tool to set up Linux large page support with minimal effort --- -2.17.1 - diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-include-stddef.h-for-ptrdiff_t.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-include-stddef.h-for-ptrdiff_t.patch deleted file mode 100644 index 914b0514f8..0000000000 --- a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-include-stddef.h-for-ptrdiff_t.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 351d1de09dd80049b7a2cb02c5750635d0389873 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 21 Jun 2018 19:25:57 -0700 -Subject: [PATCH] include stddef.h for ptrdiff_t - -Signed-off-by: Khem Raj - ---- -Upstream-Status: Pending - - morecore.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/morecore.c b/morecore.c -index 6563bbd..0eef782 100644 ---- a/morecore.c -+++ b/morecore.c -@@ -19,6 +19,7 @@ - - #define _GNU_SOURCE - -+#include - #include - #include - #include diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch deleted file mode 100644 index 83934abef8..0000000000 --- a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 0077532b07e268347cb8557be6d70148d5f0e840 Mon Sep 17 00:00:00 2001 -From: Ting Liu -Date: Wed, 21 Aug 2013 15:44:57 +0800 -Subject: [PATCH] run_test.py: not use hard coded path ../obj/hugeadm - -Hard coded path makes the script impossible to run out of source tree. -After 'make install', we can use hugeadm utility under DESTDIR. - -Upstream-Status: Submitted - -Signed-off-by: Ting Liu - -Update for 2.22. -Signed-off-by: Zheng Ruoqin - -Update to work for python3 -Signed-off-by: Changqing Li ---- - tests/run_tests.py | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/tests/run_tests.py b/tests/run_tests.py -index 018264d..0aabcd1 100755 ---- a/tests/run_tests.py -+++ b/tests/run_tests.py -@@ -245,9 +245,19 @@ def get_pagesizes(): - Use libhugetlbfs' hugeadm utility to get a list of page sizes that have - active mount points and at least one huge page allocated to the pool. - """ -+ local_env = os.environ.copy() -+ local_env["PATH"] = "../obj:%s" % local_env.get("PATH", "") - sizes = set() - out = "" -- (rc, out) = bash("../obj/hugeadm --page-sizes") -+ try: -+ p = subprocess.Popen("hugeadm --page-sizes", shell=True, env=local_env, stdout=subprocess.PIPE) -+ rc = p.wait() -+ except KeyboardInterrupt: -+ return sizes -+ except OSError: -+ return sizes -+ out = p.stdout.read().decode().strip() -+ - if rc != 0 or out == "": - return sizes - --- -2.7.4 - diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch new file mode 100644 index 0000000000..3dbc34d08d --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch @@ -0,0 +1,27 @@ +From b448672f1bc08dcef2ae07727ae6f124a3032a35 Mon Sep 17 00:00:00 2001 +From: Ting Liu +Date: Mon, 18 Jun 2012 16:37:05 +0800 +Subject: [PATCH] skip checking LIB32 and LIB64 if they point to the same place + +Upstream-Status: Inappropriate [oe-core specific] + +Signed-off-by: Ting Liu +--- + Makefile.in | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index 65ae5a4..25be577 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -196,7 +196,6 @@ REALLIB32 = $(realpath $(PREFIX)/$(LIB32)) + REALLIB64 = $(realpath $(PREFIX)/$(LIB64)) + ifneq ($(realpath $(PREFIX)),) + ifeq ($(REALLIB32),$(REALLIB64)) +-$(error LIB32 ($(PREFIX)/$(LIB32) to $(REALLIB32)) and LIB64 ($(PREFIX)/$(LIB64) to $(REALLIB64)) are resolving to the same place. Manually specify LIB32 and LIB64. e.g. make PREFIX=$(PREFIX) LIB32=lib32 LIB64=lib64) + endif + endif + +-- +2.25.1 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-tests-makefile-Append-CPPFLAGS-rather-then-override.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-tests-makefile-Append-CPPFLAGS-rather-then-override.patch deleted file mode 100644 index 78a4cb0fc2..0000000000 --- a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-tests-makefile-Append-CPPFLAGS-rather-then-override.patch +++ /dev/null @@ -1,31 +0,0 @@ -From b6dba773491bbb7b4664dacdd87a12af860f1bd8 Mon Sep 17 00:00:00 2001 -From: Oleksiy Obitotskyy -Date: Thu, 28 Jan 2021 05:43:33 -0800 -Subject: [PATCH] tests/makefile: Append CPPFLAGS rather then override - -CPPFLAGS overrided and we could miss some options needed. - -Upstream-Status: Submitted -Signed-off-by: Oleksiy Obitotskyy ---- - tests/Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/tests/Makefile b/tests/Makefile -index 0ca3716..d262932 100644 ---- a/tests/Makefile -+++ b/tests/Makefile -@@ -33,8 +33,8 @@ HELPERS = get_hugetlbfs_path compare_kvers - HELPER_LIBS = libheapshrink.so - BADTOOLCHAIN = bad-toolchain.sh - --CFLAGS = -O2 -Wall -g --CPPFLAGS = -I.. -+CFLAGS += -O2 -Wall -g -+CPPFLAGS += -I.. - STATIC_LIBHUGE = -Wl,--whole-archive -lhugetlbfs -Wl,--no-whole-archive - STATIC_LDLIBS = -Wl,--no-as-needed -lpthread - LDLIBS = $(STATIC_LDLIBS) -ldl -lhugetlbfs_privutils --- -2.26.2.Cisco - diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0002-Mark-glibc-specific-code-so.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0002-Mark-glibc-specific-code-so.patch deleted file mode 100644 index 7ad6c43eb1..0000000000 --- a/meta-oe/recipes-benchmark/libhugetlbfs/files/0002-Mark-glibc-specific-code-so.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 0f548286848c70aa325c6748d80e8651389b4938 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 21 Jun 2018 19:32:59 -0700 -Subject: [PATCH] Mark glibc specific code so - -Signed-off-by: Khem Raj - ---- -Upstream-Status: Pending - - morecore.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/morecore.c b/morecore.c -index 0eef782..d48509c 100644 ---- a/morecore.c -+++ b/morecore.c -@@ -364,6 +364,7 @@ void hugetlbfs_setup_morecore(void) - - INFO("setup_morecore(): heapaddr = 0x%lx\n", heapaddr); - -+#ifdef __GLIBC__ - heaptop = heapbase = (void *)heapaddr; - if (__hugetlb_opts.thp_morecore) - __morecore = &thp_morecore; -@@ -371,7 +372,6 @@ void hugetlbfs_setup_morecore(void) - __morecore = &hugetlbfs_morecore; - - /* Set some allocator options more appropriate for hugepages */ -- - if (__hugetlb_opts.shrink_ok) - mallopt(M_TRIM_THRESHOLD, hpage_size + hpage_size / 2); - else -@@ -381,4 +381,5 @@ void hugetlbfs_setup_morecore(void) - * This doesn't appear to prohibit malloc() from falling back - * to mmap() if we run out of hugepages. */ - mallopt(M_MMAP_MAX, 0); -+#endif - } diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0002-libhugetlbfs-avoid-search-host-library-path-for-cros.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0002-libhugetlbfs-avoid-search-host-library-path-for-cros.patch new file mode 100644 index 0000000000..1b99c007f5 --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0002-libhugetlbfs-avoid-search-host-library-path-for-cros.patch @@ -0,0 +1,99 @@ +From d3903cbe348c6ecb2f38b37f20dafa6b0ca3b114 Mon Sep 17 00:00:00 2001 +From: Chunrong Guo +Date: Sun, 8 Sep 2013 23:21:49 -0500 +Subject: [PATCH] libhugetlbfs: avoid search host library path for cross + compilation + +Upstream-Status: Inappropriate [oe-core specific] + +Signed-off-by: Chunrong Guo +--- + ldscripts/elf32ppclinux.xB | 2 +- + ldscripts/elf32ppclinux.xBDT | 2 +- + ldscripts/elf64ppc.xB | 2 +- + ldscripts/elf64ppc.xBDT | 2 +- + ldscripts/elf_x86_64.xB | 2 +- + ldscripts/elf_x86_64.xBDT | 2 +- + 6 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/ldscripts/elf32ppclinux.xB b/ldscripts/elf32ppclinux.xB +index 28ad88d..33d482d 100644 +--- a/ldscripts/elf32ppclinux.xB ++++ b/ldscripts/elf32ppclinux.xB +@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", + "elf32-powerpc") + OUTPUT_ARCH(powerpc:common) + ENTRY(_start) +-SEARCH_DIR("/usr/powerpc-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); ++/*SEARCH_DIR("/usr/powerpc-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");*/ + INPUT(-lhugetlbfs); + PHDRS + { +diff --git a/ldscripts/elf32ppclinux.xBDT b/ldscripts/elf32ppclinux.xBDT +index 497882b..823475e 100644 +--- a/ldscripts/elf32ppclinux.xBDT ++++ b/ldscripts/elf32ppclinux.xBDT +@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", + "elf32-powerpc") + OUTPUT_ARCH(powerpc:common) + ENTRY(_start) +-SEARCH_DIR("/usr/powerpc-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); ++/*SEARCH_DIR("/usr/powerpc-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");*/ + INPUT(-lhugetlbfs); + PHDRS + { +diff --git a/ldscripts/elf64ppc.xB b/ldscripts/elf64ppc.xB +index 1a9c1ab..8cc557d 100644 +--- a/ldscripts/elf64ppc.xB ++++ b/ldscripts/elf64ppc.xB +@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf64-powerpc", "elf64-powerpc", + "elf64-powerpc") + OUTPUT_ARCH(powerpc:common64) + ENTRY(_start) +-SEARCH_DIR("/usr/powerpc64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/powerpc64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); ++/*SEARCH_DIR("/usr/powerpc64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/powerpc64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");*/ + INPUT(-lhugetlbfs); + PHDRS + { +diff --git a/ldscripts/elf64ppc.xBDT b/ldscripts/elf64ppc.xBDT +index 5477294..53e0749 100644 +--- a/ldscripts/elf64ppc.xBDT ++++ b/ldscripts/elf64ppc.xBDT +@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf64-powerpc", "elf64-powerpc", + "elf64-powerpc") + OUTPUT_ARCH(powerpc:common64) + ENTRY(_start) +-SEARCH_DIR("/usr/powerpc64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/powerpc64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); ++/*SEARCH_DIR("/usr/powerpc64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/powerpc64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");*/ + INPUT( -lhugetlbfs ); + PHDRS + { +diff --git a/ldscripts/elf_x86_64.xB b/ldscripts/elf_x86_64.xB +index ed21a2c..ba50e9f 100644 +--- a/ldscripts/elf_x86_64.xB ++++ b/ldscripts/elf_x86_64.xB +@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", + "elf64-x86-64") + OUTPUT_ARCH(i386:x86-64) + ENTRY(_start) +-SEARCH_DIR("/usr/x86_64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); ++/*SEARCH_DIR("/usr/x86_64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");*/ + INPUT(-lhugetlbfs); + /* Do we need any of these for elf? + __DYNAMIC = 0; */ +diff --git a/ldscripts/elf_x86_64.xBDT b/ldscripts/elf_x86_64.xBDT +index 1855202..c62d245 100644 +--- a/ldscripts/elf_x86_64.xBDT ++++ b/ldscripts/elf_x86_64.xBDT +@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", + "elf64-x86-64") + OUTPUT_ARCH(i386:x86-64) + ENTRY(_start) +-SEARCH_DIR("/usr/x86_64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); ++/*SEARCH_DIR("/usr/x86_64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");*/ + INPUT(-lhugetlbfs); + /* Do we need any of these for elf? + __DYNAMIC = 0; */ +-- +2.25.1 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0003-alloc.c-Avoid-sysconf-_SC_LEVEL2_CACHE_LINESIZE-on-l.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0003-alloc.c-Avoid-sysconf-_SC_LEVEL2_CACHE_LINESIZE-on-l.patch deleted file mode 100644 index 858a8e511a..0000000000 --- a/meta-oe/recipes-benchmark/libhugetlbfs/files/0003-alloc.c-Avoid-sysconf-_SC_LEVEL2_CACHE_LINESIZE-on-l.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 9ff04d7acc700387e3837f8ab11a41efea5ee8b0 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 21 Jun 2018 19:44:26 -0700 -Subject: [PATCH] alloc.c: Avoid sysconf(_SC_LEVEL2_CACHE_LINESIZE) on linux - -musl does not have it - -Signed-off-by: Khem Raj - ---- -Upstream-Status: Pending - - alloc.c | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - -diff --git a/alloc.c b/alloc.c -index bce9464..cf7eb40 100644 ---- a/alloc.c -+++ b/alloc.c -@@ -245,6 +245,19 @@ void free_huge_pages(void *ptr) - __free_huge_pages(ptr, 1); - } - -+static size_t get_cacheline_size() { -+#if defined(__linux__) -+ FILE * fp = fopen("/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size", "r"); -+ unsigned int line_size = 0; -+ if (fp) { -+ fscanf(fp, "%d", &line_size); -+ fclose(fp); -+ } -+ return line_size; -+#else -+ return sysconf(_SC_LEVEL2_CACHE_LINESIZE); -+#endif -+} - /* - * Offset the buffer using bytes wasted due to alignment to avoid using the - * same cache lines for the start of every buffer returned by -@@ -261,7 +274,7 @@ void *cachecolor(void *buf, size_t len, size_t color_bytes) - - /* Lookup our cacheline size once */ - if (cacheline_size == 0) { -- cacheline_size = sysconf(_SC_LEVEL2_CACHE_LINESIZE); -+ cacheline_size = get_cacheline_size(); - linemod = time(NULL); - } - diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0003-tests-Makefile-install-static-4G-edge-testcases.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0003-tests-Makefile-install-static-4G-edge-testcases.patch new file mode 100644 index 0000000000..98cdf2f51c --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0003-tests-Makefile-install-static-4G-edge-testcases.patch @@ -0,0 +1,30 @@ +From 3e54866a0ea3c9e933e91213cbe6e55b7ff67b87 Mon Sep 17 00:00:00 2001 +From: Ting Liu +Date: Mon, 23 Sep 2013 08:00:55 +0000 +Subject: [PATCH] tests/Makefile: install static 4G edge testcases + +TESTS_64 is empty, install will fail due to missing file operand + +Upstream-Status: Submitted + +Signed-off-by: Ting Liu +--- + tests/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/Makefile.in b/tests/Makefile.in +index d33a228..d262932 100644 +--- a/tests/Makefile.in ++++ b/tests/Makefile.in +@@ -295,7 +295,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_STATIC:%=obj64/%_static) $(DESTDIR)$(INST_TESTSDIR64)/obj64 + $(INSTALL) -m 755 run_tests.py $(DESTDIR)$(INST_TESTSDIR64) + + install: $(OBJDIRS:%=%/install) +-- +2.25.1 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0004-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0004-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch new file mode 100644 index 0000000000..6b010365a0 --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0004-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch @@ -0,0 +1,49 @@ +From 86d3ebfc4da5ccbc82fdee4abaf2cbf758d82403 Mon Sep 17 00:00:00 2001 +From: Ting Liu +Date: Wed, 21 Aug 2013 15:44:57 +0800 +Subject: [PATCH] run_test.py: not use hard coded path ../obj/hugeadm + +Hard coded path makes the script impossible to run out of source tree. +After 'make install', we can use hugeadm utility under DESTDIR. + +Upstream-Status: Submitted + +Signed-off-by: Ting Liu + +Update for 2.22. +Signed-off-by: Zheng Ruoqin + +Update to work for python3 +Signed-off-by: Changqing Li +--- + tests/run_tests.py | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/tests/run_tests.py b/tests/run_tests.py +index 4793262..6cd0241 100755 +--- a/tests/run_tests.py ++++ b/tests/run_tests.py +@@ -250,9 +250,19 @@ def get_pagesizes(): + Use libhugetlbfs' hugeadm utility to get a list of page sizes that have + active mount points and at least one huge page allocated to the pool. + """ ++ local_env = os.environ.copy() ++ local_env["PATH"] = "../obj:%s" % local_env.get("PATH", "") + sizes = set() + out = "" +- (rc, out) = bash("../obj/hugeadm --page-sizes") ++ try: ++ p = subprocess.Popen("hugeadm --page-sizes", shell=True, env=local_env, stdout=subprocess.PIPE) ++ rc = p.wait() ++ except KeyboardInterrupt: ++ return sizes ++ except OSError: ++ return sizes ++ out = p.stdout.read().decode().strip() ++ + if rc != 0 or out == "": + return sizes + +-- +2.25.1 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0004-shm.c-Mark-glibc-specific-changes-so.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0004-shm.c-Mark-glibc-specific-changes-so.patch deleted file mode 100644 index c3f7b3e479..0000000000 --- a/meta-oe/recipes-benchmark/libhugetlbfs/files/0004-shm.c-Mark-glibc-specific-changes-so.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 9ce323432a7f4d99f617970c7e35b607b9bbf843 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 21 Jun 2018 19:48:04 -0700 -Subject: [PATCH] shm.c: Mark glibc specific changes so - -Signed-off-by: Khem Raj - ---- -Upstream-Status: Pending - - shm.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/shm.c b/shm.c -index 1f82cab..9447b63 100644 ---- a/shm.c -+++ b/shm.c -@@ -48,10 +48,11 @@ - * system shmget() may be performed without worry as there is no dynamic - * call chain. - */ -+#ifdef __GLIBC__ - extern void *dlsym (void *__restrict __handle, __const char *__restrict __name) - __attribute__((weak)) __THROW __nonnull ((2)); - extern char *dlerror (void) __attribute__((weak)) __THROW; -- -+#endif - - /* call syscall shmget through the generic syscall mechanism */ - static int syscall_shmget(key_t key, size_t size, int shmflg) diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0005-Include-dirent.h-for-ino_t.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0005-Include-dirent.h-for-ino_t.patch deleted file mode 100644 index 8bd1633392..0000000000 --- a/meta-oe/recipes-benchmark/libhugetlbfs/files/0005-Include-dirent.h-for-ino_t.patch +++ /dev/null @@ -1,33 +0,0 @@ -From bb8c370aaaf25b1fe1fbf984e73177018026cb91 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 21 Jun 2018 19:51:02 -0700 -Subject: [PATCH] Include dirent.h for ino_t - -Fixes -error: unknown type name 'ino_t'; did you mean 'int'? - -Signed-off-by: Khem Raj - -Update for 2.22. -Signed-off-by: Zheng Ruoqin ---- -Upstream-Status: Pending - - tests/hugetests.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tests/hugetests.h b/tests/hugetests.h -index bc4e16a..fbe4dc0 100644 ---- a/tests/hugetests.h -+++ b/tests/hugetests.h -@@ -22,6 +22,7 @@ - - #include - #include -+#include - #include - - #include "libhugetlbfs_privutils.h" --- -2.7.4 - diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0005-libhugetlbfs-elf_i386-avoid-search-host-library-path.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0005-libhugetlbfs-elf_i386-avoid-search-host-library-path.patch new file mode 100644 index 0000000000..fc8776af66 --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0005-libhugetlbfs-elf_i386-avoid-search-host-library-path.patch @@ -0,0 +1,41 @@ +From 8c7a379876e3c7a32bef8620f94a85d20b7b186f Mon Sep 17 00:00:00 2001 +From: Jackie Huang +Date: Tue, 4 Nov 2014 00:49:11 -0800 +Subject: [PATCH] libhugetlbfs/elf_i386: avoid search host library path for + cross compilation + +Upstream-Status: Inappropriate [cross compile specific] + +Signed-off-by: Jackie Huang +--- + ldscripts/elf_i386.xB | 1 - + ldscripts/elf_i386.xBDT | 1 - + 2 files changed, 2 deletions(-) + +diff --git a/ldscripts/elf_i386.xB b/ldscripts/elf_i386.xB +index 43fe51c..eae0fa8 100644 +--- a/ldscripts/elf_i386.xB ++++ b/ldscripts/elf_i386.xB +@@ -3,7 +3,6 @@ OUTPUT_FORMAT("elf32-i386", "elf32-i386", + "elf32-i386") + OUTPUT_ARCH(i386) + ENTRY(_start) +-SEARCH_DIR("/usr/i486-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); + INPUT(-lhugetlbfs); + /* Do we need any of these for elf? + __DYNAMIC = 0; */ +diff --git a/ldscripts/elf_i386.xBDT b/ldscripts/elf_i386.xBDT +index d72aebe..3bac1b1 100644 +--- a/ldscripts/elf_i386.xBDT ++++ b/ldscripts/elf_i386.xBDT +@@ -3,7 +3,6 @@ OUTPUT_FORMAT("elf32-i386", "elf32-i386", + "elf32-i386") + OUTPUT_ARCH(i386) + ENTRY(_start) +-SEARCH_DIR("/usr/i486-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); + INPUT(-lhugetlbfs); + /* Do we need any of these for elf? + __DYNAMIC = 0; */ +-- +2.25.1 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0006-include-limits.h-for-PATH_MAX.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0006-include-limits.h-for-PATH_MAX.patch deleted file mode 100644 index e4f8030961..0000000000 --- a/meta-oe/recipes-benchmark/libhugetlbfs/files/0006-include-limits.h-for-PATH_MAX.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 5f64aa8c47c2d3a155a97e262f89cc47394a69eb Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 21 Jun 2018 19:58:53 -0700 -Subject: [PATCH] include limits.h for PATH_MAX - -Fixes - -error: 'PATH_MAX' undeclared - -Signed-off-by: Khem Raj - ---- -Upstream-Status: Pending - - hugeadm.c | 1 + - tests/gethugepagesizes.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/hugeadm.c b/hugeadm.c -index fe4211d..8db274c 100644 ---- a/hugeadm.c -+++ b/hugeadm.c -@@ -33,6 +33,7 @@ - #include - #include - #include -+#include - - #include - #include -diff --git a/tests/gethugepagesizes.c b/tests/gethugepagesizes.c -index 9551b38..2645e3f 100644 ---- a/tests/gethugepagesizes.c -+++ b/tests/gethugepagesizes.c -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - - #include "hugetests.h" - diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0006-include-stddef.h-for-ptrdiff_t.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0006-include-stddef.h-for-ptrdiff_t.patch new file mode 100644 index 0000000000..33a4efb1fa --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0006-include-stddef.h-for-ptrdiff_t.patch @@ -0,0 +1,27 @@ +From 5fe5dae674e259bcdd57b9c6a0004111ab0700ce Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 21 Jun 2018 19:25:57 -0700 +Subject: [PATCH] include stddef.h for ptrdiff_t + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + morecore.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/morecore.c b/morecore.c +index 405c566..0edccd2 100644 +--- a/morecore.c ++++ b/morecore.c +@@ -19,6 +19,7 @@ + + #define _GNU_SOURCE + ++#include + #include + #include + #include +-- +2.25.1 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0007-Mark-glibc-specific-code-so.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0007-Mark-glibc-specific-code-so.patch new file mode 100644 index 0000000000..5b2c91b8a1 --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0007-Mark-glibc-specific-code-so.patch @@ -0,0 +1,42 @@ +From c98e64c56d0118a2d5f950eaceaed0e85eaa2543 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 21 Jun 2018 19:32:59 -0700 +Subject: [PATCH] Mark glibc specific code so + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + morecore.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/morecore.c b/morecore.c +index 0edccd2..db22216 100644 +--- a/morecore.c ++++ b/morecore.c +@@ -371,6 +371,7 @@ void hugetlbfs_setup_morecore(void) + + INFO("setup_morecore(): heapaddr = 0x%lx\n", heapaddr); + ++#ifdef __GLIBC__ + heaptop = heapbase = (void *)heapaddr; + if (__hugetlb_opts.thp_morecore) + __morecore = &thp_morecore; +@@ -378,7 +379,6 @@ void hugetlbfs_setup_morecore(void) + __morecore = &hugetlbfs_morecore; + + /* Set some allocator options more appropriate for hugepages */ +- + if (__hugetlb_opts.shrink_ok) + mallopt(M_TRIM_THRESHOLD, hpage_size + hpage_size / 2); + else +@@ -388,5 +388,6 @@ void hugetlbfs_setup_morecore(void) + * This doesn't appear to prohibit malloc() from falling back + * to mmap() if we run out of hugepages. */ + mallopt(M_MMAP_MAX, 0); ++#endif + } + #endif /* HAS_MORECORE */ +-- +2.25.1 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0008-alloc.c-Avoid-sysconf-_SC_LEVEL2_CACHE_LINESIZE-on-l.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0008-alloc.c-Avoid-sysconf-_SC_LEVEL2_CACHE_LINESIZE-on-l.patch new file mode 100644 index 0000000000..73844b71f9 --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0008-alloc.c-Avoid-sysconf-_SC_LEVEL2_CACHE_LINESIZE-on-l.patch @@ -0,0 +1,50 @@ +From 4f69eb130dc2c67a90f2460cedb78f6db11dd6d2 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 21 Jun 2018 19:44:26 -0700 +Subject: [PATCH] alloc.c: Avoid sysconf(_SC_LEVEL2_CACHE_LINESIZE) on linux + +musl does not have it + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + alloc.c | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +diff --git a/alloc.c b/alloc.c +index b8ed663..a58c43d 100644 +--- a/alloc.c ++++ b/alloc.c +@@ -245,6 +245,19 @@ void free_huge_pages(void *ptr) + __free_huge_pages(ptr, 1); + } + ++static size_t get_cacheline_size() { ++#if defined(__linux__) ++ FILE * fp = fopen("/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size", "r"); ++ unsigned int line_size = 0; ++ if (fp) { ++ fscanf(fp, "%d", &line_size); ++ fclose(fp); ++ } ++ return line_size; ++#else ++ return sysconf(_SC_LEVEL2_CACHE_LINESIZE); ++#endif ++} + /* + * Offset the buffer using bytes wasted due to alignment to avoid using the + * same cache lines for the start of every buffer returned by +@@ -261,7 +274,7 @@ void *cachecolor(void *buf, size_t len, size_t color_bytes) + + /* Lookup our cacheline size once */ + if (cacheline_size == 0) { +- cacheline_size = sysconf(_SC_LEVEL2_CACHE_LINESIZE); ++ cacheline_size = get_cacheline_size(); + linemod = time(NULL); + } + +-- +2.25.1 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0009-shm.c-Mark-glibc-specific-changes-so.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0009-shm.c-Mark-glibc-specific-changes-so.patch new file mode 100644 index 0000000000..4fbf30e24b --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0009-shm.c-Mark-glibc-specific-changes-so.patch @@ -0,0 +1,32 @@ +From 37239dd5f14a34b05e77b3ca6e34f96161f1339a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 21 Jun 2018 19:48:04 -0700 +Subject: [PATCH] shm.c: Mark glibc specific changes so + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + shm.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/shm.c b/shm.c +index 1f82cab..9447b63 100644 +--- a/shm.c ++++ b/shm.c +@@ -48,10 +48,11 @@ + * system shmget() may be performed without worry as there is no dynamic + * call chain. + */ ++#ifdef __GLIBC__ + extern void *dlsym (void *__restrict __handle, __const char *__restrict __name) + __attribute__((weak)) __THROW __nonnull ((2)); + extern char *dlerror (void) __attribute__((weak)) __THROW; +- ++#endif + + /* call syscall shmget through the generic syscall mechanism */ + static int syscall_shmget(key_t key, size_t size, int shmflg) +-- +2.25.1 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0010-Include-dirent.h-for-ino_t.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0010-Include-dirent.h-for-ino_t.patch new file mode 100644 index 0000000000..a530a5267a --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0010-Include-dirent.h-for-ino_t.patch @@ -0,0 +1,33 @@ +From ec9163c0436d1c77cecc941aca2e524b26001b15 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 21 Jun 2018 19:51:02 -0700 +Subject: [PATCH] Include dirent.h for ino_t + +Fixes +error: unknown type name 'ino_t'; did you mean 'int'? + +Upstream-Status: Pending + +Signed-off-by: Khem Raj + +Update for 2.22. +Signed-off-by: Zheng Ruoqin +--- + tests/hugetests.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tests/hugetests.h b/tests/hugetests.h +index bc4e16a..fbe4dc0 100644 +--- a/tests/hugetests.h ++++ b/tests/hugetests.h +@@ -22,6 +22,7 @@ + + #include + #include ++#include + #include + + #include "libhugetlbfs_privutils.h" +-- +2.25.1 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0011-include-limits.h-for-PATH_MAX.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0011-include-limits.h-for-PATH_MAX.patch new file mode 100644 index 0000000000..08de396d9f --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0011-include-limits.h-for-PATH_MAX.patch @@ -0,0 +1,44 @@ +From 79b76433f4b6f2f14914817b7e8ac0db1df39250 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 21 Jun 2018 19:58:53 -0700 +Subject: [PATCH] include limits.h for PATH_MAX + +Fixes + +error: 'PATH_MAX' undeclared + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + hugeadm.c | 1 + + tests/gethugepagesizes.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/hugeadm.c b/hugeadm.c +index 79a4867..65d5136 100644 +--- a/hugeadm.c ++++ b/hugeadm.c +@@ -33,6 +33,7 @@ + #include + #include + #include ++#include + + #include + #include +diff --git a/tests/gethugepagesizes.c b/tests/gethugepagesizes.c +index 5777265..990db69 100644 +--- a/tests/gethugepagesizes.c ++++ b/tests/gethugepagesizes.c +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + + #include "hugetests.h" + +-- +2.25.1 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0012-huge_page_setup_helper-use-python3-interpreter.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0012-huge_page_setup_helper-use-python3-interpreter.patch new file mode 100644 index 0000000000..0583df95ad --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0012-huge_page_setup_helper-use-python3-interpreter.patch @@ -0,0 +1,29 @@ +From e5580e392b8764e1e6509c5a4ed13fb2ce7566b9 Mon Sep 17 00:00:00 2001 +From: Andrey Zhizhikin +Date: Mon, 27 Jan 2020 17:27:55 +0000 +Subject: [PATCH] huge_page_setup_helper: use python3 interpreter + +Setup helper script is already prepared to be used with python3, use the +interpreter explicitly. This removes dependency to python2 and will not +fail the QA check. + +Upstream-Status: Inappropriate [OE-specific] + +Signed-off-by: Andrey Zhizhikin +--- + huge_page_setup_helper.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/huge_page_setup_helper.py b/huge_page_setup_helper.py +index 01fc8dc..79a88ca 100755 +--- a/huge_page_setup_helper.py ++++ b/huge_page_setup_helper.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python3 + + # + # Tool to set up Linux large page support with minimal effort +-- +2.25.1 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0013-elflink.c-include-libgen.h-for-basename.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0013-elflink.c-include-libgen.h-for-basename.patch new file mode 100644 index 0000000000..264a535cc7 --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0013-elflink.c-include-libgen.h-for-basename.patch @@ -0,0 +1,41 @@ +From 825444522d698991be04bbfa683a7cf785c6f72c Mon Sep 17 00:00:00 2001 +From: Yi Zhao +Date: Wed, 2 Oct 2024 00:06:34 +0800 +Subject: [PATCH] elflink.c: include libgen.h for basename + +Basename prototype has been removed from string.h from latest musl[1]. +Compilers e.g. clang-18 flags the absense of prototype as error. +Therefore include libgen.h for providing it. + +elflink.c: In function 'get_shared_file_name': +elflink.c:363:19: error: implicit declaration of function 'basename' [-Wimplicit-function-declaration] + 363 | binary2 = basename(binary); + | ^~~~~~~~ +elflink.c:363:17: error: assignment to 'char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] + 363 | binary2 = basename(binary); + | ^ + +[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7 + +Upstream-Status: Pending + +Signed-off-by: Yi Zhao +--- + elflink.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/elflink.c b/elflink.c +index 278d338..0e78d61 100644 +--- a/elflink.c ++++ b/elflink.c +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + + #include "version.h" + #include "hugetlbfs.h" +-- +2.25.1 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-avoid-search-host-library-path-for-cros.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-avoid-search-host-library-path-for-cros.patch deleted file mode 100644 index f95e9e85a4..0000000000 --- a/meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-avoid-search-host-library-path-for-cros.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 82a4f60ab24dff121f5f9d3bbcd9a8a28bb7caef Mon Sep 17 00:00:00 2001 -From: Chunrong Guo -Date: Sun, 8 Sep 2013 23:21:49 -0500 -Subject: [PATCH] libhugetlbfs: avoid search host library path for cross - compilation - -Upstream-Status: Inappropriate [oe-core specific] - -Signed-off-by: Chunrong Guo - ---- - ldscripts/elf32ppclinux.xB | 2 +- - ldscripts/elf32ppclinux.xBDT | 2 +- - ldscripts/elf64ppc.xB | 2 +- - ldscripts/elf64ppc.xBDT | 2 +- - ldscripts/elf_x86_64.xB | 2 +- - ldscripts/elf_x86_64.xBDT | 2 +- - 6 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/ldscripts/elf32ppclinux.xB b/ldscripts/elf32ppclinux.xB -index 28ad88d..33d482d 100644 ---- a/ldscripts/elf32ppclinux.xB -+++ b/ldscripts/elf32ppclinux.xB -@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", - "elf32-powerpc") - OUTPUT_ARCH(powerpc:common) - ENTRY(_start) --SEARCH_DIR("/usr/powerpc-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); -+/*SEARCH_DIR("/usr/powerpc-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");*/ - INPUT(-lhugetlbfs); - PHDRS - { -diff --git a/ldscripts/elf32ppclinux.xBDT b/ldscripts/elf32ppclinux.xBDT -index 497882b..823475e 100644 ---- a/ldscripts/elf32ppclinux.xBDT -+++ b/ldscripts/elf32ppclinux.xBDT -@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", - "elf32-powerpc") - OUTPUT_ARCH(powerpc:common) - ENTRY(_start) --SEARCH_DIR("/usr/powerpc-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); -+/*SEARCH_DIR("/usr/powerpc-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");*/ - INPUT(-lhugetlbfs); - PHDRS - { -diff --git a/ldscripts/elf64ppc.xB b/ldscripts/elf64ppc.xB -index 1a9c1ab..8cc557d 100644 ---- a/ldscripts/elf64ppc.xB -+++ b/ldscripts/elf64ppc.xB -@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf64-powerpc", "elf64-powerpc", - "elf64-powerpc") - OUTPUT_ARCH(powerpc:common64) - ENTRY(_start) --SEARCH_DIR("/usr/powerpc64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/powerpc64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); -+/*SEARCH_DIR("/usr/powerpc64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/powerpc64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");*/ - INPUT(-lhugetlbfs); - PHDRS - { -diff --git a/ldscripts/elf64ppc.xBDT b/ldscripts/elf64ppc.xBDT -index 5477294..53e0749 100644 ---- a/ldscripts/elf64ppc.xBDT -+++ b/ldscripts/elf64ppc.xBDT -@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf64-powerpc", "elf64-powerpc", - "elf64-powerpc") - OUTPUT_ARCH(powerpc:common64) - ENTRY(_start) --SEARCH_DIR("/usr/powerpc64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/powerpc64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); -+/*SEARCH_DIR("/usr/powerpc64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/powerpc64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");*/ - INPUT( -lhugetlbfs ); - PHDRS - { -diff --git a/ldscripts/elf_x86_64.xB b/ldscripts/elf_x86_64.xB -index ed21a2c..ba50e9f 100644 ---- a/ldscripts/elf_x86_64.xB -+++ b/ldscripts/elf_x86_64.xB -@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", - "elf64-x86-64") - OUTPUT_ARCH(i386:x86-64) - ENTRY(_start) --SEARCH_DIR("/usr/x86_64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); -+/*SEARCH_DIR("/usr/x86_64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");*/ - INPUT(-lhugetlbfs); - /* Do we need any of these for elf? - __DYNAMIC = 0; */ -diff --git a/ldscripts/elf_x86_64.xBDT b/ldscripts/elf_x86_64.xBDT -index 1855202..c62d245 100644 ---- a/ldscripts/elf_x86_64.xBDT -+++ b/ldscripts/elf_x86_64.xBDT -@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", - "elf64-x86-64") - OUTPUT_ARCH(i386:x86-64) - ENTRY(_start) --SEARCH_DIR("/usr/x86_64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); -+/*SEARCH_DIR("/usr/x86_64-linux-gnu/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");*/ - INPUT(-lhugetlbfs); - /* Do we need any of these for elf? - __DYNAMIC = 0; */ diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-elf_i386-avoid-search-host-library-path.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-elf_i386-avoid-search-host-library-path.patch deleted file mode 100644 index 7cc180a4b7..0000000000 --- a/meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-elf_i386-avoid-search-host-library-path.patch +++ /dev/null @@ -1,39 +0,0 @@ -From b5887693d90c430291b644c2f5713b5fdd1777ce Mon Sep 17 00:00:00 2001 -From: Jackie Huang -Date: Tue, 4 Nov 2014 00:49:11 -0800 -Subject: [PATCH] libhugetlbfs/elf_i386: avoid search host library path for - cross compilation - -Upstream-Status: Inappropriate [cross compile specific] - -Signed-off-by: Jackie Huang - ---- - ldscripts/elf_i386.xB | 1 - - ldscripts/elf_i386.xBDT | 1 - - 2 files changed, 2 deletions(-) - -diff --git a/ldscripts/elf_i386.xB b/ldscripts/elf_i386.xB -index 43fe51c..eae0fa8 100644 ---- a/ldscripts/elf_i386.xB -+++ b/ldscripts/elf_i386.xB -@@ -3,7 +3,6 @@ OUTPUT_FORMAT("elf32-i386", "elf32-i386", - "elf32-i386") - OUTPUT_ARCH(i386) - ENTRY(_start) --SEARCH_DIR("/usr/i486-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); - INPUT(-lhugetlbfs); - /* Do we need any of these for elf? - __DYNAMIC = 0; */ -diff --git a/ldscripts/elf_i386.xBDT b/ldscripts/elf_i386.xBDT -index d72aebe..3bac1b1 100644 ---- a/ldscripts/elf_i386.xBDT -+++ b/ldscripts/elf_i386.xBDT -@@ -3,7 +3,6 @@ OUTPUT_FORMAT("elf32-i386", "elf32-i386", - "elf32-i386") - OUTPUT_ARCH(i386) - ENTRY(_start) --SEARCH_DIR("/usr/i486-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); - INPUT(-lhugetlbfs); - /* Do we need any of these for elf? - __DYNAMIC = 0; */ diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch deleted file mode 100644 index a13c5389fb..0000000000 --- a/meta-oe/recipes-benchmark/libhugetlbfs/files/skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 183a4dafe141197de5840f2e48c266ef209307aa Mon Sep 17 00:00:00 2001 -From: Ting Liu -Date: Mon, 18 Jun 2012 16:37:05 +0800 -Subject: [PATCH] skip checking LIB32 and LIB64 if they point to the same place - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Ting Liu - ---- - Makefile | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 51e41f0..373df3c 100644 ---- a/Makefile -+++ b/Makefile -@@ -177,7 +177,6 @@ REALLIB32 = $(realpath $(PREFIX)/$(LIB32)) - REALLIB64 = $(realpath $(PREFIX)/$(LIB64)) - ifneq ($(realpath $(PREFIX)),) - ifeq ($(REALLIB32),$(REALLIB64)) --$(error LIB32 ($(PREFIX)/$(LIB32) to $(REALLIB32)) and LIB64 ($(PREFIX)/$(LIB64) to $(REALLIB64)) are resolving to the same place. Manually specify LIB32 and LIB64. e.g. make PREFIX=$(PREFIX) LIB32=lib32 LIB64=lib64) - endif - endif - diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/tests-Makefile-install-static-4G-edge-testcases.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/tests-Makefile-install-static-4G-edge-testcases.patch deleted file mode 100644 index b8b2f8e6fb..0000000000 --- a/meta-oe/recipes-benchmark/libhugetlbfs/files/tests-Makefile-install-static-4G-edge-testcases.patch +++ /dev/null @@ -1,28 +0,0 @@ -From f1ad8ff887f16daee8d06eca3df0f2541bfdaac0 Mon Sep 17 00:00:00 2001 -From: Ting Liu -Date: Mon, 23 Sep 2013 08:00:55 +0000 -Subject: [PATCH] libhugetlbfs: add recipe - -Upstream-Status: Submitted - -TESTS_64 is empty, install will fail due to missing file operand - -Signed-off-by: Ting Liu - ---- - tests/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/Makefile b/tests/Makefile -index 073df96..0ca3716 100644 ---- a/tests/Makefile -+++ b/tests/Makefile -@@ -295,7 +295,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_STATIC:%=obj64/%_static) $(DESTDIR)$(INST_TESTSDIR64)/obj64 - $(INSTALL) -m 755 run_tests.py $(DESTDIR)$(INST_TESTSDIR64) - - install: $(OBJDIRS:%=%/install) diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_2.24.bb b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_2.24.bb new file mode 100644 index 0000000000..00b34ad4ab --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_2.24.bb @@ -0,0 +1,78 @@ +SUMMARY = "A library which provides easy access to huge pages of memory" +HOMEPAGE = "https://github.com/libhugetlbfs/libhugetlbfs" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1" + +DEPENDS = "sysfsutils" +RDEPENDS:${PN} += "bash python3-core" +RDEPENDS:${PN}-tests += "bash python3-core python3-resource" + +PE = "1" + +SRCREV = "1322884fb0d55dc55f53563c1aa6328d118997e7" +SRC_URI = " \ + git://github.com/libhugetlbfs/libhugetlbfs.git;protocol=https;branch=master \ + file://0001-skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch \ + file://0002-libhugetlbfs-avoid-search-host-library-path-for-cros.patch \ + file://0003-tests-Makefile-install-static-4G-edge-testcases.patch \ + file://0004-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch \ + file://0005-libhugetlbfs-elf_i386-avoid-search-host-library-path.patch \ + file://0006-include-stddef.h-for-ptrdiff_t.patch \ + file://0007-Mark-glibc-specific-code-so.patch \ + file://0008-alloc.c-Avoid-sysconf-_SC_LEVEL2_CACHE_LINESIZE-on-l.patch \ + file://0009-shm.c-Mark-glibc-specific-changes-so.patch \ + file://0010-Include-dirent.h-for-ino_t.patch \ + file://0011-include-limits.h-for-PATH_MAX.patch \ + file://0012-huge_page_setup_helper-use-python3-interpreter.patch \ + file://0013-elflink.c-include-libgen.h-for-basename.patch \ +" + +UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)" + +S = "${WORKDIR}/git" + +COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|aarch64|arm).*-linux*" + +LIBARGS = "LIB32=${baselib} LIB64=${baselib}" +LIBHUGETLBFS_ARCH = "${TARGET_ARCH}" +LIBHUGETLBFS_ARCH:powerpc = "ppc" +LIBHUGETLBFS_ARCH:powerpc64 = "ppc64" +LIBHUGETLBFS_ARCH:powerpc64le = "ppc64le" +EXTRA_OEMAKE = "'ARCH=${LIBHUGETLBFS_ARCH}' 'OPT=${CFLAGS}' 'CC=${CC}' ${LIBARGS} BUILDTYPE=NATIVEONLY V=2" +PARALLEL_MAKE = "" +CFLAGS += "-fexpensive-optimizations -frename-registers -fomit-frame-pointer -g0" + +export HUGETLB_LDSCRIPT_PATH="${S}/ldscripts" + +TARGET_CC_ARCH += "${LDFLAGS}" + +inherit autotools-brokensep cpan-base + +#The CUSTOM_LDSCRIPTS doesn't work with the gold linker +do_configure:prepend() { + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'ld-is-gold', d)}" ]; then + sed -i 's/CUSTOM_LDSCRIPTS = yes/CUSTOM_LDSCRIPTS = no/' Makefile.in + fi +} + +do_install() { + oe_runmake PREFIX=${prefix} DESTDIR=${D} \ + INST_TESTSDIR32=${libdir}/libhugetlbfs/tests \ + INST_TESTSDIR64=${libdir}/libhugetlbfs/tests \ + install-tests + + sed -i -e 's|${RECIPE_SYSROOT_NATIVE}||g' \ + -e 's|${RECIPE_SYSROOT}||g' \ + `find ${D}${libdir}/libhugetlbfs/tests -name dummy.ldscript` +} + +PACKAGES =+ "${PN}-tests " +FILES:${PN} += "${libdir}/*.so" +FILES:${PN}-dev = "${includedir}" +FILES:${PN}-dbg += "${libdir}/libhugetlbfs/tests/obj32/.debug ${libdir}/libhugetlbfs/tests/obj64/.debug" +FILES:${PN}-tests += "${libdir}/libhugetlbfs/tests" + +INSANE_SKIP:${PN} = "dev-so" + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb deleted file mode 100644 index 80af9873b1..0000000000 --- a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb +++ /dev/null @@ -1,79 +0,0 @@ -SUMMARY = "A library which provides easy access to huge pages of memory" -HOMEPAGE = "https://github.com/libhugetlbfs/libhugetlbfs" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1" - -DEPENDS = "sysfsutils" -RDEPENDS:${PN} += "bash python3-core" -RDEPENDS:${PN}-tests += "bash python3-core" - -PV = "2.23" -PE = "1" - -SRCREV = "6b126a4d7da9490fa40fe7e1b962edcb939feddc" -SRC_URI = " \ - git://github.com/libhugetlbfs/libhugetlbfs.git;protocol=https;branch=master \ - file://skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch \ - file://libhugetlbfs-avoid-search-host-library-path-for-cros.patch \ - file://tests-Makefile-install-static-4G-edge-testcases.patch \ - file://0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch \ - file://libhugetlbfs-elf_i386-avoid-search-host-library-path.patch \ - file://0001-include-stddef.h-for-ptrdiff_t.patch \ - file://0002-Mark-glibc-specific-code-so.patch \ - file://0003-alloc.c-Avoid-sysconf-_SC_LEVEL2_CACHE_LINESIZE-on-l.patch \ - file://0004-shm.c-Mark-glibc-specific-changes-so.patch \ - file://0005-Include-dirent.h-for-ino_t.patch \ - file://0006-include-limits.h-for-PATH_MAX.patch \ - file://0001-huge_page_setup_helper-use-python3-interpreter.patch \ - file://0001-Revert-ld.hugetlbfs-fix-Ttext-segment-argument-on-AA.patch \ - file://0001-tests-makefile-Append-CPPFLAGS-rather-then-override.patch \ -" - -UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)" - -S = "${WORKDIR}/git" - -COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|aarch64|arm).*-linux*" - -LIBARGS = "LIB32=${baselib} LIB64=${baselib}" -LIBHUGETLBFS_ARCH = "${TARGET_ARCH}" -LIBHUGETLBFS_ARCH:powerpc = "ppc" -LIBHUGETLBFS_ARCH:powerpc64 = "ppc64" -LIBHUGETLBFS_ARCH:powerpc64le = "ppc64le" -EXTRA_OEMAKE = "'ARCH=${LIBHUGETLBFS_ARCH}' 'OPT=${CFLAGS}' 'CC=${CC}' ${LIBARGS} BUILDTYPE=NATIVEONLY V=2" -PARALLEL_MAKE = "" -CFLAGS += "-fexpensive-optimizations -frename-registers -fomit-frame-pointer -g0" - -export HUGETLB_LDSCRIPT_PATH="${S}/ldscripts" - -TARGET_CC_ARCH += "${LDFLAGS}" - -#The CUSTOM_LDSCRIPTS doesn't work with the gold linker -inherit cpan-base -do_configure() { - if [ "${@bb.utils.filter('DISTRO_FEATURES', 'ld-is-gold', d)}" ]; then - sed -i 's/CUSTOM_LDSCRIPTS = yes/CUSTOM_LDSCRIPTS = no/' Makefile - fi -} - -do_install() { - oe_runmake PREFIX=${prefix} DESTDIR=${D} \ - INST_TESTSDIR32=${libdir}/libhugetlbfs/tests \ - INST_TESTSDIR64=${libdir}/libhugetlbfs/tests \ - install-tests -} - - -PACKAGES =+ "${PN}-tests " -FILES:${PN} += "${libdir}/*.so" -FILES:${PN}-dev = "${includedir}" -FILES:${PN}-dbg += "${libdir}/libhugetlbfs/tests/obj32/.debug ${libdir}/libhugetlbfs/tests/obj64/.debug" -FILES:${PN}-tests += "${libdir}/libhugetlbfs/tests" - -INSANE_SKIP:${PN} = "dev-so" - -INHIBIT_PACKAGE_STRIP = "1" -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" - -# see https://github.com/libhugetlbfs/libhugetlbfs/issues/52 -SKIP_RECIPE[libhugetlbfs] ?= "Needs porting to glibc 2.34+" -- cgit v1.2.3-54-g00ecf