<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
                      "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>System Library</title>
  <link rel="stylesheet" href="llvm.css" type="text/css">
</head>
<body>

<h1>System Library</h1>
<ul>
  <li><a href="#abstract">Abstract</a></li>
  <li><a href="#requirements">Keeping LLVM Portable</a>
  <ol>
    <li><a href="#headers">Don't Include System Headers</a></li>
    <li><a href="#expose">Don't Expose System Headers</a></li>
    <li><a href="#c_headers">Allow Standard C Header Files</a></li>
    <li><a href="#cpp_headers">Allow Standard C++ Header Files</a></li>
    <li><a href="#highlev">High-Level Interface</a></li>
    <li><a href="#nofunc">No Exposed Functions</a></li>
    <li><a href="#nodata">No Exposed Data</a></li>
    <li><a href="#nodupl">No Duplicate Implementations</a></li>
    <li><a href="#nounused">No Unused Functionality</a></li>
    <li><a href="#virtuals">No Virtual Methods</a></li>
    <li><a href="#softerrors">Minimize Soft Errors</a></li>
    <li><a href="#throw_spec">No throw() Specifications</a></li>
    <li><a href="#organization">Code Organization</a></li>
    <li><a href="#semantics">Consistent Semantics</a></li>
    <li><a href="#bug">Tracking Bugzilla Bug: 351</a></li>
  </ol></li>
</ul>

<div class="doc_author">
  <p>Written by <a href="mailto:rspencer@x10sys.com">Reid Spencer</a></p>
</div>


<!-- *********************************************************************** -->
<h2><a name="abstract">Abstract</a></h2>
<div>
  <p>This document provides some details on LLVM's System Library, located in
  the source at <tt>lib/System</tt> and <tt>include/llvm/System</tt>. The
  library's purpose is to shield LLVM from the differences between operating
  systems for the few services LLVM needs from the operating system. Much of
  LLVM is written using portability features of standard C++. However, in a few
  areas, system dependent facilities are needed and the System Library is the
  wrapper around those system calls.</p>
  <p>By centralizing LLVM's use of operating system interfaces, we make it 
  possible for the LLVM tool chain and runtime libraries to be more easily 
  ported to new platforms since (theoretically) only <tt>lib/System</tt> needs 
  to be ported.  This library also unclutters the rest of LLVM from #ifdef use 
  and special cases for specific operating systems. Such uses are replaced 
  with simple calls to the interfaces provided in <tt>include/llvm/System</tt>.
  </p> 
  <p>Note that the System Library is not intended to be a complete operating 
  system wrapper (such as the Adaptive Communications Environment (ACE) or 
  Apache Portable Runtime (APR)), but only provides the functionality necessary
  to support LLVM.
  <p>The System Library was written by Reid Spencer who formulated the
  design based on similar work originating from the eXtensible Programming 
  System (XPS). Several people helped with the effort; especially,
  Jeff Cohen and Henrik Bach on the Win32 port.</p>
</div>

<!-- *********************************************************************** -->
<h2>
  <a name="requirements">Keeping LLVM Portable</a>
</h2>
<div>
  <p>In order to keep LLVM portable, LLVM developers should adhere to a set of
  portability rules associated with the System Library. Adherence to these rules
  should help the System Library achieve its goal of shielding LLVM from the
  variations in operating system interfaces and doing so efficiently.  The 
  following sections define the rules needed to fulfill this objective.</p>

<!-- ======================================================================= -->
<h3><a name="headers">Don't Include System Headers</a></h3>
<div>
  <p>Except in <tt>lib/System</tt>, no LLVM source code should directly
  <tt>#include</tt> a system header. Care has been taken to remove all such
  <tt>#includes</tt> from LLVM while <tt>lib/System</tt> was being
  developed.  Specifically this means that header files like "unistd.h", 
  "windows.h", "stdio.h", and "string.h" are forbidden to be included by LLVM 
  source code outside the implementation of <tt>lib/System</tt>.</p>
  <p>To obtain system-dependent functionality, existing interfaces to the system
  found in <tt>include/llvm/System</tt> should be used. If an appropriate 
  interface is not available, it should be added to <tt>include/llvm/System</tt>
  and implemented in <tt>lib/System</tt> for all supported platforms.</p>
</div>

<!-- ======================================================================= -->
<h3><a name="expose">Don't Expose System Headers</a></h3>
<div>
  <p>The System Library must shield LLVM from <em>all</em> system headers. To 
  obtain system level functionality, LLVM source must 
  <tt>#include "llvm/System/Thing.h"</tt> and nothing else. This means that 
  <tt>Thing.h</tt> cannot expose any system header files. This protects LLVM 
  from accidentally using system specific functionality and only allows it
  via the <tt>lib/System</tt> interface.</p>
