Electric Fence is a different kind of malloc() debugger. It uses the virtual
memory hardware of your system to detect when software overruns the boundaries
of a malloc() buffer. It will also detect any accesses of memory that has
been released by free(). Because it uses the VM hardware for detection,
Electric Fence stops your program on the first instruction that causes
a bounds violation. It's then trivial to use a debugger to display the
offending statement.
It will probably port to any ANSI/POSIX system that provides mmap(), and
mprotect(), as long as mprotect() has the capability to turn off all access
to a memory page, and mmap() can use /dev/zero or the MAP_ANONYMOUS flag
to create virtual memory pages.
Complete information on the use of Electric Fence is in the manual page
efence(3).
devel: remove 'Created by' lines
A big Thank You to the original contributors of these ports:
* "Waitman Gobble" <uzimac@da3m0n8t3r.com>
* <jkoshy@FreeBSD.org>
* Aaron Dalton <aaron@FreeBSD.org>
* Aaron Dalton <aaron@daltons.ca>
* Aaron H. K. Diep <ahkdiep@gmail.com>
* Aaron Hurt <ahurt@anbcs.com>
* Abel Chow <abel_chow@yahoo.com>
* Adam McLaurin
* Adam Saponara <as@php.net>
* Adam Weinberger <adamw@FreeBSD.org>
* Ade Lovett <ade@FreeBSD.org>
(Only the first 15 lines of the commit message are shown above )
Clean up support for FreeBSD 11.2.
While here, modernize some comments in Mk/bsd.*.mk.
Note that graphics/drm-fbsd11.2-kmod is not renamed yet, this was somewhat
under discussion.
Submitted by: rene
Reviewed by: antoine, jbeich, mat, zeising
Differential Revision: https://reviews.freebsd.org/D21974
devel/ElectricFence: add missing posix_memalign()
The current implementation did not handle posix_memalign().
Programs using posix_memalign() to allocate memory effectively
silently fall back to the standard implementation. Whenever the
program calls free() to release the memory, the efence implementation
is called and barfs that the memory is unknown, leading to a core
dump.
Sadly, many programs use posix_memalign and thus could not be debugged
with efence.
Example use case: See nginx, PR#235296
PR: 235297
Submitted by: topical@gmx.net
Obtained from: https://bugzilla.redhat.com/show_bug.cgi?id=603075https://launchpad.net/ubuntu/+source/electric-fence/+changelog
MASTER_SITES cleanup.
- Replace ${MASTER_SITE_FOO} with FOO.
- Merge MASTER_SITE_SUBDIR into MASTER_SITES when possible. (This means 99.9%
of the time.)
- Remove occurrences of MASTER_SITE_LOCAL when no subdirectory was present and
no hint of what it should be was present.
- Fix some logic.
- And generally, make things more simple and easy to understand.
While there, add magic values to the FESTIVAL, GENTOO, GIMP, GNUPG, QT and
SAMBA macros.
Also, replace some EXTRACT_SUFX occurences with USES=tar:*.
Checked by: make fetch-urlall-list
With hat: portmgr
Sponsored by: Absolight
Preserve whitespace in the argument list. This can be tested by running
"ef.sh /bin/echo a\ \ b"; the correct output is "a b\n", but before this
commit it would print "a b\n" instead.
Disable self-tests which fail on pointyhat due to differences in
expected signal delivery between 7.x host and 6.x jail. See patch
comment for more info.
Approved by: portmgr (kris)
- Prune MASTER_SITES: this particular flavour is no longer available from
perens.com
- Nuke 3-line plist while here
Noticed by: fenner's magical distfile survey
- Unbreak on non-std hardware: Use -DPAGE_PROTECTION_VIOLATED_SIGNAL=SIGBUS
on all archs except alpha.
- Pass CC through while here.
PR: ports/65878
Submitted by: Tim Robbins