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 };