Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Dec 2002 18:35:15 +0000 (GMT)
From:      Daniel Flickinger <attila@hun.org>
To:        Kris Kennaway <kris@obsecurity.org>
Cc:        FreeBSD-CURRENT <current@FreeBSD.ORG>
Subject:   Re: CURRENT: buildworld failure: sbin/swapon
Message-ID:  <20021228183515.nEiU11856@hun.org>
In-Reply-To: <20021227030346.A1617@citusc.usc.edu>
References:  <20021227054225.vsk658403@hun.org> <20021226201447.B32367@citusc.usc.edu> <20021227054225.vsk658403@hun.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Sent: Fri, 27 Dec 2002 03:03:46 -0800 by Kris Kennaway:
|
| Well, -current builds fine for me using the 'proper' mechanism, so
| if you want to be different you're basically on your own :-)

    OK; but it still non-builds swapon with the includes from
    the running 1200 GMT 08 Dec. Pre-building the includes is
    irrelevant but to avoid your dismissal, I'll do it your way
    --and, I believe, we are both using the same system: Tyan
    2462 SMP:

	rm -rf /usr/src/*
	rm -rf /usr/obj/*
	cvsup supfile-date	[*default date=2002.12.27.12.00.00]
	make buildworld

    starting with a fresh copy of everything still results in:

	===> sbin/swapon
	swapon.o: In function `swap_on_off':
	swapon.o(.text+0x171): undefined reference to `swapoff'
	*** Error code 1
	`all' not remade because of errors.

    the cvsup slice from 1200 GMT 15 Dec builds completely;
    swapon.c moved to version r1.13 at 1917 GMT 15 Dec (matt):

	  int
	! swap_on_off(char *name, int ignoreebusy, int do_swapoff)
	  {
	! 	if ((do_swapoff ? swapoff(name) : swapon(name)) == -1) {
		    switch (errno) {
		    case EBUSY:

    which causes the 1200 GMT 16 Dec build to fail linking
    'swapon' with the addition of the unreferenced function
    'swapoff'.

    I grep'd and glimpse'd the entire source tree and the only
    references to 'swapoff' are the kernel sysctl's:

	sys/kern/init_sysent.c
          { SYF_MPSAFE | AS(swapoff_args), (sy_call_t *)swapoff },  /* 424 = swapoff */

    and

	sys/kern/syscalls.c
          "swapoff",                      /* 424 = swapoff */

    and one in the vm system

	sys/vm/vm_swap.c
	 * SYSCALL: swapoff(devname)
	struct swapoff_args {
	swapoff(td, uap)
		struct swapoff_args *uap;
		swap_pager_swapoff(index, &sp->sw_used);

    none of which provide a linkable function for 'swapon'.

    Bottom line: where is 'swapoff(char *str)'?

    The suggestion box is open!


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021228183515.nEiU11856>