</div>

<!-- ======================================================================= -->
<h3><a name="c_headers">Use Standard C Headers</a></h3>
<div>
  <p>The <em>standard</em> C headers (the ones beginning with "c") are allowed
  to be exposed through the <tt>lib/System</tt> interface. These headers and 
  the things they declare are considered to be platform agnostic. LLVM source 
  files may include them directly or obtain their inclusion through 
  <tt>lib/System</tt> interfaces.</p>
</div>

<!-- ======================================================================= -->
<h3><a name="cpp_headers">Use Standard C++ Headers</a></h3>
<div>
  <p>The <em>standard</em> C++ headers from the standard C++ library and
  standard template library may be exposed through the <tt>lib/System</tt>
  interface. These headers and the things they declare are considered to be
  platform agnostic. LLVM source files may include them or obtain their
  inclusion through lib/System interfaces.</p>
</div>

<!-- ======================================================================= -->
<h3><a name="highlev">High Level Interface</a></h3>
<div>
  <p>The entry points specified in the interface of lib/System must be aimed at 
  completing some reasonably high level task needed by LLVM. We do not want to
  simply wrap each operating system call. It would be preferable to wrap several
  operating system calls that are always used in conjunction with one another by
  LLVM.</p>
  <p>For example, consider what is needed to execute a program, wait for it to
  complete, and return its result code. On Unix, this involves the following
  operating system calls: <tt>getenv, fork, execve,</tt> and <tt>wait</tt>. The
  correct thing for lib/System to provide is a function, say
  <tt>ExecuteProgramAndWait</tt>, that implements the functionality completely.
  what we don't want is wrappers for the operating system calls involved.</p>
  <p>There must <em>not</em> be a one-to-one relationship between operating
  system calls and the System library's interface. Any such interface function
  will be suspicious.</p>
</div>

<!-- ======================================================================= -->
<h3><a name="nounused">No Unused Functionality</a></h3>
<div>
  <p>There must be no functionality specified in the interface of lib/System 
  that isn't actually used by LLVM. We're not writing a general purpose
  operating system wrapper here, just enough to satisfy LLVM's needs. And, LLVM
  doesn't need much. This design goal aims to keep the lib/System interface
  small and understandable which should foster its actual use and adoption.</p>
</div>

<!-- ======================================================================= -->
<h3><a name="nodupl">No Duplicate Implementations</a></h3>
<div>
  <p>The implementation of a function for a given platform must be written
  exactly once. This implies that it must be possible to apply a function's 
  implementation to multiple operating systems if those operating systems can
  share the same implementation. This rule applies to the set of operating
  systems supported for a given class of operating system (e.g. Unix, Win32).
  </p>
</div>

<!-- ======================================================================= -->
<h3><a name="virtuals">No Virtual Methods</a></h3>
<div>
  <p>The System Library interfaces can be called quite frequently by LLVM. In
  order to make those calls as efficient as possible, we discourage the use of
  virtual methods. There is no need to use inheritance for implementation
  differences, it just adds complexity. The <tt>#include</tt> mechanism works
  just fine.</p>
</div>

<!-- ======================================================================= -->
<h3><a name="nofunc">No Exposed Functions</a></h3>
<div>
  <p>Any functions defined by system libraries (i.e. not defined by lib/System) 
  must not be exposed through the lib/System interface, even if the header file 
  for that function is not exposed. This prevents inadvertent use of system
  specific functionality.</p>
  <p>For example, the <tt>stat</tt> system call is notorious for having
  variations in the data it provides. <tt>lib/System</tt> must not declare 
  <tt>stat</tt> nor allow it to be declared. Instead it should provide its own 
  interface to discovering information about files and directories. Those 
  interfaces may be implemented in terms of <tt>stat</tt> but that is strictly 
  an implementation detail. The interface provided by the System Library must
  be implemented on all platforms (even those without <tt>stat</tt>).</p>
</div>

<!-- ======================================================================= -->
<h3><a name="nodata">No Exposed Data</a></h3>
<div>
  <p>Any data defined by system libraries (i.e. not defined by lib/System) must
  not be exposed through the lib/System interface, even if the header file for
  that function is not exposed. As with functions, this prevents inadvertent use
  of data that might not exist on all platforms.</p>
</div>

