Commit graph

15 commits

Author SHA1 Message Date
wiz
1d69dd27d0 Update to 2.7:
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 *'.
2009-08-09 23:04:31 +00:00
joerg
2d1ba244e9 Simply and speed up buildlink3.mk files and processing.
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.
2009-03-20 19:23:50 +00:00
ahoka
41b0ef3e8e Add conflict with libsigsegv25. 2008-09-12 22:14:11 +00:00
wiz
583efeb690 Update to 2.6:
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
2008-09-06 13:52:29 +00:00
wiz
309fbd8063 Fix false positives in determining stack overflow when using mincore.
Using patch from Eric Blake that got committed upstream.
http://lists.gnu.org/archive/html/bug-gnulib/2008-07/msg00073.html

Bump PKGREVISION.
2008-08-23 15:56:28 +00:00
joerg
e7c5232330 Supports DESTDIR. 2008-01-07 18:15:27 +00:00
rillig
3ebae1687e Updated libsigsegv to 2.5, as requested in PR 37440.
New in 2.5:

* Support for MacOS X 10.5.
2007-11-29 18:25:22 +00:00
joerg
4e5b6b834a libsigsegv *is* a full dependency at least on DragonFly and FreeBSD.
Bump clisp for the changed dependency.
2006-12-29 13:54:22 +00:00
joerg
8e53f9d1da - USE_LIBTOOL=yes
- 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.
2006-07-24 13:39:26 +00:00
perry
8909446080 Update to 2.4 -- needed to fix bugs that would otherwise bite clisp.
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.
2006-07-20 23:12:20 +00:00
jlam
c16221a4db Change the format of BUILDLINK_ORDER to contain depth information as well,
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
2006-07-08 23:10:35 +00:00
jlam
9430e49307 Track information in a new variable BUILDLINK_ORDER that informs us
of the order in which buildlink3.mk files are (recursively) included
by a package Makefile.
2006-07-08 22:38:58 +00:00
reed
5abef9be14 Over 1200 files touched but no revisions bumped :)
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).
2006-04-06 06:21:32 +00:00
wiz
34c0cffb92 Fix path to itself. 2006-03-11 22:03:52 +00:00
wiz
9564b30fdb Initial import of libsigsegv-2.2 from pkgsrc-wip, packaged by
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
2006-03-11 22:00:01 +00:00