elf.py revision 1516
1231N/A# The contents of this file are subject to the terms of the 1231N/A# Common Development and Distribution License (the "License"). 1231N/A# You may not use this file except in compliance with the License. 1231N/A# See the License for the specific language governing permissions 1231N/A# and limitations under the License. 1231N/A# When distributing Covered Code, include this CDDL HEADER in each 1231N/A# If applicable, add the following below this CDDL HEADER, with the 1231N/A# fields enclosed by brackets "[]" replaced with your own identifying 1231N/A# information: Portions Copyright [yyyy] [name of copyright owner] 1231N/A# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 1231N/A# Use is subject to license terms. 1231N/A """Exception that is raised when the elf dependency checker is given 1231N/A a file that errors when it tries to get the dynamic section from the 1231N/A """Exception that is used for elf dependencies which have a dynamic 1231N/A token in their path that we're unable to decode.""" 1231N/A return _(
"%s had this token, %s, in its run path:%s. We are " 1231N/A "unable to handle this token at this time.") % \
1231N/A """Class representing a dependency from one file to another library 1231N/A """Checks whether this dependency has been delivered. If the 1231N/A full path has not been delivered, check whether the base name 1231N/A has. If it has, it's likely that the run path is being set 1231N/A externally. Report a warning, but not an error in this case.""" 1231N/A # If the none of the paths pointed to a file with the desired 1231N/A # basename, but a file with that basename was delivered by this 1231N/A # package, then treat the dependency as a warning instead of 1231N/A # an error. The failure to find the path to the right file 1231N/A # may be due to the library search path being set outside the 1231N/A # file that generates the dependency. 1231N/A """Given a file action and proto directory, produce the elf dependencies 1231N/A # For kernel modules, default path resolution is /platform/<platform>, 1231N/A # a given module? Does it do fallbacks to, say, sun4u? 1231N/A # Add this platform to the search path. 1231N/A # Default kernel search path 1231N/A # What subdirectory should we look in for 64-bit kernel modules?