Paul Cheng | 74b5a35 | 2010-04-24 08:01:59 -0700 | [diff] [blame] | 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 | |
Paul Cheng | 0a925b1 | 2010-04-21 19:20:16 -0700 | [diff] [blame] | 23 | # Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. |
Andy Fiddaman | e8921a5 | 2018-10-13 21:12:19 +0000 | [diff] [blame] | 24 | # Copyright 2018 OmniOS Community Edition (OmniOSce) Association. |
Ali Bahrami | 75ce41a | 2009-08-20 16:09:41 -0600 | [diff] [blame] | 25 | |
Ali Bahrami | 5253169 | 2010-05-24 13:00:02 -0600 | [diff] [blame] | 26 | # This file provides exceptions to the usual rules applied to shared |
| 27 | # objects by interface_check. All strings are Perl regular expressions |
| 28 | # that are compared to file names. In addition to the standard Perl |
| 29 | # syntax, there is one extension: |
Ali Bahrami | 75ce41a | 2009-08-20 16:09:41 -0600 | [diff] [blame] | 30 | # |
| 31 | # MACH(dir) |
| 32 | # |
| 33 | # is expanded into a regular expression that matches the given |
| 34 | # directory, or a 64-bit subdirectory of the directory with the |
| 35 | # name of a 64-bit architecture. For example, MACH(lib) will match |
| 36 | # any of the following: |
| 37 | # |
| 38 | # lib |
| 39 | # lib/amd64 |
| 40 | # lib/sparcv9 |
| 41 | |
| 42 | |
Ali Bahrami | 5253169 | 2010-05-24 13:00:02 -0600 | [diff] [blame] | 43 | # Shared objects underneath these parts of the tree are taken to be plugins. |
Ali Bahrami | 75ce41a | 2009-08-20 16:09:41 -0600 | [diff] [blame] | 44 | # Plugins are not required to have versioned file names, and are not required |
| 45 | # to be internally versioned. |
| 46 | # |
Ali Bahrami | 75ce41a | 2009-08-20 16:09:41 -0600 | [diff] [blame] | 47 | PLUGIN ^usr/lib/devfsadm |
| 48 | PLUGIN ^usr/lib/efcode/.*\.so$ |
| 49 | PLUGIN ^usr/lib/elfedit |
| 50 | PLUGIN ^usr/lib/fm/fmd/plugins |
| 51 | PLUGIN ^usr/lib/fm/fmd/schemes |
| 52 | PLUGIN ^usr/lib/fm/topo/plugins |
| 53 | PLUGIN ^usr/lib/fwflash |
| 54 | PLUGIN ^usr/lib/iconv |
| 55 | PLUGIN ^usr/lib/inet/ppp |
Gordon Ross | b0e753d | 2015-02-11 22:03:23 -0500 | [diff] [blame] | 56 | PLUGIN ^usr/lib/lp/ipp |
Ali Bahrami | 75ce41a | 2009-08-20 16:09:41 -0600 | [diff] [blame] | 57 | PLUGIN ^usr/lib/mdb |
Ali Bahrami | 75ce41a | 2009-08-20 16:09:41 -0600 | [diff] [blame] | 58 | PLUGIN ^usr/lib/pci |
| 59 | PLUGIN ^usr/lib/picl/plugins |
Alexander Pyhalov | 9f92308 | 2016-08-30 12:55:15 +0300 | [diff] [blame] | 60 | PLUGIN ^usr/lib/python2.[467] |
Andy Fiddaman | e8921a5 | 2018-10-13 21:12:19 +0000 | [diff] [blame] | 61 | PLUGIN ^usr/lib/python3.[567] |
Ali Bahrami | 75ce41a | 2009-08-20 16:09:41 -0600 | [diff] [blame] | 62 | PLUGIN ^usr/lib/rcm/modules |
| 63 | PLUGIN ^usr/lib/scsi/plugins |
| 64 | PLUGIN ^usr/lib/sysevent/modules |
| 65 | PLUGIN ^usr/perl5/5\.[^\\]*/lib |
| 66 | PLUGIN ^usr/platform |
| 67 | PLUGIN ^usr/sadm/lib/wbem |
Richard Lowe | 2c2a4b2 | 2014-01-23 15:12:43 -0500 | [diff] [blame] | 68 | # We unfortunately can't use MACH() here, since .../64/ is literal, and not a |
| 69 | # link to to amd64 or sparcv9 |
| 70 | PLUGIN ^usr/lib/dtrace/libdtrace_forceload\.so$ |
| 71 | PLUGIN ^usr/lib/dtrace/64/libdtrace_forceload\.so$ |
Ali Bahrami | 75ce41a | 2009-08-20 16:09:41 -0600 | [diff] [blame] | 72 | |
| 73 | # sbcp is a special case, and not a plugin. However, it does not have a |
| 74 | # versioned name, and does not contain versioning, so the PLUGIN exemptions fit. |
| 75 | PLUGIN ^usr/4lib/sbcp$ |
| 76 | |
| 77 | |
| 78 | # Objects that are not expected to contain versioning information. |
| 79 | # Note that PLUGIN objects are automatically exempt from this, |
| 80 | # so these directives are generally applied to non-plugin objects |
| 81 | NOVERDEF ^usr/4lib/libc\.so\. |
| 82 | NOVERDEF ^usr/MACH(lib)/0\@0\.so\.1$ |
| 83 | NOVERDEF ^usr/lib/MACH(abi)/apptrace\.so\.1$ |
| 84 | NOVERDEF ^usr/MACH(lib)/libfru.*\.so\.1$ |
| 85 | NOVERDEF ^usr/MACH(lib)/libkrb5\.so\.1$ |
| 86 | NOVERDEF ^usr/MACH(lib)/libzpool\.so\.1$ |
| 87 | NOVERDEF ^usr/MACH(lib)/madv\.so\.1$ |
| 88 | NOVERDEF ^usr/MACH(lib)/mpss\.so\.1$ |
Gerald Jelinek | 1ae9ce9 | 2009-10-22 17:15:10 -0700 | [diff] [blame] | 89 | NOVERDEF ^usr/MACH(lib)/s10_brand\.so\.1$ |
| 90 | NOVERDEF ^usr/MACH(lib)/s10_npreload\.so\.1$ |
Ali Bahrami | 75ce41a | 2009-08-20 16:09:41 -0600 | [diff] [blame] | 91 | NOVERDEF ^usr/MACH(lib)/sn1_brand\.so\.1$ |
| 92 | NOVERDEF ^usr/lib/fs/[^/]*/fstyp\.so\.1$ |
| 93 | NOVERDEF ^usr/lib/libmilter\.so\.1$ |
| 94 | NOVERDEF ^usr/lib/libwrap\.so\.1\.0$ |
| 95 | NOVERDEF ^usr/lib/locale/MACH(iso_8859_1)/iso_8859_1\.so\.3$ |
| 96 | NOVERDEF ^usr/lib/picl/plugins$ |
| 97 | NOVERDEF ^usr/sadm/admin/dhcpmgr/dhcpmgr\.so\.1$ |
| 98 | NOVERDEF ^usr/sadm/admin/printmgr/lib/libpmgr\.so\.1$ |
| 99 | |
| 100 | |
| 101 | # Objects that are allowed to deviate from our standard version |
| 102 | # names. |
Gordon Ross | 9e7640e | 2015-06-01 16:55:57 -0400 | [diff] [blame] | 103 | NONSTD_VERNAME ^MACH(lib)/libsqlite-sys\.so\. |
Ali Bahrami | 75ce41a | 2009-08-20 16:09:41 -0600 | [diff] [blame] | 104 | NONSTD_VERNAME ^usr/MACH(lib)/libtecla\.so\.1$ |
| 105 | |
Ali Bahrami | 75ce41a | 2009-08-20 16:09:41 -0600 | [diff] [blame] | 106 | # These libc variants have an SONAME of libc\.so\.1$ |
| 107 | NONSTD_VERNAME ^usr/MACH(lib)/libc/libc_hwcap[1-3]+\.so\.1$ |
| 108 | |
Ali Bahrami | 75ce41a | 2009-08-20 16:09:41 -0600 | [diff] [blame] | 109 | # The ABI requires the SONAME for libsys.so.1 to be /usr/lib/ld.so.1 |
| 110 | # That means that the base version will also be /usr/lib/ld.so.1, which |
| 111 | # is non-standard. |
| 112 | NONSTD_VERNAME ^usr/lib/libsys\.so\.1$ |