Updated 2001/05/11

Sun WorkShop[tm] 6 update 2 Incremental Link Editor Readme


  1. Introduction
  2. About Sun WorkShop 6 update 2 ILD
  3. New Features
  4. Software Corrections
  5. Problems and Workarounds
  6. Limitations and Incompatibilities
  7. Documentation Errata


A. Introduction

This document contains last-minute information about Sun WorkShop 6 update 2 Incremental Link Editor, ild. This document describes the software corrections addressed by this release and lists known problems, limitations, and incompatibilities.

You cannot invoke the incremental link editor by typing the ild command at a shell prompt. ild is designed to be invoked by a compiler.

The Incremental Link Editor (ild) allows you to complete the development sequence (the edit, compile, link, and debug loop) efficiently and more quickly than by using a standard linker.

For installation-related and late-breaking information about this release, see the Sun WorkShop 6 update 2 Release Notes. Information in the release notes overrides information in all readme files.

To access the release notes and the full Forte[tm] Developer/Sun WorkShop[tm] documentation set, point your Netscape[tm] Communicator 4.0 or compatible browser to the documentation index (file:/opt/SUNWspro/docs/index.html).

To access the HTML version of this readme, do one of the following:

To view the text version of this readme, type the following at a command prompt:

   example% more /opt/SUNWspro/READMEs/ild

Note - If your Sun WorkShop software is not installed in the /opt directory, ask your system administrator for the equivalent path on your system.

Note -  In this document the term "IA" refers to the Intel 32-bit processor architecture, which includes the Pentium, Pentium Pro, Pentium II, Pentium II Xeon, Celeron, Pentium III, and Pentium III Xeon processors and compatible microprocessor chips made by AMD and Cyrix.


B. About Sun WorkShop 6 update 2 ILD

The Sun WorkShop 6 update 2 ILD runs on SPARC[tm] processors running Solaris[tm] SPARC Platform Edition, and Intel processors running Solaris Intel Platform Edition, versions 2.6, 7, and 8. Information unique to one or more platforms is identified as "(SPARC)" or "(IA)."


C. New Features

This section describes the new and changed features for the Sun WorkShop 6 update 2 ILD. In addition, it lists the new features that were introduced in Sun WorkShop 6 and Sun WorkShop 6 update.

  1. New Features for Sun WorkShop 6 update 2
  2. New Features for Sun WorkShop 6 update 1
  3. New Features for Sun WorkShop 6
  4. New Features for Sun WorkShop 5.0
  1. New Features for Sun WorkShop 6 update 2

    There is no new information at this time.

  2. New Features for Sun WorkShop 6 update 1

    Sun WorkShop 6 update 1 ILD included the following new and changed features.

    • Support for COMDAT

      COMDAT allows symbols to be defined in multiple modules. The first module on a command line that defines a specific COMDAT symbol is selected as the defining module. A COMDAT symbol with the same name, encountered in a module later on the command line, will be ignored.

      On a relink, if the defining module of a COMDAT symbol has been changed and no longer defines the COMDAT symbol, and if no module on the command line previous to the defining module is modified to supply the COMDAT symbol, then a FULL LINK must be done.

      See the Solaris 7 "Linker and Libraries Guide" for details about COMDAT.

    • Partially Initialized Symbols

      With Solaris 7, LD(1) accepts a construct with which it can partially initialize a symbol. Partial initialization means that very large sparse matrices can be initialized at runtime rather than allocating a large area in the a.out file for the symbol during the link phase.

      Compilers use this facility, linkers, and the runtime linker (RTLD) to specifying how arrays are initialized without actually initializing them in the a.out file. The action can result in significant savings in the size of the a.out file.

      Several notes should be made when considering this capability:

      • It can only be used for dynamically linked executables since it is RTLD that does the initializations so that the program can use the data.
      • While there may be a savings in execution time for the compilers and the linkers, there is added cost during the startup of the a.out executable since RTLD must initialize the symbol.  The benefits depend on the symbol and how populated it is with data.

  3. New Features for Sun WorkShop 6

    There were no new features to describe in this release.

  4. New Features for Sun WorkShop 5.0

    Sun WorkShop 5.0 ILD included the following new and changed features.

    • Support for building the following:
      • 32-bit executables on a 32-bit machine.
      • 64-bit executables on a Solaris 7 kernel booted in 32-bit mode.
      • 64-bit executables on a Solaris 7 kernel booted in 64-bit mode.

    • LD_LIBRARY_PATH_64 Introduced in Solaris 7, this environment variable is similar to LD_LIBRARY_PATH but overrides it when searching for 64-bit dependencies.

      When running Solaris 7 on a SPARC processor and linking in 32-bit mode, LD_LIBRARY_PATH_64 is ignored. If only LD_LIBRARY_PATH is defined, it is used for both 32-bit and 64-bit linking.  If both LD_LIBRARY_PATH and LD_LIBRARY_PATH_64 are defined, the 32-bit linking will be done using LD_LIBRARY_PATH and the 64-bit linking using LD_LIBRARY_PATH_64.

    • -z allextract | defaultextract | weakextract

      Alter the extraction criteria of objects from any archives that follow. By default archive members are extracted to satisfy undefined references and to promote tentative definitions with data definitions. Weak symbol references do not trigger extraction. Under -z allextract, all archive members are extracted from the archive. Under -z weakextract, weak references trigger archive extraction. -z defaultextract provides a means of returning to the default following use of the former extract options.

    • $ORIGIN token correctly passed to Runtime linker.

      See the Solaris 7 Linker and Libraries Guide AnswerBook for details.

    • Register Symbols:

      ild supports named and scratch register symbols as defined in the SPARC V9 ABI. A new set of messages are provided to detail any errors due to the illegal use of these symbols. Register symbols may be added on relinks, but if an object file that already had a register symbol definition is modified, a full link must be done.


D. Software Corrections

Reported bugs fixed in WorkShop 6:

Reported bugs fixed in WorkShop 6 update 1:

Reported bugs fixed in WorkShop 6 update 2:


E. Problems and Workarounds

This section discusses the following software bugs that could not be fixed in time for this release. For updates, check the Forte Developer Hot News web page (http://www.sun.com/forte/developer/hotnews.html).


F. Limitations and Incompatibilities 

There is no new information at this time. 


G. Documentation Errata 

There is no new information at this time. 


Copyright 2001 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, CA 94303, U.S.A. All rights reserved. 

Sun, Sun Microsystems, the Sun logo, docs.sun.com, and Solaris are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the U.S. and other countries.