Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions srcpkgs/hardened_malloc/INSTALL.msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@

The shared library will be installed at:

/usr/lib/libhardened_malloc.so
/usr/lib/libhardened_malloc-light.so

It's will NOT become active on its own. To enable it system-wide, you must preload it.

1. Test it first! Make sure a normal binary still runs:

LD_PRELOAD=/usr/lib/libhardened_malloc.so /bin/true && echo OK
LD_PRELOAD=/usr/lib/libhardened_malloc-light.so /bin/true && echo OK

If that prints OK, the library loads cleanly on this system.

2. Enable system-wide by adding this line to /etc/ld.so.preload
(create if file doesn't exist):

/usr/lib/libhardened_malloc.so

for light variant:
/usr/lib/libhardened_malloc-light.so

Per-process alternative (safer to trial): just export LD_PRELOAD as above
for the programs you want, instead of editing ld.so.preload.

################ WARNING ################

/etc/ld.so.preload is loaded by EVERY dynamically-linked program.
If provided .so files are ever missing or broken while listed there, essential
tools (your shell, sudo , xbps) may fail to start and you can lock
yourself out of a running system.
28 changes: 28 additions & 0 deletions srcpkgs/hardened_malloc/template
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Template file for 'hardened_malloc'
pkgname=hardened_malloc
version=14
revision=1
archs="x86_64"
checkdepends="python3"
short_desc="Hardened memory allocator from GrapheneOS"
maintainer="utsuro <utsuro.shun476@passmail.com>"
license="MIT"
homepage="https://github.com/GrapheneOS/hardened_malloc"
distfiles="https://github.com/GrapheneOS/hardened_malloc/archive/refs/tags/${version}.tar.gz"
checksum=4cd95ff3b83c433ebc6269d0778d79eb3480b7d5bc873503e1cc3768546bdbec

do_build() {
make ${makejobs} VARIANT=default
make ${makejobs} VARIANT=light
}

do_install() {
vinstall out/libhardened_malloc.so 755 usr/lib
vinstall out-light/libhardened_malloc-light.so 755 usr/lib

vlicense LICENSE
}

do_check() {
make test
}