1*7c478bd9Sstevel@tonic-gate# 2*7c478bd9Sstevel@tonic-gate# Copyright 2005 Sun Microsystems, Inc. All rights reserved. 3*7c478bd9Sstevel@tonic-gate# Use is subject to license terms. 4*7c478bd9Sstevel@tonic-gate# 5*7c478bd9Sstevel@tonic-gate# CDDL HEADER START 6*7c478bd9Sstevel@tonic-gate# 7*7c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the 8*7c478bd9Sstevel@tonic-gate# Common Development and Distribution License, Version 1.0 only 9*7c478bd9Sstevel@tonic-gate# (the "License"). You may not use this file except in compliance 10*7c478bd9Sstevel@tonic-gate# with the License. 11*7c478bd9Sstevel@tonic-gate# 12*7c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13*7c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing. 14*7c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions 15*7c478bd9Sstevel@tonic-gate# and limitations under the License. 16*7c478bd9Sstevel@tonic-gate# 17*7c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each 18*7c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19*7c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the 20*7c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying 21*7c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner] 22*7c478bd9Sstevel@tonic-gate# 23*7c478bd9Sstevel@tonic-gate# CDDL HEADER END 24*7c478bd9Sstevel@tonic-gate# 25*7c478bd9Sstevel@tonic-gate# ident "%Z%%M% %I% %E% SMI" 26*7c478bd9Sstevel@tonic-gate# 27*7c478bd9Sstevel@tonic-gate# Generic interface definition for usr/src/cmd/sgs/rtld. 28*7c478bd9Sstevel@tonic-gate# 29*7c478bd9Sstevel@tonic-gate# For information regarding the establishment of versioned definitions see: 30*7c478bd9Sstevel@tonic-gate# The Linker and Libraries Manual (version 2.5 or greater) 31*7c478bd9Sstevel@tonic-gate# This is part of the Developers Guide in the Answerbook. Specifically refer 32*7c478bd9Sstevel@tonic-gate# to Chapter 2 under section "Defining Additional Symbols" through section 33*7c478bd9Sstevel@tonic-gate# "Reducing Symbol Scope", and Chapter 5 "Versioning". 34*7c478bd9Sstevel@tonic-gate# 35*7c478bd9Sstevel@tonic-gate# For specific OSNET rules for the modification (evolution) of these version 36*7c478bd9Sstevel@tonic-gate# definitions see: 37*7c478bd9Sstevel@tonic-gate# Policy for Shared Library Version Names and Interface Definitions 38*7c478bd9Sstevel@tonic-gate# 39*7c478bd9Sstevel@tonic-gate# All symbols in ld.so.1 are private as no-one should bind to these directly. 40*7c478bd9Sstevel@tonic-gate 41*7c478bd9Sstevel@tonic-gateSUNWprivate_1.2 { 42*7c478bd9Sstevel@tonic-gate global: 43*7c478bd9Sstevel@tonic-gate _dladdr; # Standard dlopen(3x) family 44*7c478bd9Sstevel@tonic-gate dladdr; 45*7c478bd9Sstevel@tonic-gate _dladdr1; 46*7c478bd9Sstevel@tonic-gate dladdr1; 47*7c478bd9Sstevel@tonic-gate _dldump; 48*7c478bd9Sstevel@tonic-gate dldump; 49*7c478bd9Sstevel@tonic-gate _dlclose; 50*7c478bd9Sstevel@tonic-gate dlclose; 51*7c478bd9Sstevel@tonic-gate _dlerror; 52*7c478bd9Sstevel@tonic-gate dlerror; 53*7c478bd9Sstevel@tonic-gate _dlinfo; 54*7c478bd9Sstevel@tonic-gate dlinfo; 55*7c478bd9Sstevel@tonic-gate _dlopen; 56*7c478bd9Sstevel@tonic-gate dlopen; 57*7c478bd9Sstevel@tonic-gate _dlmopen; 58*7c478bd9Sstevel@tonic-gate dlmopen; 59*7c478bd9Sstevel@tonic-gate _dlsym; 60*7c478bd9Sstevel@tonic-gate dlsym; 61*7c478bd9Sstevel@tonic-gate 62*7c478bd9Sstevel@tonic-gate _ld_concurrency; # Provides libthread initialization 63*7c478bd9Sstevel@tonic-gate _ld_libc; # provides libc initialization 64*7c478bd9Sstevel@tonic-gate 65*7c478bd9Sstevel@tonic-gate _elf_rtbndr; # dbx expects to find these 66*7c478bd9Sstevel@tonic-gate elf_rtbndr; 67*7c478bd9Sstevel@tonic-gate _rt_boot; # Provides basic adb symbol offsets 68*7c478bd9Sstevel@tonic-gate 69*7c478bd9Sstevel@tonic-gate rtld_db_dlactivity; # Required to support librtld_db 70*7c478bd9Sstevel@tonic-gate rtld_db_preinit; 71*7c478bd9Sstevel@tonic-gate rtld_db_postinit; 72*7c478bd9Sstevel@tonic-gate r_debug; 73*7c478bd9Sstevel@tonic-gate 74*7c478bd9Sstevel@tonic-gate do_reloc; # Required to support librtld.so 75*7c478bd9Sstevel@tonic-gate elf_plt_write; 76*7c478bd9Sstevel@tonic-gate is_so_loaded; 77*7c478bd9Sstevel@tonic-gate lml_main; 78*7c478bd9Sstevel@tonic-gate lookup_sym; 79*7c478bd9Sstevel@tonic-gate reloc_table; 80*7c478bd9Sstevel@tonic-gate 81*7c478bd9Sstevel@tonic-gate dbg_mask; # Required to support liblddbg.so 82*7c478bd9Sstevel@tonic-gate dbg_print; 83*7c478bd9Sstevel@tonic-gate eprintf; # Error message printing 84*7c478bd9Sstevel@tonic-gate 85*7c478bd9Sstevel@tonic-gate _dgettext; # Messaging support 86*7c478bd9Sstevel@tonic-gate strerror; 87*7c478bd9Sstevel@tonic-gate 88*7c478bd9Sstevel@tonic-gate calloc; # Memory management (mapmalloc). 89*7c478bd9Sstevel@tonic-gate dz_fd; 90*7c478bd9Sstevel@tonic-gate free; 91*7c478bd9Sstevel@tonic-gate malloc; 92*7c478bd9Sstevel@tonic-gate realloc; 93*7c478bd9Sstevel@tonic-gate 94*7c478bd9Sstevel@tonic-gate _environ; # PLT tracing getenv() support. 95*7c478bd9Sstevel@tonic-gate environ; 96*7c478bd9Sstevel@tonic-gate 97*7c478bd9Sstevel@tonic-gate _open; # Some routines are useful for support 98*7c478bd9Sstevel@tonic-gate _close; # libraries such as liblddbg (this 99*7c478bd9Sstevel@tonic-gate memcpy; # reduces the cost of debugging as the 100*7c478bd9Sstevel@tonic-gate snprintf; # library doesn't have its own 101*7c478bd9Sstevel@tonic-gate sprintf; # dependency on libc). 102*7c478bd9Sstevel@tonic-gate strcat; 103*7c478bd9Sstevel@tonic-gate strcmp; 104*7c478bd9Sstevel@tonic-gate strcpy; # Note that some of these functions 105*7c478bd9Sstevel@tonic-gate strlen; # (like sprintf) may have reduced 106*7c478bd9Sstevel@tonic-gate strrchr; # functionality over libc, as a simpler 107*7c478bd9Sstevel@tonic-gate strtok_r; # implementation is provided in ld.so.1. 108*7c478bd9Sstevel@tonic-gate _write; 109*7c478bd9Sstevel@tonic-gate ___errno; 110*7c478bd9Sstevel@tonic-gate qsort; 111*7c478bd9Sstevel@tonic-gate local: 112*7c478bd9Sstevel@tonic-gate *; 113*7c478bd9Sstevel@tonic-gate}; 114