1# 2# CDDL HEADER START 3# 4# The contents of this file are subject to the terms of the 5# Common Development and Distribution License (the "License"). 6# You may not use this file except in compliance with the License. 7# 8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9# or http://www.opensolaris.org/os/licensing. 10# See the License for the specific language governing permissions 11# and limitations under the License. 12# 13# When distributing Covered Code, include this CDDL HEADER in each 14# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15# If applicable, add the following below this CDDL HEADER, with the 16# fields enclosed by brackets "[]" replaced with your own identifying 17# information: Portions Copyright [yyyy] [name of copyright owner] 18# 19# CDDL HEADER END 20# 21 22# 23# Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved. 24# 25# Generic interface definition for usr/src/cmd/sgs/rtld. 26# 27 28# 29# MAPFILE HEADER START 30# 31# WARNING: STOP NOW. DO NOT MODIFY THIS FILE. 32# Object versioning must comply with the rules detailed in 33# 34# usr/src/lib/README.mapfiles 35# 36# You should not be making modifications here until you've read the most current 37# copy of that file. If you need help, contact a gatekeeper for guidance. 38# 39# MAPFILE HEADER END 40# 41 42$mapfile_version 2 43 44# 45# All symbols in ld.so.1 are private as no-one should bind to these directly. 46# 47SYMBOL_VERSION SUNWprivate_1.3 { 48 protected: 49 dladdr; # Standard dlopen(3x) family 50 dladdr1; 51 dldump; 52 dlclose; 53 dlerror; 54 dlinfo; 55 dlopen; 56 dlmopen; 57 dlsym; 58 59 _dladdr; # these should not exist 60 _dladdr1; 61 _dldump; 62 _dlclose; 63 _dlerror; 64 _dlinfo; 65 _dlopen; 66 _dlmopen; 67 _dlsym; 68 69 _ld_libc; # provides libc initialization 70 71 _elf_rtbndr; # dbx expects to find these 72 elf_rtbndr; 73 _rt_boot; # Provides basic adb symbol offsets 74 75 rtld_db_dlactivity; # Required to support librtld_db 76 rtld_db_preinit; 77 rtld_db_postinit; 78 r_debug; 79 80 elf_plt_write; 81 is_so_loaded; 82 lml_main; 83 lookup_sym; 84 85 alist_append; # librtld support 86 ld_entry_cnt; 87 dbg_desc; # Diagnostic support 88 dbg_print; 89 eprintf; # Error message printing 90 91 dgettext; # Messaging support 92 strerror; 93 94 calloc; # Memory management (mapmalloc). 95 free; 96 malloc; 97 realloc; 98 99 _environ; # PLT tracing getenv() support. 100 environ; 101 102 memcpy; # Some routines are useful for support 103 snprintf; # libraries such as liblddbg. 104 sprintf; # Note that some of these functions 105 strcat; # (like sprintf) may have reduced 106 strcmp; # functionality over libc, as a simpler 107 strcpy; # implementation is provided in ld.so.1. 108 strlen; 109 strrchr; 110 strtok_r; 111 ___errno; 112 qsort; 113 dl_iterate_phdr; 114 115$if _x86 && _ELF64 116 # amd64 ABI exception unwinding 117 _dlamd64getunwind; 118 dlamd64getunwind; 119$endif 120 121 # doXX_reloc_rtld and relocXX_table are required to 122 # support librtld.so. 123$if _ELF32 124 do32_reloc_rtld; 125 reloc32_table; 126$elif _ELF64 127 do64_reloc_rtld; 128 reloc64_table; 129$else 130$error unknown ELFCLASS 131$endif 132 local: 133 *; 134}; 135