1crle(1) User Commands crle(1)
2
3
4
6 crle - configure runtime linking environment
7
9 crle [-64] [-a name] [-A name] [-c conf] [-e env] [-E env]
10 [-f flags] [-i name] [-I name] [-g name] [-G name]
11 [-l dir] [-o dir] [-s dir] [-t [ ELF | AOUT]] [-u] [-v]
12
13
15 The crle utility provides for the creation and display of a runtime
16 linking configuration file. The configuration file is read and inter‐
17 preted by the runtime linker, ld.so.1(1), during process startup. The
18 runtime linker attempts to read a default configuration file for all
19 processes. For 32-bit processes, the default configuration file is
20 /var/ld/ld.config. For 64-bit processes, the default configuration file
21 is /var/ld/64/ld.config.
22
23
24 Without any arguments, or with just the -c option, crle displays con‐
25 figuration information. This information includes the contents of a
26 configuration file, any system defaults and the command-line required
27 to regenerate the configuration file. When used with any other options,
28 a new configuration file is created or updated.
29
30
31 The runtime linker can also be directed to an alternative configuration
32 file by setting one of the LD_CONFIG family of environment variable.
33 LD_CONFIG applies to both 32-bit and 64-bit programs. Since 32-bit and
34 64-bit configuration files differ, a single configuration file cannot
35 be used for both class of object. Hence, LD_CONFIG can adversely affect
36 program execution in cases where a program of one class executes a pro‐
37 gram of the other class. In particular, it is common practice for the
38 32-bit version of standard Solaris utilities to execute their 64-bit
39 counterpart. LD_CONFIG cannot be successfully used in this case. There‐
40 fore, the use of the LD_CONFIG_32 and LD_CONFIG_64 environment vari‐
41 ables, that precisely target the appropriate class of process, is rec‐
42 ommended.
43
44
45 Creating an incorrect configuration file in the standard location,
46 /var/ld, can prevent programs from running, and can therefore be diffi‐
47 cult to recover from. To guard against this situation, it is recom‐
48 mented that new configuration files first be created in a temporary
49 location. Then set the appropriate LD_CONFIG environment variable to
50 this new configuration file. This setting causes the new configuration
51 file to be used by the runtime linker instead of any default. After
52 verification, the new configuration file can be moved to the default
53 location if desired. At any time, the environment variable LD_NOCONFIG
54 can be set to any value to instruct the runtime linker to ignore any
55 configuration files. This setting can prove useful during experimenta‐
56 tion.
57
58
59 A configuration file can contain the following information.
60
61 Default Search Paths
62
63 The runtime linker uses a prescribed search path for locating the
64 dynamic dependencies of an object. This search path starts with the
65 components of any LD_LIBRARY_PATH definition, followed by the com‐
66 ponents of an object's runpath. Finally, any default search paths
67 specific to the object's class are used. This last component of the
68 search path can be expressed within the configuration file. Typi‐
69 cally, use of this facility should be augmented with any system
70 default. See the -l and -u options.
71
72
73 Trusted Directories
74
75 When processing a secure application, the runtime linker restricts
76 the use of LD_LIBRARY_PATH searches, and $ORIGIN token expansion.
77 See Security in Linker and Libraries Guide. In addition, the direc‐
78 tories from which preload and audit libraries can be located are
79 also restricted. The path names that are associated with preload
80 and audit libraries are restricted to known trusted directories.
81 Trusted directories can be expressed within the configuration file.
82 Typically, use of this facility should be augmented with any system
83 defaults. See the -s and -u options.
84
85
86 Environment Variables
87
88 Any environment variable interpreted by the runtime linker can be
89 specified within the configuration file.
90
91
92 Directory Cache
93
94 The location of shared objects within defined directories can be
95 maintained as a cache within the configuration file. This directory
96 cache can reduce the overhead of searching for application depen‐
97 dencies.
98
99
100 Alternative Objects
101
102 In conjunction with the directory cache, shared objects can have
103 alternative objects specified for use at runtime. These alternate
104 objects, can be supplied by the user. Alternative objects can also
105 be created by crle as copies of shared objects fixed to known mem‐
106 ory locations. These fixed alternative objects can require less
107 processing at runtime than their original shared object counter‐
108 part.
109
110
111
112 Defining additional default search paths, or additional trusted direc‐
113 tories can be useful for administrators who wish to install third party
114 software in a central location, or otherwise alter the search path of
115 applications that might not have been coded with a suitable runpath.
116
117
118 The declaration of alternative objects provides a means of replacing
119 dependencies other than by using symbolic links or requiring
120 LD_LIBRARY_PATH settings.
121
122
123 The declaration of environment variables that are interpreted by the
124 runtime linker provides a means of centralizing their definition for
125 all applications.
126
127
128 The directory cache, and crle generated alternate objects, can provide
129 a means of reducing the runtime startup overhead of applications.
130 Alternative objects can be useful for applications that require many
131 dependencies, or whose dependencies are expensive to relocate. Shared
132 objects that contain position-dependent code are often expensive to
133 relocate. Note, the system has many caching facilities that help miti‐
134 gate expenses such as negative path lookups, and thus employing crle to
135 create a directory cache may have minimal effect other than for some
136 very specific cases.
137
138
139 When alternate objects that are generated by crle are specified within
140 a configuration file, the runtime linker performs some minimal consis‐
141 tency verification. The alternative objects are verified against their
142 originating objects. This verification is intended to avert application
143 failure should an applications configuration information become out-of-
144 sync with the underlying system components. When this situation arises
145 the flexibility offered by dynamic linking system components can be
146 compromised. This type of application failure can be very difficult to
147 diagnose. No verification of directory cache information is performed.
148 Any changes to the directory structure are not seen by a process until
149 the cache is rebuilt.
150
151
152 System shared objects are often well tuned, and can show little benefit
153 from being cached. The directory cache and alternative object features
154 are typically applicable to user applications and shared objects, and
155 may only show improvement in some very specific cases.
156
157
158 crle creates alternate objects for the shared objects that are discov‐
159 ered when using the -I and -G options, using dldump(3C). The alternate
160 object is created in the directory specified by the preceding -o
161 option, or defaults to the directory in which the configuration file is
162 created. The flags used by dldump() are specified using the -f option,
163 or default to RTLD_REL_RELATIVE.
164
166 The following options are supported.
167
168 -64
169
170 Specify to process 64-bit objects, the default is 32-bit. Use -64
171 to create a 64-bit specific configuration file.
172
173
174 -a name
175
176 Create an alternative path name for name. The alternative path name
177 is added to the configuration file.
178
179 The actual alternative file must be supplied by the user. Multiple
180 occurrences of this option are permitted. If name is a directory,
181 each shared object within the directory is added to the cache. If
182 name does not exist, then name is marked in the cache as a nonexis‐
183 tent file.
184
185 Typically, this option is used with the -o option.
186
187
188 -A name
189
190 Create an optional alternative path name for name. This alternative
191 path name is added to the configuration file.
192
193 This option mimics the -a option, except that if the alternative is
194 unavailable at runtime, the original object name is used. This
195 model mimics the use of auxiliary filters. See Generating Auxiliary
196 Filters in Linker and Libraries Guide.
197
198 Typically, this option is used with the -o option.
199
200
201 -c conf
202
203 Specify to use the configuration file name conf. If this option is
204 not supplied, the default configuration file is used.
205
206
207 -e env
208
209 Specify a replaceable environment variable, env. Only environment
210 variables that are applicable to the runtime linker are meaningful.
211 Multiple occurrences of this option are permitted. This option is
212 similar to the -E option. However, the options differs in how con‐
213 figuration file definitions, and process environment definitions of
214 the same name are resolved at runtime.
215
216 A definition established in a configuration file can be overridden
217 by a process environment definition, or be suppressed by a null-
218 value process environment definition.
219
220 In other words, these configuration file definitions can be
221 replaced, or removed by the process environment at runtime.
222
223
224 -E env
225
226 Specify a permanent environment variable, env. Only environment
227 variables that are applicable to the runtime linker are meaningful.
228 Multiple occurrences of this option are permitted. This option is
229 similar to the -e option. However, the option differs in how con‐
230 figuration file definitions, and process environment definitions of
231 the same name are resolved at runtime.
232
233 Environment variable definitions that are meaningful to the runtime
234 linker fall into one of two categories. Singular definitions are
235 definitions such as LD_NOLAZYLOAD=1 and LD_DEBUG_OUTPUT=file. List
236 definitions, which can take one or more values, are definitions
237 such as LD_LIBRARY_PATH=path, and LD_DEBUG=files,details.
238
239 A singular definition that is established in a configuration file
240 takes precedence over a process environment definition. A list def‐
241 inition that is established in a configuration file is appended to
242 a process environment definition. Any definition that is estab‐
243 lished in a configuration file can not be suppressed by a null-
244 value process environment definition.
245
246 In other words, these configuration file definitions can not be
247 replaced, or removed by the process environment at runtime.
248
249
250 -f flags
251
252 Provide the symbolic flags argument to the dldump(3C) calls used to
253 generate alternate objects. Any of the RTLD_REL flags that are
254 defined in /usr/include/dlfcn.h can be used. Multiple flags can be
255 or'ed together using the "|" character. In this case, the string
256 should be quoted to avoid expansion by the shell. If no flags val‐
257 ues are provided the default flag is RTLD_REL_RELATIVE.
258
259
260 -i name
261
262 Add an individual name to the configuration cache. Multiple occur‐
263 rences of this option are permitted. name can be a shared object or
264 a directory. If name is a directory, each shared object within the
265 directory is added to the cache. If name does not exist, the name
266 is marked in the cache as a nonexistent directory.
267
268
269 -I name
270
271 Mimic the -i, and in addition any shared object that is processed
272 has an alternative created using dldump(3C). If the -f flag con‐
273 tains RTLD_REL_EXEC, then name can be a dynamic executable, for
274 which an alternative is created. Only one dynamic executable can be
275 specified in this manner, as the cache that is created is specific
276 to this application.
277
278
279 -g name
280
281 Add the group name to the configuration cache. Each object is
282 expanded to determine its dependencies. Multiple occurrences of
283 this option are permitted. name can be a dynamic executable, shared
284 object or a directory. If name is a shared object, the shared
285 object and its dependencies are added to the cache. If name is a
286 directory, each shared object within the directory, and its depen‐
287 dencies, are added to the cache.
288
289
290 -G name
291
292 Mimic the -g option, and in addition any shared object that is pro‐
293 cessed has an alternative created using dldump(3C). If name is a
294 dynamic executable, and the -f flag contains RTLD_REL_EXEC, then an
295 alternative for the dynamic executable is also created. Only one
296 dynamic executable can be specified in this manner as the cache
297 that is created is specific to this application.
298
299
300 -l dir
301
302 Specify a new default search directory dir for ELF or AOUT objects.
303 Multiple occurrences of this option are permitted. The type of
304 object that is applicable to the search, is specified by the pre‐
305 ceding -t option, or defaults to ELF.
306
307 The default search paths for 32-bit ELF objects are /lib followed
308 by /usr/lib. For 64-bit ELF objects, the default search paths are
309 /lib/64 followed by /usr/lib/64.
310
311 The default search paths for AOUT objects are /usr/4lib, followed
312 by /usr/lib and finally /usr/local/lib.
313
314 Use of this option replaces the default search path. Therefore, a
315 -l option is normally required to specify the original system
316 default in relation to any new paths that are being applied. How‐
317 ever, if the -u option is in effect, and a configuration file does
318 not exist, the system defaults are added to the new configuration
319 file. These defaults are added before the new paths specified with
320 the -l option.
321
322
323 -o dir
324
325 When used with either the -a or -A options, specifies the directory
326 dir in which any alternate objects exist. When alternative objects
327 are created by crle, this option specified where the alternative
328 are created. Without this option, alternate objects exist in the
329 directory in which the configuration file is created. Multiple
330 occurrences of this option are permitted, the directory dir being
331 used to locate alternatives for any following command-line options.
332 Alternative objects are not permitted to override their associated
333 originals.
334
335 Typically, this option is used with the -a or -A options.
336
337
338 -s dir
339
340 Specify a new trusted directory dir for secure ELF or AOUT objects.
341 See SECURITY in ld.so.1(1) for a definition of secure objects. See
342 Security in Linker and Libraries Guide for a discussion of runtime
343 restrictions imposed on secure applications.
344
345 Multiple occurrences of this option are permitted. The type of
346 object that is applicable to the search is specified by the preced‐
347 ing -t option, or defaults to ELF.
348
349 The default trusted directories for secure 32-bit ELF objects, and
350 AOUT objects, are /lib/secure followed by /usr/lib/secure. For
351 64-bit secure ELF objects, the default trusted directories are
352 /lib/secure/64 followed by /usr/lib/secure/64.
353
354 Use of this option replaces the default trusted directories. There‐
355 fore, a -s option is normally required to specify the original sys‐
356 tem default in relation to any new directories that are being
357 applied. However, if the -u option is in effect, and a configura‐
358 tion file does not exist, the system defaults are added to the new
359 configuration file. These defaults are added before the new direc‐
360 tories specified with the -l option.
361
362
363 -t ELF | AOUT
364
365 Toggle the object type that is applicable to any -l or -s options
366 that follow. The default object type is ELF.
367
368
369 -u
370
371 Request that a configuration file be updated, possibly with the
372 addition of new information. Without other options, any existing
373 configuration file is inspected and its contents recomputed. Addi‐
374 tional arguments allow information to be appended to the recomputed
375 contents. See NOTES.
376
377 If a configuration file does not exist, the configuration file is
378 created as directed by the other arguments. In the case of the -l
379 and -s options, any system defaults are first applied to the con‐
380 figuration file before the directories specified with these
381 options.
382
383 The configuration file can be in the older format that lacks the
384 system identification information that is normally written at the
385 beginning of the file. In this case, crle does not place system
386 identification information into the resulting file, preserving com‐
387 patibility of the file with older versions of Solaris. See NOTES.
388
389
390 -v
391
392 Specify verbose mode. When creating a configuration file, a trace
393 of the files that are being processed is written to the standard
394 out. When printing the contents of a configuration file, more
395 extensive directory and file information is provided.
396
397
398
399 By default, the runtime linker attempts to read the configuration file
400 /var/ld/ld.config for each 32-bit application processed.
401 /var/ld/64/ld.config is read for each 64-bit application. When process‐
402 ing an alternative application, the runtime linker uses a $ORI‐
403 GIN/ld.config.app-name configuration file if present. See NOTES. Appli‐
404 cations can reference an alternative configuration file by setting the
405 LD_CONFIG environment variable. An alternative configuration file can
406 also be specified by recording the configuration file name in the
407 application at the time the application is built. See the -c option of
408 ld(1).
409
411 Example 1 Experimenting With a Temporary Configuration File
412
413
414 The following example creates a temporary configuration file with a new
415 default search path for ELF objects. The environment variable LD_CON‐
416 FIG_32 is used to instruct the runtime linker to use this configuration
417 file for all 32-bit processes.
418
419
420 $ crle -c /tmp/ld.config -u -l /local/lib
421 $ crle -c /tmp/ld.config
422
423 Configuration file [version 4]: /tmp/ld.config
424 Platform: 32-bit MSB SPARC
425 Default Library Path (ELF): /lib:/usr/lib:/local/lib
426 Trusted Directories (ELF): /lib/secure:/usr/lib/secure \
427 (system default)
428
429 Command line:
430 crle -c /tmp/ld.config -l /lib:/usr/lib:/local/lib
431
432 $ LD_CONFIG_32=/tmp/ld.config date
433 Thu May 29 17:42:00 PDT 2008
434
435
436
437 Example 2 Updating and Displaying a New Default Search Path for ELF
438 Objects
439
440
441 The following example updates and displays a new default search path
442 for ELF objects.
443
444
445 # crle -u -l /local/lib
446 # crle
447
448 Configuration file [version 4]: /var/ld/ld.config
449 Platform: 32-bit MSB SPARC
450 Default Library Path (ELF): /lib:/usr/lib:/local/lib
451 Trusted Directories (ELF): /lib/secure:/usr/lib/secure \
452 (system default)
453
454 Command line:
455 crle -l /lib:/usr/lib:/local/lib
456
457 # crle -u -l /ISV/lib
458 # crle
459
460 Configuration file [version 4]: /var/ld/ld.config
461 Platform 32-bit MSB SPARC
462 Default Library Path (ELF): /lib:/usr/lib:/local/lib:/ISV/lib
463 Trusted Directories (ELF): /lib/secure:/usr/lib/secure \
464 (system default)
465
466 Command line:
467 crle -l /lib:/usr/lib:/local/lib:/usr/local/lib
468
469
470
471
472 In this example, the default configuration file initially did not
473 exist. Therefore, the new search path /local/lib is appended to the
474 system default. The next update appends the search path /ISV/lib to
475 those paths already established in the configuration file.
476
477
478 Example 3 Recovering From a Bad Configuration File
479
480
481 The following example creates a bad configuration file in the default
482 location. The file can be removed by instructing the runtime linker to
483 ignore any configuration file with the LD_NOCONFIG environment vari‐
484 able. Note, it is recommended that temporary configuration files be
485 created and the environment variable LD_CONFIG used to experiment with
486 these files.
487
488
489 # crle -l /local/lib
490 # date
491 ld.so.1: date: fatal: libc.so.1: open failed: \
492 No such file or directory
493 Killed
494 # LD_NOCONFIG=yes rm /var/ld/ld.config
495 # date
496 Thu May 29 17:52:00 PDT 2008
497
498
499
500
501 Note, the reason the configuration file is bad is because the system
502 default search paths are not present. Hence, the date utility is not
503 able to locate the system dependencies that it required. In this case,
504 the -u option should have been used.
505
506 Example 4 Creating and Displaying a New Default Search Path and New
507 Trusted Directory for ELF Objects
508
509
510 The following example creates and displays a new default search path
511 and new trusted directory for ELF objects.
512
513
514 # crle -l /local/lib -l /lib -l /usr/lib -s /local/lib
515 # crle
516
517 Configuration file [version 4]: /var/ld/ld.config
518 Platform: 32-bit MSB SPARC
519 Default Library Path (ELF): /local/lib:/lib:/usr/lib
520 Trusted Directories (ELF): /local/lib
521
522 Command line:
523 crle -l /local/lib:/lib:/usr/lib -s /local/lib
524
525
526
527
528 With this configuration file, third party applications could be
529 installed in /local/bin and their associated dependencies in
530 /local/lib. The default search path allows the applications to locate
531 their dependencies without the need to set LD_LIBRARY_PATH. The default
532 trusted directories have also been replaced with this example.
533
534
535 Example 5 Creating a Directory Cache for ELF Objects
536
537
538 The following example creates a directory cache for ELF objects.
539
540
541 $ crle -i /usr/dt/lib -i /usr/openwin/lib -i /lib -i /usr/lib \
542 -c config
543 $ ldd -s ./main
544 ....
545 find object=libc.so.1; required by ./main
546 search path=/usr/dt/lib:/usr/openwin/lib (RUNPATH/RPATH ./main)
547 trying path=/usr/dt/lib/libc.so.1
548 trying path=/usr/openwin/lib/libc.so.1
549 search path=/lib (default)
550 trying path=/lib/libc.so.1
551 libc.so.1 => /lib/libc.so.1
552
553 $ LD_CONFIG=config ldd -s ./main
554 ....
555 find object=libc.so.1; required by ./main
556 search path=/usr/dt/lib:/usr/openwin/lib (RUNPATH/RPATH ./main)
557 search path=/lib (default)
558 trying path=/lib/libc.so.1
559 libc.so.1 => /lib/libc.so.1
560
561
562
563
564 With this configuration, the cache reflects that the system library
565 libc.so.1 does not exist in the directories /usr/dt/lib or /usr/open‐
566 win/lib. Therefore, the search for this system file ignores these
567 directories even though the application's runpath indicates these paths
568 should be searched.
569
570
571 Example 6 Creating an Alternative Object Cache for an ELF Executable
572
573
574 The following example creates an alternative object cache for an ELF
575 executable.
576
577
578 $ crle -c /local/$HOST/.xterm/ld.config.xterm \
579 -f RTLD_REL_ALL -G /usr/openwin/bin/xterm
580 $ ln -s /local/$HOST/.xterm/xterm /local/$HOST/xterm
581 $ ldd /usr/local/$HOST/xterm
582 libXaw.so.5 => /local/$HOST/.xterm/libWaw.so.5 (alternate)
583 libXmu.so.4 => /local/$HOST/.xterm/libXmu.so.4 (alternate)
584 ....
585 libc.so.1 => /local/$HOST/.xterm/libc.so.1 (alternate)
586 ....
587
588
589
590
591 With this configuration, a new xterm and its dependencies are created.
592 These new objects are fully relocated to each other, and result in
593 faster startup than the originating objects. The execution of this
594 application uses its own specific configuration file. This model is
595 generally more flexible than using the environment variable LD_CONFIG,
596 as the configuration file can not be erroneously used by other applica‐
597 tions such as ldd(1) or truss(1).
598
599
600 Example 7 Creating an Alternative Object Cache to Replace an ELF Shared
601 Object
602
603
604 The following example creates an alternative object cache to replace an
605 ELF shared object.
606
607
608 $ ldd /usr/bin/vi
609 libcurses.so.1 => /lib/libcurses.so.1
610 ....
611
612 # crle -a /lib/libcurses.so.1 -o /usr/ucblib
613 # crle
614
615 Configuration file [version 4]: /var/ld/ld.config
616 Platform: 32-bit MSB SPARC
617 Default Library Path (ELF): /lib:/usr/lib (system default)
618 Trusted Directories (ELF): /lib/secure:/usr/lib/secure \
619 (system default)
620
621 Directory: /lib
622 libcurses.so.1 (alternate: /usr/ucblib/libcurses.so.1)
623 ....
624
625 $ ldd /usr/bin/vi
626 libcurses.so.1 => /usr/ucblib/libcurses.so.1 (alternate)
627 ....
628
629
630
631
632 With this configuration, any dependency that would normally resolve to
633 /usr/lib/libcurses.so.1 instead resolves to /usr/ucblib/libcurses.so.1.
634
635
636 Example 8 Setting Replaceable and Permanent Environment Variables
637
638
639 The following example sets replaceable and permanent environment vari‐
640 ables.
641
642
643 # crle -e LD_LIBRARY_PATH=/local/lib \
644 -E LD_PRELOAD=preload.so.1
645 # crle
646 .....
647 Environment Variables:
648 LD_LIBRARY_PATH=/local/lib (replaceable)
649 LD_PRELOAD=preload.so.1 (permanent)
650
651 .....
652 $ LD_DEBUG=files LD_PRELOAD=preload.so.2 ./main
653 .....
654 18764: file=preload.so.2; preloaded
655 18764: file=/local/lib/preload.so.2 [ ELF ]; generating link map
656 .....
657 18764: file=preload.so.1; preloaded
658 18764: file=/local/lib/preload.so.1 [ ELF ]; generating link map
659 .....
660
661
662
663
664 With this configuration file, a replaceable search path has been speci‐
665 fied together with a permanent preload object which becomes appended to
666 the process environment definition.
667
668
670 The creation or display of a configuration file results in a 0 being
671 returned. Otherwise, any error condition is accompanied with a diagnos‐
672 tic message and a non-zero value being returned.
673
675 The ability to tag an alternative application to use an application-
676 specific configuration file, is possible if the original application
677 contains one of the .dynamic tags DT_FLAGS_1 or DT_FEATURE_1. Without
678 these entries, a configuration file must be specified using the LD_CON‐
679 FIG environment variable. Care should be exercised with this latter
680 method as this environment variable is visible to any forked applica‐
681 tions.
682
683
684 The use of the -u option requires at least version 2 of crle. This ver‐
685 sion level is evident from displaying the contents of a configuration
686 file.
687
688 $ crle
689
690 Configuration file [2]: /var/ld/ld.config
691 ......
692
693
694
695
696 With a version 2 configuration file, crle is capable of constructing
697 the command-line arguments required to regenerate the configuration
698 file. This command-line construction, provides full update capabilities
699 using the -u option. Although a version 1 configuration file update is
700 possible, the configuration file contents might be insufficient for
701 crle to compute the entire update requirements.
702
703
704 Configuration files contain platform specific binary data. A given con‐
705 figuration file can only be interpreted by software with the same
706 machine class and byte ordering. However, the information necessary to
707 enforce this restriction was not included in configuration files until
708 SXCE build 41. As of this SXCE build, configuration files have system
709 identification information at the beginning of the file. This addi‐
710 tional information is used by crle and the runtime to check their com‐
711 patibility with configuration files. This information also allows the
712 file(1) command to properly identify configuration files. For backward
713 compatibility, older files that are missing this information are still
714 accepted, although without the identification and error checking that
715 would otherwise be possible. When processing an update (-u) operation
716 for an older file that lacks system information, crle does not add sys‐
717 tem identification information to the result.
718
720 /var/ld/ld.config
721
722 Default configuration file for 32-bit applications.
723
724
725 /var/ld/64/ld.config
726
727 Default configuration file for 64-bit applications.
728
729
730 /var/tmp
731
732 Default location for temporary configuration file. See tempnam(3C).
733
734
735 /usr/lib/lddstub
736
737 Stub application that is employed to dldump(3C) 32-bit objects.
738
739
740 /usr/lib/64/lddstub
741
742 Stub application that is employed to dldump(3C) 64-bit objects.
743
744
745 /usr/lib/libcrle.so.1
746
747 Audit library that is employed to dldump(3C) 32-bit objects.
748
749
750 /usr/lib/64/libcrle.so.1
751
752 Audit library that is employed to dldump(3C) 64-bit objects.
753
754
756 There are no environment variables that are referenced by crle. How‐
757 ever, several environment variables affect the runtime linkers behavior
758 in regard to the processing of configuration files that are created by
759 crle.
760
761 LD_CONFIG, LD_CONFIG_32 and LD_CONFIG_64
762
763 Provide an alternative configuration file.
764
765
766 LD_NOCONFIG, LD_NOCONFIG_32 and LD_NOCONFIG_64
767
768 Disable configuration file processing.
769
770
771 LD_NODIRCONFIG, LD_NODIRCONFIG_32 and LD_NODIRCONFIG_64
772
773 Disable directory cache processing from a configuration file.
774
775
776 LD_NOENVCONFIG, LD_NOENVCONFIG_32 and LD_NOENVCONFIG_64
777
778 Disable environment variable processing from a configuration file.
779
780
781 LD_NOOBJALTER, LD_NOOBJALTER_32 and LD_NOOBJALTER_64
782
783 Disable alternative object processing from a configuration file.
784
785
787 See attributes(5) for descriptions of the following attributes.
788
789
790
791
792 ┌─────────────────────────────┬─────────────────────────────┐
793 │ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
794 ├─────────────────────────────┼─────────────────────────────┤
795 │Availability │SUNWtoo │
796 ├─────────────────────────────┼─────────────────────────────┤
797 │Interface Stability │Committed │
798 └─────────────────────────────┴─────────────────────────────┘
799
801 file(1), ld(1), ld.so.1(1), dldump(3C), tempnam(3C), attributes(5)
802
803
804 Linker and Libraries Guide
805
806
807
808SunOS 5.11 6 Oct 2008 crle(1)