Hi all,
I am happy to announced that libhugetlbfs 1.2-pre1 has been released to
the eagerly awaiting world. It can be found at the normal places (the
current dev snapshot at http://libhugetlbfs.ozlabs.org/, for instance,
or the git tree).
Highlights:
- Cleaned up abort()s during remapping to be more reliable.
- IA64 and sparc64 support for MORECORE and the tests.
- Reworked PLT detection which should be less fragile (and doesn't
conflict with segment attributes (the .plt is NOBITS on ppc64 per the
ABI, but we were putting a LONG(0) there)).
- EH_FRAME handling in the linker scripts, which fixes some binaries
that would try to error out, but would segfault (or otherwise die
awkwardly) when relinked.
- Add extra debugging to help with binaries with total segment size
close to the address space limit (typically 32-bit binaries).
Activated by HUGETLB_DEBUG=1, the messages may help when the kernel
says "hugetlb_get_unmapped_area() unable to open enough areas".
- Partial segment remapping allows normal binaries to attempt to
leverage segment remapping without relinking. This is achieved via an
LD_PRELOAD similar to morecore, along with two environmental variables
(one enables the feature, the other indicates where __executable_start
is). See the HOWTO for details.
- Cleanups all over the place.
Shortlog and Changelog follow.
Thanks,
Nish
Andrew Hastings (1):
test_utils: fix test_addr_huge for anon pages
Andy Whitcroft (2):
localversion: make a missing version an error in a tarball
mktarball: make valid tarballs from any commit
David Gibson (3):
Fix SEGVs in task-size-overrun test
Add per-target-arch syscall stubs to the library
Fix the icache-hygeine testcase for i386 and x86_64
Jon Tollefson (1):
elflink: remove redundant code
Mike Frysinger (1):
touchup libhugetlbfs Makefile
Nishanth Aravamudan (21):
elflink: rework extracopy logic
elflink: drop hugepage cached pages for writable segments
Makefile: use export to avoid passing the environment to sub-makes
Makefile: add ia64, sparc64 support for functional tests only
hugeutils: remove hugetlbfs_vaddr_granularity in favor of slice functions
Makefiles: fix build on ia64 by expressing dependencies
tests: update for ia64
tests: use appropriate return type for gethugepagesize()
tests/Makefile: don't use 'new' make syntax
Revert "elflink: drop hugepage cached pages for writable segments"
hugeutils: one missed gethugepagesize() conversion
morecore: mlock() failure is non-fatal
Revert ae76f97ae76f97... hugeutils: remove hugetlbfs_vaddr_granularity in
favor of slice functions
hugeutils: move hugetlbfs_vaddr_granularity
elflink: rework plt detection
ldscripts: fix EH_FRAME segment
elflink: fix-up plt rework
elf64ppc.B: fix eh_frame_hdr placement be with the text not data
elflink: add extra debugging for binaries that may run out of address
space
elflink: partial segment remapping
stack_grow_into_huge: update with kernel fix info
Steve Fox (2):
sbin removal from Makefile
log library version with HUGETLB_VERBOSE
HOWTO | 36 +++-
Makefile | 75 +++++--
elf32ppclinux.S | 34 +++
elf64ppc.S | 43 ++++
elf_i386.S | 42 ++++
elf_x86_64.S | 34 +++
elflink.c | 465 ++++++++++++++++++++++++-----------
hugetlbfs.h | 1 -
hugeutils.c | 13 +-
ldscripts/elf32ppclinux.xB | 6 +-
ldscripts/elf32ppclinux.xBDT | 14 +-
ldscripts/elf64ppc.xB | 6 +-
ldscripts/elf64ppc.xBDT | 14 +-
ldscripts/elf_i386.xB | 6 +-
ldscripts/elf_i386.xBDT | 6 +-
ldscripts/elf_x86_64.xB | 6 +-
ldscripts/elf_x86_64.xBDT | 6 +-
libhugetlbfs_internal.h | 2 +
localversion | 7 +-
mktarball | 32 +++
morecore.c | 23 ++-
tests/Makefile | 17 +-
tests/alloc-instantiate-race.c | 2 +-
tests/brk_near_huge.c | 9 +-
tests/chunk-overcommit.c | 2 +-
tests/direct.c | 2 +-
tests/empty_mounts.c | 2 +-
tests/gethugepagesize.c | 4 +-
tests/huge_at_4GB_normal_below.c | 3 +-
tests/huge_below_4GB_normal_above.c | 3 +-
tests/icache-hygeine.c | 46 ++++-
tests/map_high_truncate_2.c | 2 +-
tests/meminfo_nohuge.c | 4 +-
tests/misaligned_offset.c | 4 +-
tests/mmap-cow.c | 5 +-
tests/mmap-gettest.c | 2 +-
tests/mprotect.c | 2 +-
tests/private.c | 2 +-
tests/ptrace-write-hugepage.c | 2 +-
tests/readback.c | 2 +-
tests/run_tests.sh | 3 +-
tests/shared.c | 2 +-
tests/shm-fork.c | 2 +-
tests/shm-getraw.c | 4 +-
tests/shm-gettest.c | 2 +-
tests/slbpacaflush.c | 2 +-
tests/stack_grow_into_huge.c | 5 +-
tests/straddle_4GB.c | 2 +-
tests/task-size-overrun.c | 22 +--
tests/testutils.c | 1 +
tests/truncate.c | 2 +-
tests/truncate_above_4GB.c | 7 +-
tests/truncate_reserve_wraparound.c | 2 +-
tests/truncate_sigbus_versus_oom.c | 2 +-
tests/unlinked_fd.c | 2 +-
55 files changed, 794 insertions(+), 252 deletions(-)
create mode 100644 elf32ppclinux.S
create mode 100644 elf64ppc.S
create mode 100644 elf_i386.S
create mode 100644 elf_x86_64.S
create mode 100755 mktarball
--
Nishanth Aravamudan <[EMAIL PROTECTED]>
IBM Linux Technology Center
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Libhugetlbfs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel