# # spec file for package libhugetlbfs (Version 2.0) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # 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 http://bugs.opensuse.org/ # # norootforbuild Name: libhugetlbfs BuildRequires: doxygen License: LGPL v2.1 or later Group: Development/Libraries/Other Summary: hugetlbfs helper library # bug437293 %ifarch ppc64 Obsoletes: libhugetlbfs-64bit %endif # Version: 2.0 Release: 12 Url: http://libhugetlbfs.sourceforge.net/ BuildRoot: %{_tmppath}/%{name}-%{version}-build %define my_make_flags V=1 CFLAGS="$RPM_OPT_FLAGS -g -fPIC" BUILDTYPE=NATIVEONLY PREFIX=/usr LIBDIR32=%{_libdir} DESTDIR=$RPM_BUILD_ROOT Source0: libhugetlbfs-%{version}.tar.bz2 Patch0: libhugetlbfs.install-header.patch Patch1: libhugetlbfs.ia64-libdir.patch Patch2: libhugetlbfs.s390.patch Patch3: libhugetlbfs.tests-malloc.patch Patch4: libhugetlbfs.linkerscript.patch Patch5: libhugetlbfs.small_bss.patch Patch6: libhugetlbfs.linker-sections.patch Patch7: libhugetlbfs.howto.patch %description libhugetlbfs interacts with the Linux hugetlbfs to make large pages available to applications in a transparent manner. Authors: -------- David Gibson Adam Litke %prep %setup -q %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 %build make %{my_make_flags} libs $tests %install tests= %ifarch ppc ppc64 %ix86 x86_64 tests=install-tests %endif make %{my_make_flags} install $tests mkdir -p $RPM_BUILD_ROOT/usr/include cp -avL hugetlbfs.h $RPM_BUILD_ROOT/usr/include chmod 644 $RPM_BUILD_ROOT%{_libdir}/*.a %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-, root, root) %doc LGPL-2.1 HOWTO README NEWS /usr/share/libhugetlbfs /usr/bin/* /usr/include/* %{_libdir}/lib* %changelog * Mon Feb 02 2009 olh@suse.de - document workaround for NX configurations on x86 (bnc#470234 - LTC50261) * Wed Jan 07 2009 olh@suse.de - Update SECTIONS from linker scripts for binutils 2.19 compatibility (bnc#445372 - LTC50129) * Wed Jan 07 2009 olh@suse.de - obsolete old -XXbit packages (bnc#437293) * Thu Nov 06 2008 olh@suse.de - fix libhugetlbfs 32bit test case xB.linkhuge failure (bnc#442209 - LTC49702) * Tue Oct 21 2008 olh@suse.de - handle older binutils versions in elf32ppclinux.xBDT (bnc#436451 - LTC49076) * Wed Aug 27 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 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 2008 ro@suse.de - added baselibs.conf file to build xxbit packages for multilib support * Mon Jan 14 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 08 2007 olh@suse.de - disable zero_filesize_segment test * Sun Apr 15 2007 olh@suse.de - update to version 1.1 (262564 - LTC33711) * Mon Feb 05 2007 olh@suse.de - update to 20070129 devel snapshot drop hugetlbd * Mon Feb 05 2007 olh@suse.de - build -m64/-m32 if required * Sat Dec 09 2006 olh@suse.de - build with -g make install should not depend on all * Fri Dec 08 2006 olh@suse.de - package testsuite, fix make check * Tue Dec 05 2006 olh@suse.de - add the hugetlbd (214426) * Sun Oct 29 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 05 2006 olh@suse.de - update to final 1.0 * Tue Sep 19 2006 olh@suse.de - update to 20060913 git state docu updates use library versioning * Wed Jul 19 2006 olh@suse.de - update to 1.0-pre3 * Tue Apr 18 2006 olh@suse.de - drop unneeded -packages from Buildrequires * Sat Apr 08 2006 olh@suse.de - update to 1.0-pre2 (#142046 - LTC20562) * Tue Feb 21 2006 olh@suse.de - remove backup files * Tue Feb 21 2006 olh@suse.de - add linker scripts on ppc, ppc64, i386 and x86_64 * Thu Feb 09 2006 olh@suse.de - create package, version 1.0-pre1 (#142046 - LTC20562)