exception_lists/check_rtime
author Niveditha Rau <Niveditha.Rau@Oracle.COM>
Mon, 01 Jul 2013 14:44:47 -0700
changeset 1357 e1dae316d753
parent 1299 66d477fdb4ca
child 1447 b26f1451b601
permissions -rw-r--r--
16739296 Deliver intel-gpu-tools

#
# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
#
#
# This file provides exceptions to the usual rules applied to ELF objects by
# check_rtime. All strings are Perl regular expressions that are compared to
# file paths. In addition to the standard Perl syntax, there is one extension:
#
#	MACH(dir)
#
# is expanded into a regular expression that matches the given
# directory, or a 64-bit subdirectory of the directory with the
# name of a 64-bit architecture. For example, MACH(lib) will match
# any of the following:
#
#	lib
#	lib/amd64
#	lib/sparcv9
#
#
# Files for which we skip checking of duplicate addresses in the
# symbol sort sections. Such exceptions should be rare --- most code will
# not have duplicate addresses, since it takes assember or a "#pragma weak"
# to do such aliasing in C. C++ is different: The compiler generates aliases
# for implementation reasons, and the mangled names used to encode argument
# and return value types are difficult to handle well in mapfiles.
NOSYMSORT	usr/bin/synergyc
NOSYMSORT	usr/bin/synergys
NOSYMSORT	usr/bin/Xvnc
NOSYMSORT	usr/bin/vncconfig
NOSYMSORT	usr/bin/vncpasswd
NOSYMSORT	usr/bin/vncviewer
NOSYMSORT	usr/bin/x0vncserver
NOSYMSORT	usr/lib/MACH(mesa)/libGL.so.1
#
# Unreferenced object of X objects we can't change for specific reasons
# - Old versions of Java rely on this dependency, even though it forms a
#   loop in the dependency graph, so we can't remove it (see CR 6192234)
UNREF_OBJ       /libXext\.so\.0;\ unused\ dependency\ of .*/libX11\.so\.4
#
# Unreferenced objects of objects from other consolidations
UNREF_OBJ	/lib.*\ of\ .*libgnutls\.so\.26
UNREF_OBJ	/lib.*\ of\ .*libnvidia-tls\.so\.1
UNREF_OBJ	/lib.*\ of\ .*libstdcxx4\.so\.4
UNREF_OBJ	/libdl\.so\.1;.*\ of\ .*libXm\.so\.4
#
# Unused runpaths due to use of both relative & absolute paths
UNUSED_RPATH    /usr/lib/xorg.*\ from\ .*/mkfontscale
#
# Unused runpaths in objects from other consolidations
UNUSED_RPATH	/usr/dt/lib.*\ from\ .*libXm\.so\.4
UNUSED_RPATH	/usr/lib.*\ from\ .*libgcc_s\.so\.1
UNUSED_RPATH	/usr/ccs/lib.*\ from\ .*libgcc_s\.so\.1
UNUSED_RPATH	/usr/sfw/lib.*\ from\ .*libgcc_s\.so\.1
UNUSED_RPATH	/usr/lib.*\ from\ .*libstdc\+\+\.so\.6
UNUSED_RPATH	/usr/ccs/lib.*\ from\ .*libstdc\+\+\.so\.6
UNUSED_RPATH	/opt/VRTSvxvm/lib.*\ from\ .*libdiskmgt\.so\.1
#
## Things we might be able to fix eventually, but not today:
#
# libXinerama only uses libc for malloc() - when linked with synergyc &
# synergys, which get malloc from libumem via libstdcxx4, libc appears unused.
UNREF_OBJ	/libc.so.1;.*\ of\ .*/usr/lib/libXinerama\.so\.1
#
# Unused runpaths due to libtool forcing the target directory into the runpath
UNUSED_RPATH	/usr/lib/xorg.*\ from\ .*libdrm.so.2
UNUSED_RPATH	/usr/lib/xorg.*\ from\ .*libfontenc.so.1
UNUSED_RPATH	/usr/lib/X11/MACH(locale)/common.*\ from\ .*/common/.*\.so\.2
UNUSED_RPATH	/usr/lib/X11/xdm.*\ from\ .*libXdmGreet.so
#
# gcc adds several directories to the runpath automatically
UNUSED_RPATH	/MACH(lib).* from\ .*/libGL.*.so.1
UNUSED_RPATH	/usr/MACH(lib).* from\ .*/libGL.*.so.1
UNUSED_RPATH	/MACH(lib).* from\ .*/lib.*XvMC.so.1
UNUSED_RPATH	/usr/MACH(lib).* from\ .*/lib.*XvMC.so.1
UNUSED_RPATH	/usr/ccs/MACH(lib).* from\ .*/lib.*XvMC.so.1
UNUSED_RPATH	/usr/sfw/MACH(lib).* from\ .*/lib.*XvMC.so.1
UNUSED_RPATH	/MACH(lib).* from\ .*/usr/lib/xorg/modules/.*.so
UNUSED_RPATH	/usr/MACH(lib).* from\ .*/usr/lib/xorg/modules/.*.so
UNUSED_RPATH	/usr/sfw/MACH(lib).* from\ .*/usr/lib/xorg/modules/.*.so
UNUSED_RPATH	/MACH(lib).* from\ .*/usr/lib/xorg/vmmouse_detect
UNUSED_RPATH	/usr/MACH(lib).* from\ .*/usr/lib/xorg/vmmouse_detect
UNUSED_RPATH	/usr/sfw/MACH(lib).* from\ .*/usr/lib/xorg/vmmouse_detect
#
# Issues caused by having to pass a single set of linker flags to module
# configure scripts/Makefiles used to build a mixed bag of objects
UNUSED_RPATH	/MACH(lib).*\ from\ .*/usr/lib/xorg/synclient
UNUSED_RPATH	/MACH(lib).*\ from\ .*/usr/lib/xorg/syndaemon
UNUSED_RPATH	/usr/lib/xorg.*\ from\ .*/usr/lib/xorg/modules/.*\.so
UNUSED_RPATH	/usr/lib/fbconfig.*\ from\ .*/usr/lib/fbconfig/.*\.so