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# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. 23# Copyright 2013 Saso Kiselkov. All rights reserved. 24# Copyright (c) 2018, Joyent, Inc. 25# 26 27# 28# MAPFILE HEADER START 29# 30# WARNING: STOP NOW. DO NOT MODIFY THIS FILE. 31# Object versioning must comply with the rules detailed in 32# 33# usr/src/lib/README.mapfiles 34# 35# You should not be making modifications here until you've read the most current 36# copy of that file. If you need help, contact a gatekeeper for guidance. 37# 38# MAPFILE HEADER END 39# 40 41$mapfile_version 2 42 43# Note: 44# 45# SHA256Update, SHA384Update, and SHA512Update are all 46# weak aliases for SHA2Update. 47# 48# SHA256Final, SHA384Final, and SHA512Final are all 49# weak aliases for SHA2Final 50# 51# We use NODYNSORT to keep the weak aliases out of the .SUNW_dymsymsort 52# ELF section. As a result, ld will put the two main symbols in. 53# 54 55SYMBOL_VERSION ILLUMOS_0.1 { 56 global: 57 Skein1024_Final; 58 Skein1024_Final_Pad; 59 Skein1024_Init; 60 Skein1024_InitExt; 61 Skein1024_Output; 62 Skein1024_Update; 63 Skein_256_Final; 64 Skein_256_Final_Pad; 65 Skein_256_Init; 66 Skein_256_InitExt; 67 Skein_256_Output; 68 Skein_256_Update; 69 Skein_512_Final; 70 Skein_512_Final_Pad; 71 Skein_512_Init; 72 Skein_512_InitExt; 73 Skein_512_Output; 74 Skein_512_Update; 75 EdonRFinal; 76 EdonRHash; 77 EdonRInit; 78 EdonRUpdate; 79} SUNW_1.1; 80 81SYMBOL_VERSION SUNW_1.1 { 82 global: 83 MD4Final; 84 MD4Init; 85 MD4Update; 86 md5_calc; 87 MD5Final { FLAGS = NODIRECT; }; # Addr interpose from testsuite 88 MD5Init { FLAGS = NODIRECT; }; # Addr interpose from testsuite 89 MD5Update { FLAGS = NODIRECT; }; # Addr interpose from testsuite 90 SHA1Final; 91 SHA1Init; 92 SHA1Update; 93 SHA256Final { FLAGS = NODYNSORT; }; 94 SHA256Init; 95 SHA256Update { FLAGS = NODYNSORT; }; 96 SHA2Final; 97 SHA2Init; 98 SHA2Update; 99 SHA384Final { FLAGS = NODYNSORT; }; 100 SHA384Init; 101 SHA384Update { FLAGS = NODYNSORT; }; 102 SHA512Final { FLAGS = NODYNSORT; }; 103 SHA512Init; 104 SHA512Update { FLAGS = NODYNSORT; }; 105}; 106 107SYMBOL_VERSION ILLUMOSprivate { 108 global: 109$if _ELF64 && _x86 110 # 111 # We use hardware capabilities to define multiple versions of 112 # the block processing functions for some of the SHA functions. 113 # Unfortunately, that requires these to be global symbols, even 114 # though we don't want them to be. As such, they remain in a 115 # private version and hopefully some day will be removed. These 116 # symbols are not exposed in any meaningful way in a header file 117 # so no application should actually end up requiring this 118 # section. 119 # 120 sha1_block_data_order; 121 SHA256TransformBlocks; 122$endif 123 local: 124 *; 125}; 126