Solaris 8 2/04 What's New Supplement

Development Tools

Feature Description 

Release Date 

WBEM Process Indication

The WBEM event mechanism has been extended. Process indications in the Common Information Model (CIM) enable instrumentation providers to register their own event classes in addition to the intrinsic events that are predefined with any class declaration in the CIM. These classes can be used to generate events that cannot be expressed as creation, deletion, access, modification, and method invocations of classes already modeled in the CIM. This capability enhances the existing events support.

Further information is provided in the Solaris WBEM SDK Developer's Guide in the Solaris 9 Software Developer Collection. For instructions on how to access Solaris 9 documentation, see Early Access in this document.


Modifications to Alternate Libthread

The Solaris 8 2/02 release includes an improved alternative multithreading library that provides better performance, reliability, and simplicity. 

Further information is provided in the threads.3thr man page and the Multithreaded Programming Guide in the Solaris 9 Software Developer Collection. For instructions on how to access Solaris 9 documentation, see Early Access in this document.


SPARC: Application Interface to Remote Shared Memory on Clusters

If you develop applications that extend the use of a SunTM Cluster environment, you can benefit from this interface. Using the new Remote Shared Memory API, you can program your applications to lower the latency for message passing over high-speed cluster interconnects. Such cluster-aware applications can significantly reduce the time that is required to respond to events in a clustered configuration. You must have Sun Cluster 3.0 installed. Also, you need expertise to modify existing applications to exploit the new interface.

The librsm(3LIB) man pages and the section (3RSM) “Section 3: Extended Library Functions” man pages include references to RSM.


Dynamic Host Configuration Protocol (DHCP)

The Dynamic Host Configuration Protocol (DHCP) service enables host systems to receive IP addresses and network configuration information at boot time from a network server. Before this release, DHCP configuration data could only be stored in text files or NIS+. In this release, data access in the Solaris DHCP service has been redesigned to use a modular framework. Solaris DHCP provides an API that enables you to write shared objects to support any data storage facility for storing DHCP data.  

The Solaris DHCP Service Developer's Guide provides an overview of the data access framework that is used by Solaris DHCP, general guidelines for developers, and a listing of the API functions you use to write a module to support a new data store.


A Vectored Sendfile System Call: sendfilev()

A vectored sendfile system call, sendfilev() enables better performance for sending out data from application buffers or files. For example, in web performance, a web server can construct an HTTP response (header, data, and trailer as well as SSI server-side includes) in a single system call. This feature provides optimal performance with NCA, because it enables the return of multiple chunks, which might come from various files for the response.

For further information, see the man page sendfilev(2).


Verify File Conformance With the appcert Utility

The appcert utility verifies an object file's conformance to the Solaris ABI. Conforming to the Solaris ABI greatly increases an application's probability of being compatible with future releases of Solaris software.

For more information, see “Using appcert” in the Solaris 8 Software Developer Supplement.


Sun WBEM Software Developer's Toolkit (SDK)

Web-Based Enterprise Management (WBEM) includes standards for web-based management of systems, networks, and devices on multiple platforms. The Sun WBEM Software Developer's Toolkit (SDK) enables software developers to create standards-based applications that manage resources in the Solaris operating environment. Developers can also use this toolkit to write providers, programs that communicate with managed resources to access data. The Sun WBEM SDK includes Client Application Programming Interfaces (APIs) for describing and managing resources in Common Information Model (CIM), and Provider APIs for getting and setting dynamic data on the managed resource. The Sun WBEM SDK also provides CIM WorkShop, a Java application for creating and viewing the managed resources on a system, and a set of example WBEM client and provider programs.  

For more information, see the Sun WBEM SDK Developer's Guide.


SPARC: Updated Multithreaded Programming Documentation

The Multithreaded Programming Guide has been updated with bug fixes: 4308968, 4356675, 4356690.

For further information, see the Multithreaded Programming Guide.


Revisions to the Linkers and Libraries Guide

The Linkers and Libraries Guide has been updated with new features. For the 10/00 release, updates include:

  • The environment variable, LD_BREADTH, is ignored by the runtime linker. See the section, “Initialization and Termination Routines.”

  • The runtime linker and its debugger interface have been extended for better runtime and core file analysis. This update is identified by a new version number. See the section, “Agent Manipulation.” This update expands the rl_flags, rl_bend, and rl_dynamic fields of the rd_loadobj_t structure. See the section, “Scanning Loadable Objects.”

  • The validation of displacement-relocated data in regard to its use, or possible use, with copy relocations is now provided. See the section, “Displacement Relocations.”

  • 64-bit filters can be built solely from a mapfile by using the link-editors -64 option. See the section, “Generating a Standard Filter.”

  • Some explanatory notes are provided on why $ORIGIN dynamic string token expansion is restricted within secure applications. See the section, “Security.”

  • By using dlinfo(3DL), you can inspect the search paths that are used to locate the dependencies of dynamic objects.

  • dlsym(3DL) and dlinfo(3DL) look-up semantics have been expanded with a new handle, RTLD_SELF.

  • The runtime symbol look-up mechanism that is used to relocate dynamic objects can be significantly reduced by establishing direct binding information within each dynamic object. See the sections, “External Bindings” or “Direct Binding.”


Updated 1/01 and 7/01 

Revisions to the Linkers and Libraries Guide, Continued

For the 1/01 release, updates include:

  • The symbolic information available from dladdr(3DL) has been enhanced with the introduction of dladdr1().

  • You can obtain the $ORIGIN of a dynamic object from dlinfo(3DL).

  • The maintenance of runtime configuration files that were created with the crle(1) has been simplified with the display of the command-line options that were used to create the configuration file. Also available is an update capability. (See the -u option.)

  • The runtime linker and its debugger interface have been extended to detect procedure-linkage-table entry resolution. This update is identified by a new version number. See the section, “Agent Manipulation.” This update extends the rd_plt_info_t structure. See the section, “Procedure Linkage Table Skipping.”

  • An applications stack can be defined non-executable by using the new mapfile segment descriptor STACK. See the section, “Segment Declarations.”


Revisions to the Linkers and Libraries Guide, Continued

For the 7/01 release, updates include:

  • Unused dependencies can be determined by using ldd(1). (See the -u option.)

  • Various ELF ABI extensions have been added and the associated documentation revised. See “Initialization and Termination Sections,” “Initialization and Termination Routines,” Table 6, Table 9, Table 16, Table 17, “Section Groups,” Table 19, Table 24, Table 45, Table 46, and “Program Loading (Processor-Specific).”

  • Greater flexibility in the use of link-editor environment variables has been provided with the addition of _32 and _64 variants. See “Environment Variables” in the Linker and Libraries Guide.

For further information, see the Linker and Libraries Guide.


Updates to the System Interface Guide

The System Interface Guide is updated to incorporate bug fixes. This release corrects several typographical errors in text and source code examples.

For further information, see the System Interface Guide.