home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / os / linux / 17345 < prev    next >
Encoding:
Text File  |  1992-11-20  |  2.2 KB  |  70 lines

  1. Newsgroups: comp.os.linux
  2. Path: sparky!uunet!cs.utexas.edu!zaphod.mps.ohio-state.edu!uwm.edu!rpi!usenet.coe.montana.edu!news.u.washington.edu!serval!hlu
  3. From: hlu@eecs.wsu.edu (H.J. Lu)
  4. Subject: Re: 0.98pl5 kills tcsh-6.02:  Where can I find the tcsh source?
  5. Message-ID: <1992Nov20.190520.474@serval.net.wsu.edu>
  6. Sender: news@serval.net.wsu.edu (USENET News System)
  7. Organization: School of EECS, Washington State University
  8. References:  <1ehbo8INN9kp@usenet.INS.CWRU.Edu>
  9. Date: Fri, 20 Nov 92 19:05:20 GMT
  10. Lines: 58
  11.  
  12. In article <1ehbo8INN9kp@usenet.INS.CWRU.Edu>, sdh@po.CWRU.Edu (Scott D. Heavner) writes:
  13. |> 
  14. |>     I jumped from pl3 to pl5 and now I can't get tcsh-6.02 to
  15. |> work.  At first I thought it was a big problem with pl5 because I
  16. |> couldn't log in as anyone.  Then I dropped back to pl3 and changed all
  17. |> my login shells from tcsh to bash and pl5 at least lets me in.
  18. |> 
  19. |>     Now, where can I find sources for tcsh-6.02?  I went and
  20. |> downloaded what I thought was the source, but it turned out to be a
  21. |> binary and a diff file.
  22. |> 
  23. |>     tcsh doesn't  give me the recompile error that Linus warned of;
  24. |> however, my copy of kermit and man do (but kermit hasn't worked
  25. |> since pl1 -- anyone know where I can find these sources too).
  26. |> 
  27. |>                     Scott
  28. |>                     sdh@po.cwru.edu 
  29. |> 
  30.  
  31. That is caused by sigaction (sig, NULL, old). It has been fixed in
  32. libc 4.2. However, since it uses gcc 2.3.2 and libg++ 2.3, both of which
  33. are still in alpha, I cannot release them to public. You have a few choices
  34.  
  35. 1. Join GCC channel and use alpha versions. They usually fixed old bugs but
  36.    may have new ones. So far I haven't heard any.
  37.  
  38. 2. Here is the new sigaction (), compile it yourself and make your own
  39.    shared image.
  40.  
  41. 3. Don't use tcsh.
  42.  
  43. H.J.
  44. ---
  45. #include <syscall.h>
  46. #include <signal.h>
  47. #include <errno.h>
  48.  
  49. /* There may be wrong. Do nm libc.a to see what we get there. */
  50. extern void ____sig_restore();
  51. extern void ____masksig_restore();
  52.  
  53. int
  54. sigaction(int sig,struct sigaction * new, struct sigaction * old)
  55. {
  56.     if (new) {
  57.         if (new->sa_flags & SA_NOMASK)
  58.             new->sa_restorer=____sig_restore;
  59.         else
  60.             new->sa_restorer=____masksig_restore;
  61.     }
  62.  
  63.     __asm__("int $0x80":"=a" (sig)
  64.         :"0" (__NR_sigaction),"b" (sig),"c" (new),"d" (old));
  65.     if (sig>=0)
  66.         return 0;
  67.     errno = -sig;
  68.     return -1;
  69. }
  70.