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
55 SYMBOL_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
81 SYMBOL_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
107 SYMBOL_VERSION ILLUMOSprivate {
108 global:
109 $if _ELF64 && _x86
110 #
111 # We use hardware capabilities to define multiple versions of
112 # the processing certain values. Unfortunately, at this time,
113 # that requires these to be global symbols, even though we don't
114 # want them to be. As such, they remain in a private version and
115 # hopefully some day will be removed.
116 #
117 sha1_block_data_order;
118 SHA256TransformBlocks;
119 $endif
120 local:
121 *;
122 };