Sync from SUSE:SLFO:Main libhugetlbfs revision e9085cb794119fab7a9527b9c58ce541
This commit is contained in:
commit
33daf0b3c4
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
16
_service
Normal file
16
_service
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<services>
|
||||||
|
<service name="obs_scm" mode="localonly">
|
||||||
|
<param name="url">https://github.com/libhugetlbfs/libhugetlbfs.git</param>
|
||||||
|
<param name="scm">git</param>
|
||||||
|
<param name="revision">HEAD</param>
|
||||||
|
<param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@.g%h</param>
|
||||||
|
<param name="changesgenerate">enable</param>
|
||||||
|
</service>
|
||||||
|
<service name="set_version" mode="localonly"/>
|
||||||
|
<service name="tar" mode="buildtime"/>
|
||||||
|
<service name="recompress" mode="buildtime">
|
||||||
|
<param name="file">*.tar</param>
|
||||||
|
<param name="compression">gz</param>
|
||||||
|
</service>
|
||||||
|
</services>
|
||||||
|
|
2
baselibs.conf
Normal file
2
baselibs.conf
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
libhugetlbfs
|
||||||
|
+/usr/lib(64)?/libhugetlbfs
|
22
disable-rw-on-non-ldscripts.diff
Normal file
22
disable-rw-on-non-ldscripts.diff
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
Index: tests/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- a/tests/Makefile.orig
|
||||||
|
+++ b/tests/Makefile
|
||||||
|
@@ -48,7 +48,7 @@ ifeq ($(CUSTOM_LDSCRIPTS),yes)
|
||||||
|
TESTS += $(LDSCRIPT_TESTS) $(HUGELINK_TESTS) $(HUGELINK_TESTS:%=xB.%) \
|
||||||
|
$(HUGELINK_TESTS:%=xBDT.%) $(HUGELINK_RW_TESTS)
|
||||||
|
else
|
||||||
|
-TESTS += $(LDSCRIPT_TESTS) $(HUGELINK_TESTS) $(HUGELINK_RW_TESTS)
|
||||||
|
+TESTS += $(LDSCRIPT_TESTS) $(HUGELINK_TESTS)
|
||||||
|
endif
|
||||||
|
|
||||||
|
else
|
||||||
|
@@ -57,7 +57,7 @@ ifeq ($(CUSTOM_LDSCRIPTS),yes)
|
||||||
|
TESTS += $(LDSCRIPT_TESTS) $(HUGELINK_TESTS) $(HUGELINK_TESTS:%=xB.%) \
|
||||||
|
$(HUGELINK_TESTS:%=xBDT.%) $(HUGELINK_RW_TESTS)
|
||||||
|
else
|
||||||
|
-TESTS += $(LDSCRIPT_TESTS) $(HUGELINK_TESTS) $(HUGELINK_RW_TESTS)
|
||||||
|
+TESTS += $(LDSCRIPT_TESTS) $(HUGELINK_TESTS)
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif
|
258
glibc-2.34-fix.patch
Normal file
258
glibc-2.34-fix.patch
Normal file
@ -0,0 +1,258 @@
|
|||||||
|
From 959d74fd0fbbff310943096e15024a84e8f5cba4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Matheus Castanho <msc@linux.ibm.com>
|
||||||
|
Date: Thu, 12 Aug 2021 16:38:46 -0300
|
||||||
|
Subject: [PATCH] Disable hugepage-backed malloc if __morecore is not available
|
||||||
|
|
||||||
|
Starting with glibc 2.32, __morecore hook has been marked as deprecated, and was
|
||||||
|
completely removed on glibc 2.34, which causes an undefined symbol error during
|
||||||
|
the build of libhugetlbfs.
|
||||||
|
|
||||||
|
Greater changes are needed in order to keep providing the same functionality
|
||||||
|
with future versions of glibc (see issue #52). Meanwhile, we can disable
|
||||||
|
hugepage-backed malloc setup if __morecore is not available so users can at
|
||||||
|
least keep using the other features provided by the library. Related tests are
|
||||||
|
also conditionally disabled, and will show as SKIPPED if __morecore is not
|
||||||
|
available.
|
||||||
|
|
||||||
|
Tested on powerpc64le and x86_64 with glibc 2.34 and olders.
|
||||||
|
|
||||||
|
Signed-off-by: Matheus Castanho <msc@linux.ibm.com>
|
||||||
|
---
|
||||||
|
Makefile | 6 +++++
|
||||||
|
morecore.c | 8 ++++++
|
||||||
|
tests/run_tests.py | 67 +++++++++++++++++++++++++++++++++++++++-------
|
||||||
|
3 files changed, 71 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index 8b73523..35e53e7 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -192,6 +192,12 @@ endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
+# glibc 2.34 removed __morecore, so it may not be available with recent versions
|
||||||
|
+HAS_MORECORE := $(shell /bin/echo -e '\#include <malloc.h>\nvoid * morecore_exists() { return &__morecore; }' | $(CC) -c -xc -o /dev/null - &> /dev/null && /bin/echo yes || /bin/echo no)
|
||||||
|
+ifeq ($(HAS_MORECORE),yes)
|
||||||
|
+CFLAGS += -DHAS_MORECORE
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
HEADERDIR = $(PREFIX)/include
|
||||||
|
LIBDIR32 = $(PREFIX)/$(LIB32)
|
||||||
|
LIBDIR64 = $(PREFIX)/$(LIB64)
|
||||||
|
diff --git a/morecore.c b/morecore.c
|
||||||
|
index 6563bbd..405c566 100644
|
||||||
|
--- a/morecore.c
|
||||||
|
+++ b/morecore.c
|
||||||
|
@@ -33,6 +33,13 @@
|
||||||
|
|
||||||
|
#include "libhugetlbfs_internal.h"
|
||||||
|
|
||||||
|
+#ifndef HAS_MORECORE
|
||||||
|
+void hugetlbfs_setup_morecore(void)
|
||||||
|
+{
|
||||||
|
+ INFO("Not setting up morecore because it's not available (see issue #52).\n");
|
||||||
|
+}
|
||||||
|
+#else
|
||||||
|
+
|
||||||
|
static int heap_fd;
|
||||||
|
|
||||||
|
static void *heapbase;
|
||||||
|
@@ -381,3 +388,4 @@ void hugetlbfs_setup_morecore(void)
|
||||||
|
* to mmap() if we run out of hugepages. */
|
||||||
|
mallopt(M_MMAP_MAX, 0);
|
||||||
|
}
|
||||||
|
+#endif /* HAS_MORECORE */
|
||||||
|
diff --git a/tests/run_tests.py b/tests/run_tests.py
|
||||||
|
index 018264d..871d04d 100755
|
||||||
|
--- a/tests/run_tests.py
|
||||||
|
+++ b/tests/run_tests.py
|
||||||
|
@@ -60,7 +60,7 @@ def snapshot_pool_state():
|
||||||
|
l.append((d, tuple(substate)))
|
||||||
|
return tuple(l)
|
||||||
|
|
||||||
|
-def run_test_prog(bits, pagesize, cmd, **env):
|
||||||
|
+def run_test_prog(bits, pagesize, cmd, output='stdout', **env):
|
||||||
|
if paranoid_pool_check:
|
||||||
|
beforepool = snapshot_pool_state()
|
||||||
|
print("Pool state: %s" % str(beforepool))
|
||||||
|
@@ -73,15 +73,17 @@ def run_test_prog(bits, pagesize, cmd, **env):
|
||||||
|
% (bits, bits, local_env.get("LD_LIBRARY_PATH", ""))
|
||||||
|
local_env["HUGETLB_DEFAULT_PAGE_SIZE"] = repr(pagesize)
|
||||||
|
|
||||||
|
+ popen_args = {'env' : local_env, output : subprocess.PIPE}
|
||||||
|
+
|
||||||
|
try:
|
||||||
|
- p = subprocess.Popen(cmd, env=local_env, stdout=subprocess.PIPE)
|
||||||
|
+ p = subprocess.Popen(cmd, **popen_args)
|
||||||
|
rc = p.wait()
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
# Abort and mark this a strange test result
|
||||||
|
return (None, "")
|
||||||
|
except OSError as e:
|
||||||
|
return (-e.errno, "")
|
||||||
|
- out = p.stdout.read().decode().strip()
|
||||||
|
+ out = getattr(p, output).read().decode().strip()
|
||||||
|
|
||||||
|
if paranoid_pool_check:
|
||||||
|
afterpool = snapshot_pool_state()
|
||||||
|
@@ -309,6 +311,33 @@ def check_linkhuge_tests():
|
||||||
|
okbits.add(bits)
|
||||||
|
return okbits
|
||||||
|
|
||||||
|
+def check_morecore_disabled():
|
||||||
|
+ """
|
||||||
|
+ Check if support for morecore is available.
|
||||||
|
+
|
||||||
|
+ Newer glibc versions (>= 2.34) removed the __morecore malloc hook, so tests
|
||||||
|
+ relying on that functionality will not work as expected, and should be
|
||||||
|
+ disabled.
|
||||||
|
+ """
|
||||||
|
+ global morecore_disabled, wordsizes, pagesizes
|
||||||
|
+
|
||||||
|
+ # Quick and dirty way to get a word and page size. Which one doesn't really
|
||||||
|
+ # matter in this case.
|
||||||
|
+ for wsz in wordsizes:
|
||||||
|
+ b = wsz
|
||||||
|
+ break
|
||||||
|
+ for psz in pagesizes:
|
||||||
|
+ p = psz
|
||||||
|
+ break
|
||||||
|
+
|
||||||
|
+ # Run an arbitrary program and check stderr for the "morecore disabled"
|
||||||
|
+ # message
|
||||||
|
+ (rc, out) = run_test_prog(b, p, "gethugepagesize", output='stderr',
|
||||||
|
+ HUGETLB_MORECORE="yes",
|
||||||
|
+ HUGETLB_VERBOSE="3")
|
||||||
|
+
|
||||||
|
+ morecore_disabled = "Not setting up morecore" in out
|
||||||
|
+
|
||||||
|
def print_cmd(pagesize, bits, cmd, env):
|
||||||
|
if env:
|
||||||
|
print(' '.join(['%s=%s' % (k, v) for k, v in env.items()]), end=" ")
|
||||||
|
@@ -357,14 +386,17 @@ def skip_test(pagesize, bits, cmd, **env):
|
||||||
|
print_cmd(pagesize, bits, cmd, env)
|
||||||
|
print("SKIPPED")
|
||||||
|
|
||||||
|
-def do_test(cmd, bits=None, **env):
|
||||||
|
+def do_test(cmd, bits=None, skip=False, **env):
|
||||||
|
"""
|
||||||
|
Run a test case, testing each page size and each indicated word size.
|
||||||
|
"""
|
||||||
|
if bits == None: bits = wordsizes
|
||||||
|
for p in pagesizes:
|
||||||
|
for b in (set(bits) & wordsizes_by_pagesize[p]):
|
||||||
|
- run_test(p, b, cmd, **env)
|
||||||
|
+ if skip:
|
||||||
|
+ skip_test(p, b, cmd, **env)
|
||||||
|
+ else:
|
||||||
|
+ run_test(p, b, cmd, **env)
|
||||||
|
|
||||||
|
def do_test_with_rlimit(rtype, limit, cmd, bits=None, **env):
|
||||||
|
"""
|
||||||
|
@@ -375,7 +407,7 @@ def do_test_with_rlimit(rtype, limit, cmd, bits=None, **env):
|
||||||
|
do_test(cmd, bits, **env)
|
||||||
|
resource.setrlimit(rtype, oldlimit)
|
||||||
|
|
||||||
|
-def do_test_with_pagesize(pagesize, cmd, bits=None, **env):
|
||||||
|
+def do_test_with_pagesize(pagesize, cmd, bits=None, skip=False, **env):
|
||||||
|
"""
|
||||||
|
Run a test case, testing with a specified huge page size and
|
||||||
|
each indicated word size.
|
||||||
|
@@ -383,7 +415,10 @@ def do_test_with_pagesize(pagesize, cmd, bits=None, **env):
|
||||||
|
if bits == None:
|
||||||
|
bits = wordsizes
|
||||||
|
for b in (set(bits) & wordsizes_by_pagesize[pagesize]):
|
||||||
|
- run_test(pagesize, b, cmd, **env)
|
||||||
|
+ if skip:
|
||||||
|
+ skip_test(pagesize, b, cmd, **env)
|
||||||
|
+ else:
|
||||||
|
+ run_test(pagesize, b, cmd, **env)
|
||||||
|
|
||||||
|
def do_elflink_test(cmd, **env):
|
||||||
|
"""
|
||||||
|
@@ -533,7 +568,7 @@ def functional_tests():
|
||||||
|
"""
|
||||||
|
Run the set of functional tests.
|
||||||
|
"""
|
||||||
|
- global linkhuge_wordsizes
|
||||||
|
+ global linkhuge_wordsizes, morecore_disabled
|
||||||
|
|
||||||
|
# Kernel background tests not requiring hugepage support
|
||||||
|
do_test("zero_filesize_segment")
|
||||||
|
@@ -598,19 +633,24 @@ def functional_tests():
|
||||||
|
do_test("fork-cow")
|
||||||
|
do_test("direct")
|
||||||
|
do_test_with_pagesize(system_default_hpage_size, "malloc")
|
||||||
|
+
|
||||||
|
do_test_with_pagesize(system_default_hpage_size, "malloc",
|
||||||
|
+ skip=morecore_disabled,
|
||||||
|
LD_PRELOAD="libhugetlbfs.so",
|
||||||
|
HUGETLB_MORECORE="yes")
|
||||||
|
do_test_with_pagesize(system_default_hpage_size, "malloc",
|
||||||
|
+ skip=morecore_disabled,
|
||||||
|
LD_PRELOAD="libhugetlbfs.so",
|
||||||
|
HUGETLB_MORECORE="yes",
|
||||||
|
HUGETLB_RESTRICT_EXE="unknown:none")
|
||||||
|
do_test_with_pagesize(system_default_hpage_size, "malloc",
|
||||||
|
+ skip=morecore_disabled,
|
||||||
|
LD_PRELOAD="libhugetlbfs.so",
|
||||||
|
HUGETLB_MORECORE="yes",
|
||||||
|
HUGETLB_RESTRICT_EXE="unknown:malloc")
|
||||||
|
do_test_with_pagesize(system_default_hpage_size, "malloc_manysmall")
|
||||||
|
do_test_with_pagesize(system_default_hpage_size, "malloc_manysmall",
|
||||||
|
+ skip=morecore_disabled,
|
||||||
|
LD_PRELOAD="libhugetlbfs.so",
|
||||||
|
HUGETLB_MORECORE="yes")
|
||||||
|
|
||||||
|
@@ -630,26 +670,32 @@ def functional_tests():
|
||||||
|
do_test_with_pagesize(system_default_hpage_size, "heapshrink",
|
||||||
|
GLIBC_TUNABLES="glibc.malloc.tcache_count=0",
|
||||||
|
LD_PRELOAD="libheapshrink.so")
|
||||||
|
+
|
||||||
|
do_test_with_pagesize(system_default_hpage_size, "heapshrink",
|
||||||
|
+ skip=morecore_disabled,
|
||||||
|
GLIBC_TUNABLES="glibc.malloc.tcache_count=0",
|
||||||
|
LD_PRELOAD="libhugetlbfs.so",
|
||||||
|
HUGETLB_MORECORE="yes")
|
||||||
|
do_test_with_pagesize(system_default_hpage_size, "heapshrink",
|
||||||
|
+ skip=morecore_disabled,
|
||||||
|
GLIBC_TUNABLES="glibc.malloc.tcache_count=0",
|
||||||
|
LD_PRELOAD="libhugetlbfs.so libheapshrink.so",
|
||||||
|
HUGETLB_MORECORE="yes")
|
||||||
|
do_test_with_pagesize(system_default_hpage_size, "heapshrink",
|
||||||
|
+ skip=morecore_disabled,
|
||||||
|
GLIBC_TUNABLES="glibc.malloc.tcache_count=0",
|
||||||
|
LD_PRELOAD="libheapshrink.so",
|
||||||
|
HUGETLB_MORECORE="yes",
|
||||||
|
HUGETLB_MORECORE_SHRINK="yes")
|
||||||
|
do_test_with_pagesize(system_default_hpage_size, "heapshrink",
|
||||||
|
+ skip=morecore_disabled,
|
||||||
|
GLIBC_TUNABLES="glibc.malloc.tcache_count=0",
|
||||||
|
LD_PRELOAD="libhugetlbfs.so libheapshrink.so",
|
||||||
|
HUGETLB_MORECORE="yes",
|
||||||
|
HUGETLB_MORECORE_SHRINK="yes")
|
||||||
|
|
||||||
|
- do_test("heap-overflow", HUGETLB_VERBOSE="1", HUGETLB_MORECORE="yes")
|
||||||
|
+ do_test("heap-overflow", skip=morecore_disabled, HUGETLB_VERBOSE="1",
|
||||||
|
+ HUGETLB_MORECORE="yes")
|
||||||
|
|
||||||
|
# Run the remapping tests' up-front checks
|
||||||
|
linkhuge_wordsizes = check_linkhuge_tests()
|
||||||
|
@@ -747,7 +793,7 @@ def print_help():
|
||||||
|
|
||||||
|
def main():
|
||||||
|
global wordsizes, pagesizes, dangerous, paranoid_pool_check, system_default_hpage_size
|
||||||
|
- global custom_ldscripts
|
||||||
|
+ global custom_ldscripts, morecore_disabled
|
||||||
|
testsets = set()
|
||||||
|
env_override = {"QUIET_TEST": "1", "HUGETLBFS_MOUNTS": "",
|
||||||
|
"HUGETLB_ELFMAP": None, "HUGETLB_MORECORE": None}
|
||||||
|
@@ -802,6 +848,7 @@ def main():
|
||||||
|
return 1
|
||||||
|
|
||||||
|
check_hugetlbfs_path()
|
||||||
|
+ check_morecore_disabled()
|
||||||
|
|
||||||
|
if "func" in testsets: functional_tests()
|
||||||
|
if "stress" in testsets: stress_tests()
|
BIN
libhugetlbfs-2.23.0.g6b126a4.obscpio
(Stored with Git LFS)
Normal file
BIN
libhugetlbfs-2.23.0.g6b126a4.obscpio
(Stored with Git LFS)
Normal file
Binary file not shown.
490
libhugetlbfs.changes
Normal file
490
libhugetlbfs.changes
Normal file
@ -0,0 +1,490 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 1 03:18:42 UTC 2023 - Bernhard Wiedemann <bwiedemann@suse.com>
|
||||||
|
|
||||||
|
- Drop tests from rpm (boo#1159558)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Sep 9 07:42:34 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Add glibc-2.34-fix.patch as a fix for upstream issue gh#52:
|
||||||
|
https://github.com/libhugetlbfs/libhugetlbfs/pull/63/commits
|
||||||
|
(boo#1189094).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Sep 09 07:38:10 UTC 2021 - mliska@suse.cz
|
||||||
|
|
||||||
|
- Update to version 2.23.0.g6b126a4:
|
||||||
|
* Update NEWS for 2.23 release
|
||||||
|
* Wait child with os.wait()
|
||||||
|
* Makefile: add MANDIR variable
|
||||||
|
* Makefile: skip LIB resolve check if NATIVEONLY
|
||||||
|
* Introduce basic riscv64 support
|
||||||
|
* ld.hugetlbfs: fix -Ttext-segment argument on AArch64
|
||||||
|
* tests: add explicit permissions to open() call
|
||||||
|
* Update NEWS for 2.22 release
|
||||||
|
* Convert setup script to python3
|
||||||
|
* Clean up error checking in dump_proc_pid_maps()
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jul 16 21:21:31 UTC 2021 - trenn@suse.de
|
||||||
|
|
||||||
|
- Update to version 2.23.0.g6b126a4:
|
||||||
|
* Update NEWS for 2.23 release
|
||||||
|
* Wait child with os.wait()
|
||||||
|
* Makefile: add MANDIR variable
|
||||||
|
* Makefile: skip LIB resolve check if NATIVEONLY
|
||||||
|
* Introduce basic riscv64 support
|
||||||
|
* ld.hugetlbfs: fix -Ttext-segment argument on AArch64
|
||||||
|
* tests: add explicit permissions to open() call
|
||||||
|
* Update NEWS for 2.22 release
|
||||||
|
* Convert setup script to python3
|
||||||
|
* Clean up error checking in dump_proc_pid_maps()
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jul 09 13:18:00 UTC 2021 - trenn@suse.de
|
||||||
|
|
||||||
|
- Enhance _service magic
|
||||||
|
- Update to version 2.23.0.g6b126a4:
|
||||||
|
* Wait child with os.wait()
|
||||||
|
* Makefile: add MANDIR variable
|
||||||
|
* Makefile: skip LIB resolve check if NATIVEONLY
|
||||||
|
* Introduce basic riscv64 support
|
||||||
|
* ld.hugetlbfs: fix -Ttext-segment argument on AArch64
|
||||||
|
- Remove unsupported arch patch (does not patch clean anymore):
|
||||||
|
D libhugetlbfs.s390.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 21 12:36:14 UTC 2021 - Wolfgang Frisch <wolfgang.frisch@suse.com>
|
||||||
|
|
||||||
|
- Hardening: Link as PIE (bsc#1184123).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Aug 17 13:48:04 UTC 2020 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 2.22:
|
||||||
|
* Library now verifies if slices are supported on PPC
|
||||||
|
* ld.hugetlbfs now supports multiple page sizes on PPC64
|
||||||
|
* Various GCC warning cleanups
|
||||||
|
* setup script converted to Python 3
|
||||||
|
* Tests are only run on online CPUs and only if a sufficient number are
|
||||||
|
available
|
||||||
|
* task-size-overrun now searches empty address space more efficiently
|
||||||
|
* Tests that do not link the library are run for default page sizes only
|
||||||
|
* Test runner now uses Python 3
|
||||||
|
- remove libhugetlbfs_fix_tests.patch (upstream)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Oct 1 13:52:36 UTC 2018 - egotthold@suse.com
|
||||||
|
|
||||||
|
- Removed make target "install-perlmod" and filecheck from packaging process.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 28 11:30:08 UTC 2018 - egotthold@suse.com
|
||||||
|
|
||||||
|
- Update to 2.21
|
||||||
|
- Bug Fixes
|
||||||
|
* The noexec stack markers are set directly
|
||||||
|
* We no longer lie to glibc about shrinking the heap by less than HPAGE_SIZE
|
||||||
|
- Test Suite
|
||||||
|
* No existent tests are no longer marked Killed By Signal
|
||||||
|
* Disable malloc per-thread cache for heap shrinking tests
|
||||||
|
- Remove patch "ignore-perl-modules.diff"
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Sep 11 07:47:31 UTC 2017 - jengelh@inai.de
|
||||||
|
|
||||||
|
- Run `make install-perlmod` to install/satisfy Perl modules
|
||||||
|
required by /usr/bin/cpupcstat, itself installed by just
|
||||||
|
`make install` [boo#1057963]
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 20 10:40:04 UTC 2017 - jengelh@inai.de
|
||||||
|
|
||||||
|
- Update summary and descriptions a bit
|
||||||
|
- Move development manpages (*.3) to development subpackage
|
||||||
|
- Avoid ||/&& in %install because it can leave $? at non-zero
|
||||||
|
(unlike if..fi), and %install is run with sh -x.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Mar 9 09:10:07 UTC 2017 - fschnizlein@suse.com
|
||||||
|
|
||||||
|
- Update to 2.20
|
||||||
|
- Bug Fixes:
|
||||||
|
* Fix keyword collisions and warnings from GCC 5
|
||||||
|
* hugeadm output is parsed for default size in huge_page_setup_helper
|
||||||
|
* Testsuite: fallocate tests
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Nov 6 13:10:03 UTC 2015 - fvogt@suse.com
|
||||||
|
|
||||||
|
- Add zero_filesize_segment.patch to fix testcase on s390x
|
||||||
|
- Fixes bnc#919680
|
||||||
|
- Patches already included mainline and now deleted:
|
||||||
|
D libhugetlbfs-2.18-restrict-is-a-reserved-word.patch
|
||||||
|
D fix_plt_extrasz_always_returning_0_on_ppc64le.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Nov 6 12:01:55 UTC 2015 - fvogt@suse.com
|
||||||
|
|
||||||
|
- Latest version from git next branch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 23 22:35:32 UTC 2015 - antoine.belvire@laposte.net
|
||||||
|
|
||||||
|
- Add libhugelbfs-2.18-restrict-is-a-reserved-word.patch which
|
||||||
|
fixes compilation with GCC 5 (and C99/C11 in general).
|
||||||
|
* Add libhugetlbfs-2.18-restrict-is-a-reserved-word.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 20 12:11:44 UTC 2015 - normand@linux.vnet.ibm.com
|
||||||
|
|
||||||
|
- update to 2.18
|
||||||
|
to solve build failures for ppc/ppc64.
|
||||||
|
remove following patches now included in 2.18:
|
||||||
|
libhugetlbfs-ppc64le.patch
|
||||||
|
libhugetlbfs.ppc64le.step2.patch
|
||||||
|
libhugetlbfs.ppc64le.step3.patch
|
||||||
|
libhugetlbfs.ppc64le.step4.patch
|
||||||
|
- Add fix_plt_extrasz_always_returning_0_on_ppc64le.patch
|
||||||
|
already upstream.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 26 12:37:06 UTC 2014 - dmueller@suse.com
|
||||||
|
|
||||||
|
- update to 2.17:
|
||||||
|
* PPC segement alignment restrictions can be disabled
|
||||||
|
* Added Aarch64 support
|
||||||
|
* Allow compiler overrides for 64 and 32 bit builds
|
||||||
|
* hugeadm now handles /etc/mtab being a simlink properly
|
||||||
|
|
||||||
|
* ppc64 fixes
|
||||||
|
- remove libhugetlbfs.ia64-libdir.patch:
|
||||||
|
ia64 is no longer supported by openSUSE
|
||||||
|
- add ignore-perl-modules.diff: do not install perl modules, unused
|
||||||
|
and are installed in the wrong place to be found anyway
|
||||||
|
- add ARM support
|
||||||
|
- add disable-rw-on-non-ldscripts.diff: Skip rw tests
|
||||||
|
- Do not install tests anymore
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 11 08:09:11 UTC 2014 - trenn@suse.de
|
||||||
|
|
||||||
|
- Tests compile fine for s390(x), also include them in the package, the same
|
||||||
|
way it is done for other archs as well.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 10 15:56:31 UTC 2014 - trenn@suse.de
|
||||||
|
|
||||||
|
- There are no tests installed in s390(x) case, therefore there are no
|
||||||
|
files in %{_libdir}/libhugetlbfs
|
||||||
|
Remove the directory from the file list to fix package build for s390(x)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Jan 11 05:56:47 UTC 2014 - normand@linux.vnet.ibm.com
|
||||||
|
|
||||||
|
- Add support of ppc64le with 4 patches
|
||||||
|
libhugetlbfs-ppc64le.patch
|
||||||
|
libhugetlbfs.ppc64le.step2.patch
|
||||||
|
libhugetlbfs.ppc64le.step3.patch
|
||||||
|
libhugetlbfs.ppc64le.step4.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Mar 11 09:02:48 UTC 2013 - trenn@suse.de
|
||||||
|
|
||||||
|
- Update to version 2.16:
|
||||||
|
Features:
|
||||||
|
* ARM Support
|
||||||
|
* s390x Dynamic TASK_SIZE support
|
||||||
|
|
||||||
|
Bug Fixes:
|
||||||
|
* find_mounts() now properly NULL terminates mount point names
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jan 23 10:34:58 UTC 2013 - trenn@suse.de
|
||||||
|
|
||||||
|
- Update to version 2.15
|
||||||
|
Features:
|
||||||
|
* Some System z functionality went into 2.15
|
||||||
|
* Updated man pages
|
||||||
|
* Added basic events for core_i7 to oprofile_map_events
|
||||||
|
|
||||||
|
Fixes:
|
||||||
|
* Disable Unable to verify address range warning when offset < page_size
|
||||||
|
* Remove sscanf in library setup to avoid heap allocation before _morecore
|
||||||
|
override
|
||||||
|
* Revert heap exhaustion patch
|
||||||
|
* hugectl no longer clips LD_LIBRARY_PATH variable
|
||||||
|
* Fix clean on failure code to avoid closing stdout
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jul 11 06:24:07 UTC 2012 - adrian@suse.de
|
||||||
|
|
||||||
|
- Add excludearch for arm due to lacking support
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Apr 10 19:51:51 UTC 2012 - tabraham@novell.com
|
||||||
|
|
||||||
|
- Update to version 2.13
|
||||||
|
* hugeadm can now be used to control Transparent Huge Page tunables
|
||||||
|
* New morecore mode to better support THP
|
||||||
|
* Check permissions on hugetlbfs mount point before marking it as
|
||||||
|
available
|
||||||
|
* Fix shm tests to use random address instead of fixed, old address
|
||||||
|
failed on ARM
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Oct 12 20:04:52 UTC 2011 - tabraham@novell.com
|
||||||
|
|
||||||
|
- Update to version 2.12
|
||||||
|
* libhugetlbfs usages can now be restricted to certain binary names
|
||||||
|
* libhugetlbfs now supports static linking
|
||||||
|
* hugeadm uses more human readable directory names for mount points
|
||||||
|
* Fix segfault if specified user was not in passwd, failuer in
|
||||||
|
getpwuid() is now checked
|
||||||
|
* Added tests for static linking to testcase
|
||||||
|
* Added missing tests to driver script
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun May 29 21:42:52 UTC 2011 - meissner@novell.com
|
||||||
|
|
||||||
|
- Do not include the 268MB testcase /usr/lib/libhugetlbfs/tests/obj32/linkhuge_rw.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Dec 17 11:45:36 UTC 2010 - trenn@novell.com
|
||||||
|
|
||||||
|
- Update to version 2.11
|
||||||
|
Bugfixes and new features are listed in the NEWS file in
|
||||||
|
/usr/share/doc/packages/libhugetlbfs/NEWS
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Oct 6 16:52:30 UTC 2010 - aj@suse.de
|
||||||
|
|
||||||
|
- Update to version 2.9:
|
||||||
|
* Add --no-reseve to hugectl to request mmap'd pages are not reserved
|
||||||
|
for kernels newer than 2.6.34
|
||||||
|
* Add --obey-numa-mempol to hugeadm to request static pool pages are
|
||||||
|
allocated following the process NUMA memory policy
|
||||||
|
* Add switch to let administrator limit new mount points by size or inodes
|
||||||
|
* cpupcstat now caches the value returned by tlmiss_cost.sh to avoid
|
||||||
|
rerunning the script
|
||||||
|
* When specifying huge page pool sizes with hugeadm, memory sizes can
|
||||||
|
be used as well as the number of huge pages
|
||||||
|
* DEFAULT is now a valid huge page pool for resizing, it will adjust
|
||||||
|
the pool for the default huge page size
|
||||||
|
* tlbmiss_cost.sh in the contrib/ sub directory will estimate the cost
|
||||||
|
in CPU cycles of a TLB miss on the arch where it is run
|
||||||
|
* Add python script which automates huge page pool setup with minimal
|
||||||
|
input required from user
|
||||||
|
* cpupcstat now supports data collection using the perf tool as well as
|
||||||
|
oprofile
|
||||||
|
* --explain reports if min_free_kbytes is too small
|
||||||
|
* add --set-min_free_kbytes to hugeadm
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jun 18 14:41:41 UTC 2010 - coolo@novell.com
|
||||||
|
|
||||||
|
- strip test binaries to fix build
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 9 09:29:27 UTC 2010 - trenn@novell.com
|
||||||
|
|
||||||
|
- Removed unused files
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 8 22:48:44 UTC 2010 - jengelh@medozas.de
|
||||||
|
|
||||||
|
- add workarounds for broken Makefile logic to detect arch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 1 11:35:48 UTC 2010 - jengelh@medozas.de
|
||||||
|
|
||||||
|
- Package baselibs.conf
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Oct 12 19:12:48 UTC 2009 - aj@suse.de
|
||||||
|
|
||||||
|
- Fix typo in requires.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jul 29 15:46:42 CEST 2009 - trenn@suse.de
|
||||||
|
|
||||||
|
- Update from version 2.0 to 2.5
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 2 10:51:07 CET 2009 - olh@suse.de
|
||||||
|
|
||||||
|
- document workaround for NX configurations on x86 (bnc#470234 - LTC50261)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jan 7 15:11:22 CET 2009 - olh@suse.de
|
||||||
|
|
||||||
|
- Update SECTIONS from linker scripts for binutils 2.19 compatibility
|
||||||
|
(bnc#445372 - LTC50129)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jan 7 12:34:56 CET 2009 - olh@suse.de
|
||||||
|
|
||||||
|
- obsolete old -XXbit packages (bnc#437293)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Nov 6 14:59:22 CET 2008 - olh@suse.de
|
||||||
|
|
||||||
|
- fix libhugetlbfs 32bit test case xB.linkhuge failure (bnc#442209 - LTC49702)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 21 14:24:22 CEST 2008 - olh@suse.de
|
||||||
|
|
||||||
|
- handle older binutils versions in elf32ppclinux.xBDT (bnc#436451 - LTC49076)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Aug 27 18:33:12 CEST 2008 - olh@suse.de
|
||||||
|
|
||||||
|
- update to version 2.0 (fate#304340)
|
||||||
|
New Features
|
||||||
|
* New scriptless relinking for binutils >= 2.17
|
||||||
|
* Added direct allocator API for huge pages
|
||||||
|
|
||||||
|
Bug Fixes
|
||||||
|
* /proc/mounts is parsed line at a time to handle file larger than 4kb
|
||||||
|
* Read-only mappings use MAP_NORESERVE
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jun 25 11:31:01 CEST 2008 - olh@suse.de
|
||||||
|
|
||||||
|
- update to version 1.3
|
||||||
|
New features
|
||||||
|
* Add HUGETLB_NO_PREFAULT to control prefaulting of huge pages via mlock
|
||||||
|
* Add "[hostname:pid]" to output messages
|
||||||
|
* Setup for handling larger huge page sizes e.g. 16G huge pages
|
||||||
|
* Update for new upstream sysctl
|
||||||
|
* Add support for hugetlbfs_morecore to shrink the heap
|
||||||
|
|
||||||
|
Bug fixes
|
||||||
|
* Disable heap shrinking by default to avoid bug in glibc malloc
|
||||||
|
* Skip elflink calls in setup_libhugetlbfs for IA64 and sparc64
|
||||||
|
* Replace gethugepagesize with check_hugepagesize for error checking
|
||||||
|
* Make morecore argument a long to handle larger page sizes
|
||||||
|
|
||||||
|
Tets suite fixes
|
||||||
|
* Check uid/gid in tests where it matters
|
||||||
|
* tests: verify there are enough huge pages
|
||||||
|
* Change tests to read /proc/meminfo
|
||||||
|
* tests: verify that huge page size isn't too big for the test
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de
|
||||||
|
|
||||||
|
- added baselibs.conf file to build xxbit packages
|
||||||
|
for multilib support
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jan 14 17:19:02 CET 2008 - olh@suse.de
|
||||||
|
|
||||||
|
- update to version 1.2
|
||||||
|
New features
|
||||||
|
* Partial segment remapping. This allows non-relinked binaries to try
|
||||||
|
to take advantage of libhugetlbfs' segment remapping code. Large
|
||||||
|
segments are required, especially on Power. This feature is useful
|
||||||
|
for estimating huge page performance, however full relinking will
|
||||||
|
still perform better.
|
||||||
|
* Add extra debugging for binaries that may run out of address space.
|
||||||
|
* Log library version when HUGETLB_VERBOSE is enabled.
|
||||||
|
* New test to check handling of misaligned mmap() parameters.
|
||||||
|
Bug fixes
|
||||||
|
* Fix EH_FRAME segment. Fixes some C++ applications.
|
||||||
|
* Rework PLT detection to work better on Power.
|
||||||
|
* Add per-target-arch syscall stubs to the library. These provide
|
||||||
|
reliable error messages from elflink.c if they occur while the
|
||||||
|
program segments are unmapped.
|
||||||
|
* Add proper SONAME to shared libs.
|
||||||
|
* Makefile respects CFLAGS/LDFLAGS/CPPFLAGS environment variables.
|
||||||
|
* Make mlock() failure non-fatal.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Jul 8 09:34:13 CEST 2007 - olh@suse.de
|
||||||
|
|
||||||
|
- disable zero_filesize_segment test
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Apr 15 18:31:53 CEST 2007 - olh@suse.de
|
||||||
|
|
||||||
|
- update to version 1.1 (262564 - LTC33711)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 5 11:49:14 CET 2007 - olh@suse.de
|
||||||
|
|
||||||
|
- update to 20070129 devel snapshot
|
||||||
|
drop hugetlbd
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 5 11:21:45 CET 2007 - olh@suse.de
|
||||||
|
|
||||||
|
- build -m64/-m32 if required
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Dec 9 09:08:53 CET 2006 - olh@suse.de
|
||||||
|
|
||||||
|
- build with -g
|
||||||
|
make install should not depend on all
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Dec 8 16:20:25 CET 2006 - olh@suse.de
|
||||||
|
|
||||||
|
- package testsuite, fix make check
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Dec 5 14:48:13 CET 2006 - olh@suse.de
|
||||||
|
|
||||||
|
- add the hugetlbd (214426)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Oct 29 10:02:15 CET 2006 - olh@suse.de
|
||||||
|
|
||||||
|
- update to bugfix release 1.0.1 (214426)
|
||||||
|
* Always install linker scripts for all targets
|
||||||
|
* Error message updates
|
||||||
|
* Add documentation on HUGETLB_DEBUG
|
||||||
|
* Testcase updates
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Oct 5 13:40:17 CEST 2006 - olh@suse.de
|
||||||
|
|
||||||
|
- update to final 1.0
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 19 12:57:06 CEST 2006 - olh@suse.de
|
||||||
|
|
||||||
|
- update to 20060913 git state
|
||||||
|
docu updates
|
||||||
|
use library versioning
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jul 19 18:01:55 CEST 2006 - olh@suse.de
|
||||||
|
|
||||||
|
- update to 1.0-pre3
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Apr 18 13:45:56 CEST 2006 - olh@suse.de
|
||||||
|
|
||||||
|
- drop unneeded -packages from Buildrequires
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Apr 8 11:44:06 CEST 2006 - olh@suse.de
|
||||||
|
|
||||||
|
- update to 1.0-pre2 (#142046 - LTC20562)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 21 21:09:06 CET 2006 - olh@suse.de
|
||||||
|
|
||||||
|
- remove backup files
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 21 18:34:41 CET 2006 - olh@suse.de
|
||||||
|
|
||||||
|
- add linker scripts on ppc, ppc64, i386 and x86_64
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 9 13:33:32 CET 2006 - olh@suse.de
|
||||||
|
|
||||||
|
- create package, version 1.0-pre1 (#142046 - LTC20562)
|
||||||
|
|
4
libhugetlbfs.obsinfo
Normal file
4
libhugetlbfs.obsinfo
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
name: libhugetlbfs
|
||||||
|
version: 2.23.0.g6b126a4
|
||||||
|
mtime: 1599498497
|
||||||
|
commit: 6b126a4d7da9490fa40fe7e1b962edcb939feddc
|
99
libhugetlbfs.spec
Normal file
99
libhugetlbfs.spec
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
#
|
||||||
|
# spec file for package libhugetlbfs
|
||||||
|
#
|
||||||
|
# Copyright (c) 2021 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
%define my_make_flags V=1 CFLAGS="%{optflags} -fPIC" LDFLAGS="-pie" BUILDTYPE=NATIVEONLY PREFIX=%{_prefix} LIBDIR32=%{_libdir} DESTDIR=%{buildroot}
|
||||||
|
Name: libhugetlbfs
|
||||||
|
Version: 2.23.0.g6b126a4
|
||||||
|
Release: 0
|
||||||
|
Summary: Helper library for the Huge Translation Lookaside Buffer Filesystem
|
||||||
|
License: LGPL-2.1-or-later
|
||||||
|
Group: System/Libraries
|
||||||
|
URL: https://github.com/libhugetlbfs/libhugetlbfs
|
||||||
|
Source0: libhugetlbfs-%{version}.tar.gz
|
||||||
|
Source1: baselibs.conf
|
||||||
|
Patch0: libhugetlbfs.tests-malloc.patch
|
||||||
|
Patch1: libhugetlbfs_ia64_fix_missing_test.patch
|
||||||
|
Patch2: disable-rw-on-non-ldscripts.diff
|
||||||
|
Patch3: zero_filesize_segment.patch
|
||||||
|
Patch4: glibc-2.34-fix.patch
|
||||||
|
BuildRequires: doxygen
|
||||||
|
BuildRequires: glibc-devel-static
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
# bug437293
|
||||||
|
%ifarch ppc64
|
||||||
|
Obsoletes: libhugetlbfs-64bit
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description
|
||||||
|
The libhugetlbfs package interacts with the Linux hugetlbfs to
|
||||||
|
make large pages available to applications in a transparent manner.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files for libhugetlbfs
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: libhugetlbfs
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
Devel package, header and static library, of libhugetlbfs.
|
||||||
|
|
||||||
|
%package tests
|
||||||
|
Summary: Tests for package libhugetlbfs
|
||||||
|
Group: Development/Tools/Other
|
||||||
|
|
||||||
|
%description tests
|
||||||
|
The testsuite for libhugetlbfs. Binaries can be found in
|
||||||
|
%{_libdir}/libhugetlbfs/tests.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
echo %{version} > version
|
||||||
|
make %{my_make_flags}
|
||||||
|
|
||||||
|
%install
|
||||||
|
make %{my_make_flags} PMDIR="%{perl_vendorlib}/TLBC" \
|
||||||
|
install install-tests
|
||||||
|
mkdir -p %{buildroot}%{_prefix}/include
|
||||||
|
cp -avL hugetlbfs.h %{buildroot}%{_prefix}/include
|
||||||
|
chmod 644 %{buildroot}%{_libdir}/*.a
|
||||||
|
if [ -f %{buildroot}%{_libdir}/libhugetlbfs/tests/obj64/dummy.ldscript ]; then
|
||||||
|
chmod -f a-x %{buildroot}%{_libdir}/libhugetlbfs/tests/obj64/dummy.ldscript
|
||||||
|
fi
|
||||||
|
rm -r %{buildroot}%{_libdir}/libhugetlbfs/tests
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-, root, root)
|
||||||
|
%doc LGPL-2.1 HOWTO README NEWS
|
||||||
|
%{_datadir}/libhugetlbfs
|
||||||
|
%{_bindir}/*
|
||||||
|
%{_mandir}/man[178]/*%{?ext_man}
|
||||||
|
%{_libdir}/libhugetlbfs_privutils.so
|
||||||
|
%{_libdir}/libhugetlbfs.so
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%defattr(-, root, root)
|
||||||
|
%{_includedir}/hugetlbfs.h
|
||||||
|
%{_libdir}/libhugetlbfs.a
|
||||||
|
%{_mandir}/man3/*%{?ext_man}
|
||||||
|
|
||||||
|
%files tests
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%{_libdir}/libhugetlbfs/
|
||||||
|
|
||||||
|
%changelog
|
17
libhugetlbfs.tests-malloc.patch
Normal file
17
libhugetlbfs.tests-malloc.patch
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
Test malloc, set unused to NULL if it fails
|
||||||
|
|
||||||
|
---
|
||||||
|
tests/heapshrink-helper.c | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
--- a/tests/heapshrink-helper.c
|
||||||
|
+++ b/tests/heapshrink-helper.c
|
||||||
|
@@ -21,5 +21,7 @@
|
||||||
|
|
||||||
|
static void __attribute__((constructor)) setup_heapshrink_helper(void)
|
||||||
|
{
|
||||||
|
- (void) malloc(1);
|
||||||
|
+ void *unused = malloc(1);
|
||||||
|
+ if (unused)
|
||||||
|
+ unused = NULL;
|
||||||
|
}
|
25
libhugetlbfs_ia64_fix_missing_test.patch
Normal file
25
libhugetlbfs_ia64_fix_missing_test.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
libhugetlbfs: TESTS_64 is not defined for ia64, check when trying to install it
|
||||||
|
|
||||||
|
That was for libhugetlbfs version 2.12 (TEST_64 is not defined for ia64),
|
||||||
|
same seem to be the case for x86_64 in version 2.15.
|
||||||
|
-> Revert the installation of this test totally.
|
||||||
|
|
||||||
|
Signed-off-by: Thomas Renninger <trenn@suse.de>
|
||||||
|
|
||||||
|
---
|
||||||
|
tests/Makefile | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
Index: libhugetlbfs-2.21/tests/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- libhugetlbfs-2.21.orig/tests/Makefile
|
||||||
|
+++ libhugetlbfs-2.21/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 run_tests.py $(DESTDIR)$(INST_TESTSDIR64)
|
||||||
|
|
||||||
|
install: $(OBJDIRS:%=%/install)
|
38
zero_filesize_segment.patch
Normal file
38
zero_filesize_segment.patch
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
diff --git a/tests/Makefile b/tests/Makefile
|
||||||
|
index e2e1156..4daa5d1 100644
|
||||||
|
--- a/tests/Makefile
|
||||||
|
+++ b/tests/Makefile
|
||||||
|
@@ -39,6 +39,11 @@ LDLIBS = $(STATIC_LDLIBS) -ldl -lhugetlbfs_privutils
|
||||||
|
LDFLAGS32 = -L../obj32
|
||||||
|
LDFLAGS64 = -L../obj64
|
||||||
|
INSTALL = install
|
||||||
|
+ifeq ($(ARCH),s390x)
|
||||||
|
+ARCH_SUFFIX = .s390x
|
||||||
|
+else
|
||||||
|
+ARCH_SUFFIX =
|
||||||
|
+endif
|
||||||
|
|
||||||
|
TESTS = $(LIB_TESTS) $(NOLIB_TESTS) $(STRESS_TESTS) dummy.ldscript
|
||||||
|
ifdef ELF32
|
||||||
|
@@ -181,7 +186,7 @@ $(LDSCRIPT_TESTS:%=obj32/%): obj32/%: %.ld obj32/%.o obj32/testutils.o
|
||||||
|
@$(VECHO) LD32 "(preload test)" $@
|
||||||
|
$(CC32) $(LDFLAGS) $(LDFLAGS32) -o $@ -Lobj32 $^ $(LDLIBS) || cp $(BADTOOLCHAIN) $@
|
||||||
|
|
||||||
|
-$(LDSCRIPT_TESTS:%=obj64/%): obj64/%: %.ld obj64/%.o obj64/testutils.o
|
||||||
|
+$(LDSCRIPT_TESTS:%=obj64/%): obj64/%: %$(ARCH_SUFFIX).ld obj64/%.o obj64/testutils.o
|
||||||
|
@$(VECHO) LD64 "(preload test)" $@
|
||||||
|
$(CC64) $(LDFLAGS) $(LDFLAGS64) -o $@ -Lobj64 $^ $(LDLIBS) || cp $(BADTOOLCHAIN) $@
|
||||||
|
|
||||||
|
diff --git a/tests/zero_filesize_segment.s390x.ld b/tests/zero_filesize_segment.s390x.ld
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..813a92f
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/zero_filesize_segment.s390x.ld
|
||||||
|
@@ -0,0 +1,7 @@
|
||||||
|
+SECTIONS
|
||||||
|
+{
|
||||||
|
+ .empty (0x90000000) : {
|
||||||
|
+ __empty_segment = .;
|
||||||
|
+ . = . + 4;
|
||||||
|
+ }
|
||||||
|
+}
|
Loading…
Reference in New Issue
Block a user