Date: Tue, 31 Mar 1998 09:16:31 +0000 (GMT) From: Terry Lambert <tlambert@primenet.com> To: archer@lucky.net (Alexander Litvin) Cc: current@FreeBSD.ORG Subject: Re: kernel with SOFTUPDATES doesn't link Message-ID: <199803310916.CAA14214@usr08.primenet.com> In-Reply-To: <19980331092916.42639@carrier.kiev.ua> from "Alexander Litvin" at Mar 31, 98 09:29:16 am
next in thread | previous in thread | raw e-mail | index | archive | help
> When attempting to make kernel with 'options SOFTUPDATES', > during linking I got: > > > loading kernel > > ffs_softdep.o: Undefined symbol `_time' referenced from text segment > > ffs_softdep.o: Undefined symbol `_time' referenced from text segment > > ffs_softdep.o: Undefined symbol `_time' referenced from text segment > > ffs_softdep.o: Undefined symbol `_time' referenced from text segment > > ffs_softdep.o: Undefined symbol `_time' referenced from text segment > > ffs_softdep.o: Undefined symbol `_time' referenced from text segment > > *** Error code 1 > > As I understand, that happened after Poul-Henning commit, which > killed 'time' variable. Though /sys/ufs/ffs/ffs_softdep.c still > depends on time. The time variable is referenced directly in the dependency resoloution code (the "shall be marked for update" part of the POSIX guarantees on timestamps, mostly). The "time" references need to be replaced with a "getmicrotime()" call. In at least one place (from memory), you will have to declare a local time variable and pass it's address to getmicrotime(), which takes a pointer to a time value. This is because of the reserved areas in the time making an assignment necessary, so you can't pass the address of the address of the variable to get the time to it directly. The getmicrotime() changes are a Good Thing(tm) incidently; now we have some place to hang a mutex. The curproc references need to be similarly wrapped, and I think the code depends on them, too. 8-(. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. 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?199803310916.CAA14214>