Issues found with existing distfiles:
distfiles/eclipse-sourceBuild-srcIncluded-3.0.1.zip
distfiles/fortran-utils-1.1.tar.gz
distfiles/ivykis-0.39.tar.gz
distfiles/enum-1.11.tar.gz
distfiles/pvs-3.2-libraries.tgz
distfiles/pvs-3.2-linux.tgz
distfiles/pvs-3.2-solaris.tgz
distfiles/pvs-3.2-system.tgz
No changes made to these distinfo files.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
New in 2.10:
* Support for Linux/S390.
<sigsegv.h> now defines a macro SIGSEGV_FAULT_ADDRESS_ALIGNMENT.
It is either 1 or pagesize. Its meaning is that
- The fault address passed to a SIGSEGV handler has been rounded down
to a multiple of SIGSEGV_FAULT_ADDRESS_ALIGNMENT.
- The address and length arguments of sigsegv_register function calls
must be multiples of SIGSEGV_FAULT_ADDRESS_ALIGNMENT.
* Faster distinction between stack overflow and other fault on OpenBSD.
New in 2.9:
* Correct support for 64-bit ABI on MacOS X 10.5 and newer.
* Fix alternate stack overflow on at least Linux for PowerPC64;
regression introduced in 2.6.
New in 2.7:
* Support for platforms that follow POSIX:2008, not POSIX:2001.
* Support for MirBSD 10.
* Support for IRIX 5.3. Contributed by Eric Blake.
* On Linux platforms, libsigsegv now prefers the POSIX way of defining the
signal handler over than the traditional one, when both are supported.
As a consequence, on Linux/i386 and other Linux platforms, the type
'stackoverflow_context_t' is now typedefed to 'ucontext_t *' rather than
'struct sigcontext *'.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
New in 2.6:
* sigsegv_leave_handler is changed. Previously it was a normal function with
no arguments. Now it is a function that take a non-returning continuation
function and three arguments for it as arguments.
Where you had code like
int my_handler(void* fault_address, int serious)
{
...code_before()...;
sigsegv_leave_handler();
...code_after()...;
longjmp(...);
}
you now have to write
void my_handler_tail(void* arg1, void* arg2, void* arg3)
{
...code_after()...;
longjmp(...);
}
int my_handler(void* fault_address, int serious)
{
...code_before()...;
#if LIBSIGSEGV_VERSION >= 0x0206
return sigsegv_leave_handler(my_handler_tail, arg, NULL, NULL);
#else
sigsegv_leave_handler();
my_handler_tail(arg, NULL, NULL);
/* NOTREACHED */
abort();
#endif
}
* sigsegv_leave_handler now works correctly on MacOS X.
* Support for 64-bit ABI on MacOS X 10.5.
* Support for building universal binaries on MacOS X.
* Improved distinction between stack overflow and other fault on NetBSD,
OpenBSD, FreeBSD, Linux, AIX, Solaris. Contributed by Eric Blake.
* GNU gnulib now has an autoconf macro for locating libsigsegv:
http://www.gnu.org/software/gnulib/MODULES.html#module=libsigsegv
- On DragonFly, the stack overflow handling should follow the logic
of FreeBSD, similiar the address space scanning. This is now needed
for lang/clisp. Since the installed version differs, bump revision.
from the NEWS file:
New in 2.4:
* Support for GCC 4 on more platforms.
* Added support for catching stack overflow on NetBSD.
* Improved support for catching stack overflow on Linux, Solaris:
Works also when /proc is not mounted or lacks read permissions.
New in 2.3:
* Support for GCC 4 on some platforms contributed by Paolo Bonzini.
* Support for MacOS X i386 contributed by Bruno Haible.
* Improved support for Woe32 contributed by Doug Currie.
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto
RECOMMENDED is removed. It becomes ABI_DEPENDS.
BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.
BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.
BUILDLINK_DEPENDS does not change.
IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".
Added to obsolete.mk checking for IGNORE_RECOMMENDED.
I did not manually go through and fix any aesthetic tab/spacing issues.
I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.
I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.
As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.
As discussed on tech-pkg.
I will commit to revbump, pkglint, pkg_install, createbuildlink separately.
Note that if you use wip, it will fail! I will commit to pkgsrc-wip
later (within day).
Martijn van Buul.
GNU libsigsegv is a library for handling page faults in user mode. A page
fault occurs when a program tries to access a region of memory that is
currently unavailable. Catching and handling a page fault is a useful
technique for implementing:
* Pageable virtual memory
* Memory-mapped access to persistent databases
* Generational garbage collectors
* Stack overflow handlers
* Distributed shared memory