/[cmucl]/src/code/unix-glibc2.lisp
ViewVC logotype

Log of /src/code/unix-glibc2.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Links to snapshot-2005-07: (view) (annotate)
Sticky Tag:

Revision 1.35 - (view) (annotate) - [select for diffs]
Thu Jan 27 15:23:33 2005 UTC (9 years, 2 months ago) by rtoy
Branch: MAIN
CVS Tags: ppc_gencgc_snap_2005-05-14, release-19b-base, release-19b-pre1, release-19b-pre2, snapshot-2005-02, snapshot-2005-03, snapshot-2005-04, snapshot-2005-05, snapshot-2005-06, snapshot-2005-07, snapshot-2005-08, snapshot-2005-09, snapshot-2005-10
Branch point for: ppc_gencgc_branch, release-19b-branch
Changes since 1.34: +25 -1 lines
Diff to previous 1.34
Add support for datagram networking.  From a debian bug 290503,
forwarded to cmucl-imp, 2005-01-17.  Slightly modified the code
therein.

The functions are unix-recvfrom, unix-sendto, unix-shutdown,
inet-recvfrom, inet-sendto, inet-shutdown.

Revision 1.34 - (view) (annotate) - [select for diffs]
Sat Sep 11 19:18:01 2004 UTC (9 years, 7 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2004-10, snapshot-2004-11, snapshot-2004-12, snapshot-2005-01
Changes since 1.33: +15 -11 lines
Diff to previous 1.33
Port of SBCL's float-accuracy compilation policy.  Intended to make
double-float-epsilon actually be epsilon on x86.  No effect on other
ports.

The default precision is now 53-bit (double-float) instead of 64-bit
(80-bit floats).  However, to preserve C expectations, all calls to C
have the precision set to 64-bit.  This slows down calls to C, but we
try to make syscalls and such fast by not changing precision for the
call.

By default ext:float-accuracy is 3.

Use boot7.lisp to bootstrap.

Revision 1.33 - (view) (annotate) - [select for diffs]
Tue Aug 31 12:39:43 2004 UTC (9 years, 7 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2004-09
Changes since 1.32: +25 -2 lines
Diff to previous 1.32
In UNIX-READ, go through and touch every page contained in BUF to make
sure the pages are not write-protected, because the kernel doesn't
like that.  Also update it to touch the beginning of every page.  Use
this idea in unix-glibc2.lisp.

This is a workaround for the bug reported by David Lichteblau on Aug
26, 2004 (for a long-standing bug fomr Dec 7, 1999).

Revision 1.32 - (view) (annotate) - [select for diffs]
Sun Jul 25 19:32:38 2004 UTC (9 years, 8 months ago) by pmai
Branch: MAIN
CVS Tags: snapshot-2004-08
Changes since 1.31: +9 -12 lines
Diff to previous 1.31
This commit adds the remainder of the outstanding PPC/Darwin port merge.

Besides support for Darwin foreign loading, and updates to the ppc-vm
and bsd-os files, this commit removes unix:unix-errno as a foreign variable
and replaces it with a function named unix-errno, and a (setf unix-errno).
This makes both glibc support cleaner, and enables ports like PPC/Darwin
(and the upcoming win32 port) which have no easy way of accessing errno as
a foreign variable able to support this functionality at all.

The current implementation of this is rather make-shift, it would likely
be much cleaner to go the SBCL way and mediate all access to errno via
defined functions in the C runtime.

As an interim feature, the frobbing of the float-trap-modes is currently
commented out for Darwin because of ongoing breakage.

Revision 1.31 - (view) (annotate) - [select for diffs]
Tue Jun 1 23:16:00 2004 UTC (9 years, 10 months ago) by cwang
Branch: MAIN
CVS Tags: prm-before-macosx-merge-tag, snapshot-2004-06, snapshot-2004-07
Changes since 1.30: +11 -10 lines
Diff to previous 1.30
amd64 changes

Revision 1.30 - (view) (annotate) - [select for diffs]
Sun Aug 31 10:50:15 2003 UTC (10 years, 7 months ago) by gerd
Branch: MAIN
CVS Tags: amd64-merge-start, lisp-executable-base, mod-arith-base, release-19a, release-19a-base, release-19a-pre1, release-19a-pre2, release-19a-pre3, snapshot-2003-10, snapshot-2003-11, snapshot-2003-12, snapshot-2004-04, snapshot-2004-05
Branch point for: lisp-executable, mod-arith-branch, release-19a-branch
Changes since 1.29: +2 -2 lines
Diff to previous 1.29
	* src/code/signal.lisp (:SIGPROF): Set to 27 as kill -l tells.

	* src/code/unix-glibc2.lisp (unix-mmap): Likewise to unix.lisp.

Revision 1.29 - (view) (annotate) - [select for diffs]
Fri Aug 8 11:37:21 2003 UTC (10 years, 8 months ago) by emarsden
Branch: MAIN
CVS Tags: dynamic-extent-base, sparc_gencgc_merge
Branch point for: dynamic-extent
Changes since 1.28: +3 -5 lines
Diff to previous 1.28
Add definitions for UNIX-SETUID and UNIX-SETGID.

Revision 1.28 - (view) (annotate) - [select for diffs]
Thu Jun 26 13:27:42 2003 UTC (10 years, 9 months ago) by toy
Branch: MAIN
CVS Tags: sparc_gencgc
Branch point for: sparc_gencgc_branch
Changes since 1.27: +125 -114 lines
Diff to previous 1.27
From Paul Foley:

Non-simple-streams-related changes:

* Stop commands which go through invoke-command-interactive from
  affecting the history variables.

* Fix some typos in comments

* When the GC closes a lost stream, revert to original contents

* Replace #+nil with #+(or) in unix*.lisp
  [NIL is a potentially valid feature name]


Simple-streams-related changes:

* Teach reader to handle simple-streams

* Add missing package prefixes in OPEN

* Add unix:unix-msync for force-output on mmapped files

* Add placeholder documentation

* Numerous changes in simple-streams implementation

* Add "external-formats" directory for external formats


Note: :BIG-ENDIAN or :LITTLE-ENDIAN should be put on *features*

Revision 1.27 - (view) (annotate) - [select for diffs]
Fri Jun 6 16:23:45 2003 UTC (10 years, 10 months ago) by toy
Branch: MAIN
Changes since 1.26: +36 -3 lines
Diff to previous 1.26
Initial import of Paul Foley's simple-streams implmentation.  Some
functionality is still missing, but Lisp streams and Gray streams
should behave unchanged.

Revision 1.26 - (view) (annotate) - [select for diffs]
Sun Apr 13 16:48:10 2003 UTC (11 years ago) by emarsden
Branch: MAIN
CVS Tags: remove_negative_zero_not_zero
Changes since 1.25: +4 -5 lines
Diff to previous 1.25
 - Fix (declare (type directory foo)) declarations to %directory

Revision 1.25 - (view) (annotate) - [select for diffs]
Sun Apr 13 12:31:52 2003 UTC (11 years ago) by gerd
Branch: MAIN
Changes since 1.24: +5 -3 lines
Diff to previous 1.24
	Don't export a class DIRECTORY from CL.  Fixes ANSI test case
	ALL-EXPORTED-CL-CLASS-NAMES-ARE-VALID.

	* src-types/code/unix.lisp (%directory): Struct renamed from
	directory, give it a :conc-name and :constructor for compatibility.

	* src-types/code/unix-glibc2.lisp: Likewise.

Revision 1.24 - (view) (annotate) - [select for diffs]
Sat Mar 8 17:51:52 2003 UTC (11 years, 1 month ago) by pmai
Branch: MAIN
CVS Tags: cold-pcl-base, release-18e, release-18e-base, release-18e-pre1, release-18e-pre2
Branch point for: cold-pcl, release-18e-branch
Changes since 1.23: +23 -6 lines
Diff to previous 1.23
Fixes to deal with ABI differences between glibc 2.1 and glibc 2.2 for
the layout of struct dirent64 returned from readdir64.  Also added
readdir64 to the list of stubs, in order to force usage of the same
readdir64 definition at runtime as was used at compile-time.

Revision 1.23 - (view) (annotate) - [select for diffs]
Wed Mar 5 15:54:52 2003 UTC (11 years, 1 month ago) by emarsden
Branch: MAIN
Changes since 1.22: +4 -2 lines
Diff to previous 1.22
In UNIX-LSEEK, return (values nil errno) on failure instead of
(values nil t). This fixes a silly mistake in the recent LFS changes.

Revision 1.22 - (view) (annotate) - [select for diffs]
Mon Mar 3 16:03:40 2003 UTC (11 years, 1 month ago) by pmai
Branch: MAIN
Changes since 1.21: +4 -13 lines
Diff to previous 1.21
Moved lockf over to lockf64, too, and enabled/exported unix-lockf and friends.
Also removed obsolete ustat struct (statfs is the replacement).

Revision 1.21 - (view) (annotate) - [select for diffs]
Sun Mar 2 15:48:31 2003 UTC (11 years, 1 month ago) by emarsden
Branch: MAIN
Changes since 1.20: +57 -33 lines
Diff to previous 1.20
Additions to the Large File Support, necessary in order to for large
files to be visible via DIRECTORY and friends: added stat64, fstat64,
lstat64, statfs64, readdir64. This requires additional transitions to
64-bit wide data types, and additions to linux-stubs.S, given that some
of the 64-bit stat variants are not accessible via dlsym().

Mostly from Pierre Mai.

Revision 1.20 - (view) (annotate) - [select for diffs]
Tue Feb 25 15:15:55 2003 UTC (11 years, 1 month ago) by emarsden
Branch: MAIN
Changes since 1.19: +2 -2 lines
Diff to previous 1.19
Fix typo GET-ERRNO -> UNIX-GET-ERRNO.

Revision 1.19 - (view) (annotate) - [select for diffs]
Mon Feb 24 16:19:48 2003 UTC (11 years, 1 month ago) by emarsden
Branch: MAIN
Changes since 1.18: +26 -21 lines
Diff to previous 1.18
Add large-file support to the Unix interface, when running above glibc. This
is necessary to support access to files that are larger than 2GB. It is
implemented by calling 64-bit variants of certain library functions, such as
open64 instead of open. Certain library functions such as lseek are called
with a 64-bit offset, instead of a 32-bit offset.

Revision 1.18 - (view) (annotate) - [select for diffs]
Tue Nov 19 13:17:14 2002 UTC (11 years, 5 months ago) by toy
Branch: MAIN
Changes since 1.17: +31 -21 lines
Diff to previous 1.17
Alpha Linux support from Brian.

Revision 1.17 - (view) (annotate) - [select for diffs]
Fri Nov 15 15:08:12 2002 UTC (11 years, 5 months ago) by toy
Branch: MAIN
Changes since 1.16: +168 -50 lines
Diff to previous 1.16
From Eric Marsden:

   Replace the code that grovels /etc/passwd files with an interface
   to the standard user and group database access functions. This
   makes CMUCL work better on systems where user databases are
   accessed using NIS or LDAP.

   Add functions UNIX-GETPWUID, UNIX-GETPWNAM that return structures
   of type USER-INFO, and UNIX-GETGRGID and UNIX-GETGRNAM that
   return structures of type GROUP-INFO. The functions return NIL if
   the requested information is not available. On Linux/glibc and
   Solaris, reentrant versions of the functions are used. On FreeBSD
   we call the non-thread-safe versions.

Revision 1.16 - (view) (annotate) - [select for diffs]
Sat Aug 24 01:59:38 2002 UTC (11 years, 7 months ago) by pmai
Branch: MAIN
CVS Tags: LINKAGE_TABLE, PRE_LINKAGE_TABLE, UNICODE-BASE
Branch point for: UNICODE-BRANCH
Changes since 1.15: +10 -2 lines
Diff to previous 1.15
Fix by Bob Rogers to correctly handle files with pathnames longer
than 1024 characters, which also reduces consing for pathnames of
more typical lenghts.

Revision 1.15 - (view) (annotate) - [select for diffs]
Sun Mar 4 20:12:44 2001 UTC (13 years, 1 month ago) by pw
Branch: MAIN
Changes since 1.14: +4 -4 lines
Diff to previous 1.14
Change most PROCLAIMs to DECLAIMs.

Revision 1.14 - (view) (annotate) - [select for diffs]
Tue Jan 23 17:21:33 2001 UTC (13 years, 2 months ago) by dtc
Branch: MAIN
Changes since 1.13: +11 -11 lines
Diff to previous 1.13
o Have unix-uname and unix-gethostname signal an error upon a syscall
  error rather than returning nil and the errno - these should never fail.

Revision 1.13 - (view) (annotate) - [select for diffs]
Mon Jan 22 10:49:45 2001 UTC (13 years, 2 months ago) by dtc
Branch: MAIN
Changes since 1.12: +25 -1 lines
Diff to previous 1.12
o Implement unix-uname on linux, adding structure utsname.

Revision 1.12 - (view) (annotate) - [select for diffs]
Fri Aug 25 09:59:06 2000 UTC (13 years, 7 months ago) by pw
Branch: MAIN
Changes since 1.11: +2 -2 lines
Diff to previous 1.11
In fcntl, make arg types to syscall agree with function arg declarations.

Revision 1.11 - (view) (annotate) - [select for diffs]
Thu Aug 24 17:10:28 2000 UTC (13 years, 7 months ago) by pw
Branch: MAIN
Changes since 1.10: +3 -3 lines
Diff to previous 1.10
Change typespec for args to fcntl from (unsigned-byte 16) to (unsigned-byte 32)
as the third arg can be pointers or process id. Hemlock slave was having
problems with large PIDs.

Revision 1.10 - (view) (annotate) - [select for diffs]
Thu Aug 17 12:57:25 2000 UTC (13 years, 8 months ago) by dtc
Branch: MAIN
Changes since 1.9: +2 -2 lines
Diff to previous 1.9
Correct the spelling of the poll system call; from Scott A Crosby.

Revision 1.9 - (view) (annotate) - [select for diffs]
Mon Jul 31 09:53:39 2000 UTC (13 years, 8 months ago) by dtc
Branch: MAIN
Changes since 1.8: +17 -2 lines
Diff to previous 1.8
Add alien function definitions for getsockopt and setsockopt,
exporting unix-getsockopt and unix-setsockopt from the UNIX package.

Revision 1.8 - (view) (annotate) - [select for diffs]
Sat Dec 4 15:59:35 1999 UTC (14 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.7: +3 -4 lines
Diff to previous 1.7
Enable unix-sched-yield for Linux.

Revision 1.7 - (view) (annotate) - [select for diffs]
Sun Sep 12 14:24:16 1999 UTC (14 years, 7 months ago) by dtc
Branch: MAIN
Changes since 1.6: +19 -17 lines
Diff to previous 1.6
Add useful implementations for unix-getrlimit and unix-setrlimit.

Revision 1.6 - (view) (annotate) - [select for diffs]
Sat Mar 13 06:23:14 1999 UTC (15 years, 1 month ago) by dtc
Branch: MAIN
Changes since 1.5: +19 -12 lines
Diff to previous 1.5
Linux update: getpgrp takes no arguments; use setpgid for unix-setpgrp;
and add unix-setpgid.

Revision 1.5 - (view) (annotate) - [select for diffs]
Mon Feb 22 11:26:42 1999 UTC (15 years, 1 month ago) by dtc
Branch: MAIN
Changes since 1.4: +3 -2 lines
Diff to previous 1.4
Post Linux-Alpha patch cleanup.

Revision 1.4 - (view) (annotate) - [select for diffs]
Sat Feb 20 15:54:39 1999 UTC (15 years, 1 month ago) by pw
Branch: MAIN
Changes since 1.3: +100 -57 lines
Diff to previous 1.3
Changes for Linux running on Alpha.
From: Julian Dolby <dolby@csag-226-8.UCSD.EDU>

  Enclosed below are diffs against the cvs repository as of Feb 12;
aside from minor changes like using different include files
(e.g. validate.h instead of x86-validate.h in Linux-os.c) and adding
alpha-linux specifics unix-glibc2.lisp, there are two code changes.

 The first is to signal handling. I had to put the POSIX-SIGS
ifdefs into places used by alpha but not by x86, and I ifdef'ed out
most of the linux #define kludges for signals for alpha linux, since
alpha linux uses OSF/1 signals rather than linux ones.

 The second is that the trick of or'ing 2 into the reg_ALLOC address
to cause faults does not work on alpha linux since the kernel traps
and handles the unaligned access; I did not find a way to change that
kernel behavior, so I changed the code to or (1<<63) into the address
to cause a seg fault, and then check, in the seg fault handler, to see
if the high-order address bits are set.

 One change I made is to the memory layout (lisp/alpha-validate.h and
compiler/alpha/parms.lisp); that change is not needed to make lisp run
on alpha linux, but is there because I wanted more heap space.

Revision 1.3 - (view) (annotate) - [select for diffs]
Mon Feb 15 12:05:01 1999 UTC (15 years, 2 months ago) by dtc
Branch: MAIN
Changes since 1.2: +38 -13 lines
Diff to previous 1.2
Extend the define-ioctl-command macro to add the ioctl size and
direction when optionally specified, and to accept either a character
or an integer for the device number. Suggested by Brian
Spilsbury. Rework the ioctl definitions, fixing the SIOCSPGRP ioctl.

Revision 1.2 - (view) (annotate) - [select for diffs]
Tue Jun 16 06:58:54 1998 UTC (15 years, 10 months ago) by dtc
Branch: MAIN
Branch point for: RELENG_18
Changes since 1.1: +2951 -1851 lines
Diff to previous 1.1
Linux port update from Peter VanEynde: revision of the glibc2 support,
better hemlock tty mode support.

Revision 1.1 - (view) (annotate) - [select for diffs]
Fri May 1 01:21:37 1998 UTC (15 years, 11 months ago) by dtc
Branch: MAIN
Update for the linux port from Peter VanEynde, adds preliminary
support for glibc2.

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

  ViewVC Help
Powered by ViewVC 1.1.5