X

Author Profile

Rod Evans

Recent Posts by Rod Evans

elfdiff

Frequently it is desirable to compare two ELF files. As someone who makes changes to the link-editor, comparing large numbers of built objects is a vital part of verifying any changes. In addition, determining what objects have changed from one build to another, can reduce object...

Symbol Capabilities

In a previousposting I covered the use of filters, especially defining symbol specific filtering. Filters allows the redirection of a binding at runtime to an alternative filtee. This technique has been used to provide optimized, platform specific, instances of functions....

Direct Binding - the -zdirect/-Bdirect options, and probing

In a previous posting I introduced the use of direct bindings within the OSNet consolidation. A comment to this posting questioned the difference between the -z direct and -B direct options, and pointed out that runtime errors can occur during process execution if a lazy...

Direct Binding - now the default for OSNet components

Direct Binding refers to a symbol search and binding model that has been available in Solaris for quite some time. Library Bindings. At runtime, a symbol reference from an object must be located by the runtime linker, ld.so.1(1). Under direct bindings, symbol definitions are...

We've moved - /usr/ccs/bin commands, that is

A recent update to Solaris Nevada (build 68 to be precise) has moved the /usr/ccs/bin utilities to /usr/bin. This move includes the link-editor, and associated utilities.

'_init'/'_fini' not found - use the compiler drivers

A recently added error check within ld(1) has uncovered the following condition. ld: warning: symbol `_init' not found, but .init section exists - \\ possible link-edit without using the compiler driver ld: warning: symbol `_fini' not found, but .fini section exists - \\ ...

Displacement Relocation Warnings - what do they mean?

There have been a couple postings recently regarding relocation warnings that have been observed when using the link-editors -z verbose option. The first warning originates from building a shared object: ld: warning: relocation warning: R_SPARC_DISP32: file shared.o: \ symbol...

Dynamic Object Versioning - specifying a version binding

After reading a previous posting on versioning, a developer asked how they could specify what version to bind to when they built their application. For example, from the version definitions within libelf.so.1: % pvs -d /lib/libelf.so.1 libelf.so.1; SUNW_1.5; ...

Changing Search Paths with crle(1) - they are a replacement

A developer who wished to add /usr/sfw/lib to their default runtime search path, managed to turn their system into a brick by using crle(1): # crle -l /usr/sfw/lib # ls ld.so.1: ls: fatal: libsec.so.1: open failed: No such file or directory Killed The problem was...