Expert C Programming

(Jeff_L) #1

been put where in the executable. It also shows multiple instances of the same symbol, and by looking
at what files these occur in, the user can determine if any interpositioning took place.


The -D option to ld was introduced with SunOS 5.3 to provide better link-editor debugging. The


option (fully documented in the Linker and Libraries Manual) allows the user to display the link-
editing process and input file inclusion. It's especially useful for mon-itoring the extraction of objects
from archives. It can also be used to display runtime bindings.


Ld is a complicated program with many more options and conventions than those explained here. Our
description is more than enough for most purposes, and there are four further sources of help, in
increasing order of sophistication:



  • Use the ldd command to list the dynamic dependencies of an executable. This command
    will tell you the libraries that a dynamically linked program needs.

  • The -Dhelp option to ld provides information on troubleshooting the linking process.

  • Try the on-line manpages for ld.

  • Read the SunOS Linker and Libraries Manual (part number 801-2869-10).


Some combination of these should provide information on any subtle linker special effects you need.


Handy Heuristic


When "botch" Appears


Under SunOS 4.x, an occurrence of the word "botch" in an error message means that the
loader has discovered an internal inconsistency. This is usually due to faulty input files.


Under SunOS 5.x, the loader is much more rigorous about checking its input for correctness
and consistency. It doesn't need to complain about internal errors, and the "botch" messages
have been dropped.


Some Light Relief—Look Who's Talking: Challenging the


Turing Test


At the dawn of the electronic age, as the potential of computers first started to unfold, a debate arose
over whether systems would one day have artificial intelligence. That quickly led to the question,
"How can we tell if a machine thinks?" In a 1950 paper in the journal Mind, British mathematician
Alan Turing cut through the philosophical tangle by suggesting a practical test. Turing proposed that a
human interrogator converse (via teletype, to avoid sight and sound clues) with another person and
with a computer. If the human interrogator was unable to correctly identify which was which after a
period of five minutes, then the computer would be said to have exhibited artificial intelligence. This
scenario has come to be called the Turing Test.

Free download pdf