<!-- ======================================================================= -->
<h3><a name="softerrors">Minimize Soft Errors</a></h3>
<div>
  <p>Operating system interfaces will generally provide error results for every
  little thing that could go wrong. In almost all cases, you can divide these
  error results into two groups: normal/good/soft and abnormal/bad/hard. That
  is, some of the errors are simply information like "file not found", 
  "insufficient privileges", etc. while other errors are much harder like
  "out of space", "bad disk sector", or "system call interrupted". We'll call 
  the first group "<i>soft</i>" errors and the second group "<i>hard</i>" 
  errors.<p>
  <p>lib/System must always attempt to minimize soft errors.
  This is a design requirement because the
  minimization of soft errors can affect the granularity and the nature of the
  interface. In general, if you find that you're wanting to throw soft errors,
  you must review the granularity of the interface because it is likely you're
  trying to implement something that is too low level. The rule of thumb is to
  provide interface functions that <em>can't</em> fail, except when faced with 
  hard errors.</p>
  <p>For a trivial example, suppose we wanted to add an "OpenFileForWriting" 
  function. For many operating systems, if the file doesn't exist, attempting 
  to open the file will produce an error.  However, lib/System should not
  simply throw that error if it occurs because its a soft error. The problem
  is that the interface function, OpenFileForWriting is too low level. It should
  be OpenOrCreateFileForWriting. In the case of the soft "doesn't exist" error, 
  this function would just create it and then open it for writing.</p>
  <p>This design principle needs to be maintained in lib/System because it
  avoids the propagation of soft error handling throughout the rest of LLVM.
  Hard errors will generally just cause a termination for an LLVM tool so don't
  be bashful about throwing them.</p>
  <p>Rules of thumb:</p>
  <ol>
    <li>Don't throw soft errors, only hard errors.</li>
    <li>If you're tempted to throw a soft error, re-think the interface.</li>
    <li>Handle internally the most common normal/good/soft error conditions
    so the rest of LLVM doesn't have to.</li>
  </ol>
</div>

<!-- ======================================================================= -->
<h3><a name="throw_spec">No throw Specifications</a></h3>
<div>
  <p>None of the lib/System interface functions may be declared with C++ 
  <tt>throw()</tt> specifications on them. This requirement makes sure that the
  compiler does not insert additional exception handling code into the interface
  functions. This is a performance consideration: lib/System functions are at
  the bottom of many call chains and as such can be frequently called. We
  need them to be as efficient as possible.  However, no routines in the
  system library should actually throw exceptions.</p>
</div>

<!-- ======================================================================= -->
<h3><a name="organization">Code Organization</a></h3>
<div>
  <p>Implementations of the System Library interface are separated by their
  general class of operating system. Currently only Unix and Win32 classes are
  defined but more could be added for other operating system classifications.
  To distinguish which implementation to compile, the code in lib/System uses
  the LLVM_ON_UNIX and LLVM_ON_WIN32 #defines provided via configure through the
  llvm/Config/config.h file. Each source file in lib/System, after implementing
  the generic (operating system independent) functionality needs to include the
  correct implementation using a set of <tt>#if defined(LLVM_ON_XYZ)</tt> 
  directives. For example, if we had lib/System/File.cpp, we'd expect to see in
  that file:</p>
  <pre><tt>
  #if defined(LLVM_ON_UNIX)
  #include "Unix/File.cpp"
  #endif
  #if defined(LLVM_ON_WIN32)
  #include "Win32/File.cpp"
  #endif
  </tt></pre>
  <p>The implementation in lib/System/Unix/File.cpp should handle all Unix
  variants. The implementation in lib/System/Win32/File.cpp should handle all
  Win32 variants.  What this does is quickly differentiate the basic class of 
  operating system that will provide the implementation. The specific details
  for a given platform must still be determined through the use of
  <tt>#ifdef</tt>.</p>
</div>

<!-- ======================================================================= -->
<h3><a name="semantics">Consistent Semantics</a></h3>
<div>
  <p>The implementation of a lib/System interface can vary drastically between
  platforms. That's okay as long as the end result of the interface function 
  is the same. For example, a function to create a directory is pretty straight
  forward on all operating system. System V IPC on the other hand isn't even
  supported on all platforms. Instead of "supporting" System V IPC, lib/System
  should provide an interface to the basic concept of inter-process 
  communications. The implementations might use System V IPC if that was 
  available or named pipes, or whatever gets the job done effectively for a 
  given operating system.  In all cases, the interface and the implementation 
  must be semantically consistent. </p>
</div>

<!-- ======================================================================= -->
<h3><a name="bug">Bug 351</a></h3>
<div>
  <p>See <a href="http://llvm.org/PR351">bug 351</a>
  for further details on the progress of this work</p>
</div>

</div>

<!-- *********************************************************************** -->

<hr>
<address>
  <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
  src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS"></a>
  <a href="http://validator.w3.org/check/referer"><img
  src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>

  <a href="mailto:rspencer@x10sys.com">Reid Spencer</a><br>
  <a href="http://llvm.org/">LLVM Compiler Infrastructure</a><br>
  Last modified: $Date$
</address>
</body>
</html>
