Navigation Menu

Skip to content

Commit

Permalink
4519 ABI checking needs to adapt to modern times, run by default
Browse files Browse the repository at this point in the history
Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Jens Elkner <jel+illumos@cs.uni-magdeburg.de>
Approved by: Gordon Ross <gwr@nexenta.com>
  • Loading branch information
richlowe committed Feb 18, 2014
1 parent cb4d169 commit 2c2a4b2
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 13 deletions.
5 changes: 4 additions & 1 deletion exception_lists/interface_check
Expand Up @@ -63,7 +63,10 @@ PLUGIN ^usr/lib/sysevent/modules
PLUGIN ^usr/perl5/5\.[^\\]*/lib
PLUGIN ^usr/platform
PLUGIN ^usr/sadm/lib/wbem

# We unfortunately can't use MACH() here, since .../64/ is literal, and not a
# link to to amd64 or sparcv9
PLUGIN ^usr/lib/dtrace/libdtrace_forceload\.so$
PLUGIN ^usr/lib/dtrace/64/libdtrace_forceload\.so$

# sbcp is a special case, and not a plugin. However, it does not have a
# versioned name, and does not contain versioning, so the PLUGIN exemptions fit.
Expand Down
3 changes: 2 additions & 1 deletion usr/src/tools/env/illumos.sh
Expand Up @@ -32,6 +32,7 @@
# DEBUG build only (-D, -F)
# do not bringover from the parent (-n)
# runs 'make check' (-C)
# checks for new interfaces in libraries (-A)
# runs lint in usr/src (-l plus the LINTDIRS variable)
# sends mail on completion (-m and the MAILTO variable)
# creates packages for PIT/RE (-p)
Expand All @@ -43,7 +44,7 @@
# - This script is only interpreted by ksh93 and explicitly allows the
# use of ksh93 language extensions.
#
export NIGHTLY_OPTIONS='-FnCDlmprt'
export NIGHTLY_OPTIONS='-FnCDAlmprt'

#
# -- PLEASE READ THIS --
Expand Down
22 changes: 11 additions & 11 deletions usr/src/tools/scripts/onbld_elfmod_vertype.pm
Expand Up @@ -43,8 +43,8 @@ package onbld_elfmod_vertype;
# fall into the following categories:
#
# NUMBERED: A public version that follows the standard numbering
# convention of a known prefix (e.g. SUNW_), followed
# by 2 or 3 dot separated numeric values:
# convention of a known prefix (e.g. ILLUMOS_),
# followed by 2 or 3 dot separated numeric values:
#
# <PREFIX>major.minor[.micro]
#
Expand Down Expand Up @@ -101,16 +101,16 @@ use strict;
sub Category {
my ($Ver, $Soname) = @_;

# For Solaris and related products, the SUNW_ prefix is
# used for numbered public versions.
if ($Ver =~ /^(SUNW_)(\d+)\.(\d+)(\.(\d+))?/) {
# For illumos, the SUNW_ or ILLUMOS_ prefix is used for numbered
# public versions.
if ($Ver =~ /^((?:SUNW|ILLUMOS)_)(\d+)\.(\d+)(\.(\d+))?/) {
return ('NUMBERED', 3, $1, $2, $3, $5) if defined($5);
return ('NUMBERED', 2, $1, $2, $3);
}

# Well known plain versions. In Solaris, these names were used
# to tag symbols that come from the SVR4 underpinnings to Solaris.
# Later Sun-specific additions are all tagged SUNW_xxx.
# Later additions are all in the NUMBERED form.
return ('PLAIN')
if (($Ver =~ /^SYSVABI_1.[23]$/) || ($Ver =~ /^SISCD_2.3[ab]*$/));

Expand All @@ -119,12 +119,12 @@ sub Category {
return ('SONAME')
if ($Ver eq $Soname) && ($Soname ne '');

# The Solaris convention is to use SUNWprivate to indicate
# private versions. SUNWprivate can have a numeric suffix, but
# the number is not significant for ELF versioning other than
# being part of a unique name.
# The convention is to use SUNWprivate and ILLUMOSprivate to indicate
# private versions. They may have a numeric suffix, but the
# number is not significant for ELF versioning other than being part
# of a unique name.
return ('PRIVATE')
if ($Ver =~ /^SUNWprivate(_[0-9.]+)?$/);
if ($Ver =~ /^(SUNW|ILLUMOS)private(_[0-9.]+)?$/);

# Anything else is a version we don't recognize.
return ('UNKNOWN');
Expand Down

0 comments on commit 2c2a4b2

Please sign in to comment.