Replied: Tue, 05 May 1998 03:16:34 -0400
Replied: "Jon Peatfield <J.S.Peatfield@damtp.cam.ac.uk> "
Replied: Fri, 01 May 1998 11:33:29 -0400
Replied: "Jon Peatfield <J.S.Peatfield@damtp.cam.ac.uk> ulrich.windl@rz.uni-regensburg.de, I.A.N.Grant@damtp.cam.ac.uk"
Received: from mail.eecis.udel.edu by whimsy.udel.edu id aa06635;
          1 May 1998 08:07 EDT
Received: from jp107 by kro.amtp.cam.ac.uk with smtp (Exim 1.73 #2)
	id 0yVEZm-0001nz-00; Fri, 1 May 1998 13:06:03 +0100
X-Mailer: exmh version 1.5.1 12/2/94
To: stenn@whimsy.udel.edu, ulrich.windl@rz.uni-regensburg.de
cc: J.S.Peatfield@damtp.cam.ac.uk, I.A.N.Grant@damtp.cam.ac.uk
Subject: Re: xntp3-5.93 has been released. 
In-reply-to: Your message of "Tue, 28 Apr 1998 23:05:59 EDT."
             <24562.893819159@whimsy.udel.edu> 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date: Fri, 01 May 1998 13:06:00 +0100
From: Jon Peatfield <J.S.Peatfield@damtp.cam.ac.uk>
Message-Id: <E0yVEZm-0001nz-00@kro.amtp.cam.ac.uk>

Well I've got a patch for xntpd3-5.93 which makes it build with working 
kernel-pll for me (on the alpha).  I've not tested this properly with any 
other Linux yet, but I've just compiled up and am testing an Intel version.  
(I won't have results for a few hours but it looks good so far).

The Linux kernel needs a minor kernel patch to fix a problem with MAXFREQ on 
the Alpha, but other than that the xntp3 code is fine.  I'll take a look at 
the ntp4 code early next week.

The patches and RPM/SRPM can be found at:

   ftp://ftp.damtp.cam.ac.uk/pub/linux/xntp3/

the xntpd3-kernel-pll.patch fixes the configure(.in) to just look for 
__adjtimex() and uses this for both ntp_adjtime() and ntp_gettime() functions.
At some point wrappers should be added the the Linux libc to remove the need 
for all this hackery.

 -- Jon

--cut-here--
*** xntp3-5.93.orig/configure	Sat Apr 25 23:02:36 1998
--- xntp3-5.93/configure	Fri May  1 10:22:20 1998
***************
*** 3796,3802 ****
  
  case "$target" in
   *-*-linux*)
!     for ac_func in __adjtimex __ntp_gettime
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
  echo "configure:3803: checking for $ac_func" >&5
--- 3796,3802 ----
  
  case "$target" in
   *-*-linux*)
!     for ac_func in __adjtimex
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
  echo "configure:3803: checking for $ac_func" >&5
***************
*** 5534,5541 ****
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_cv_var_ntp_syscalls=no
!  case "$ac_cv_func___adjtimex$ac_cv_func___ntp_gettime" in
!   yesyes)
      ac_cv_var_ntp_syscalls=libc
      ;;
    *) case "$ac_cv_func_ntp_adjtime$ac_cv_func_ntp_gettime" in
--- 5534,5541 ----
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_cv_var_ntp_syscalls=no
!  case "$ac_cv_func___adjtimex" in
!   yes)
      ac_cv_var_ntp_syscalls=libc
      ;;
    *) case "$ac_cv_func_ntp_adjtime$ac_cv_func_ntp_gettime" in
*** xntp3-5.93.orig/configure.in	Sat Apr 25 23:01:54 1998
--- xntp3-5.93/configure.in	Fri May  1 10:24:03 1998
***************
*** 404,410 ****
  
  case "$target" in
   *-*-linux*)
!     AC_CHECK_FUNCS(__adjtimex __ntp_gettime)
      ;;
  esac
  AC_CHECK_FUNCS(clock_settime daemon getbootfile getdtablesize getrusage)
--- 404,410 ----
  
  case "$target" in
   *-*-linux*)
!     AC_CHECK_FUNCS(__adjtimex)
      ;;
  esac
  AC_CHECK_FUNCS(clock_settime daemon getbootfile getdtablesize getrusage)
***************
*** 963,970 ****
  
  AC_CACHE_CHECK([availability of ntp_{adj,get}time()], ac_cv_var_ntp_syscalls,
   [ac_cv_var_ntp_syscalls=no
!  case "$ac_cv_func___adjtimex$ac_cv_func___ntp_gettime" in
!   yesyes)
      ac_cv_var_ntp_syscalls=libc
      ;;
    *) case "$ac_cv_func_ntp_adjtime$ac_cv_func_ntp_gettime" in
--- 963,970 ----
  
  AC_CACHE_CHECK([availability of ntp_{adj,get}time()], ac_cv_var_ntp_syscalls,
   [ac_cv_var_ntp_syscalls=no
!  case "$ac_cv_func___adjtimex" in
!   yes)
      ac_cv_var_ntp_syscalls=libc
      ;;
    *) case "$ac_cv_func_ntp_adjtime$ac_cv_func_ntp_gettime" in
*** xntp3-5.93.orig/include/ntp_machine.h	Wed Sep 24 04:39:22 1997
--- xntp3-5.93/include/ntp_machine.h	Fri May  1 10:22:20 1998
***************
*** 143,148 ****
--- 143,151 ----
   */
  #if defined(SYS_LINUX)
  # define ntp_adjtime __adjtimex
+ /* Hack hack hack 1998-Apr-29  JSP */
+ # define ntptimeval timex
+ # define ntp_gettime __adjtimex
  #endif
  
  /*
*** xntp3-5.93.orig/util/ntptime.c	Wed Sep 24 05:27:00 1997
--- xntp3-5.93/util/ntptime.c	Fri May  1 10:22:20 1998
***************
*** 40,45 ****
--- 40,48 ----
  #  endif
  #  ifdef HAVE___ADJTIMEX
  #   define ntp_adjtime(t)  __adjtimex((t))
+ /* Hack hack hack 1998-Apr-29  JSP */
+ #   define ntptimeval timex
+ #   define ntp_gettime __adjtimex
  #  endif
  # endif /* NOT NTP_SYSCALLS_STD */
  #endif /* KERNEL_PLL */
***************
*** 260,265 ****
--- 263,269 ----
    /*
     * Fetch timekeeping data and display.
     */
+   ntv.modes=0;
    status = ntp_gettime(&ntv);
    if (status < 0)
      perror("ntp_gettime() call fails");
--cut-here--


