Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.2:kernel-2.6.32:Test
kernel-pae
built-in-where
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File built-in-where of Package kernel-pae
#! /bin/bash sourcedir=${0%/*} # A lot of symbols are exported by the main kernel image. Find out # more precisely which built-in.o file defines them, and fill in # that information in Module.symvers. (The built-in.o files are # linked together from one or more object files in a directory.) # We use this information to better group symbols by subsystems. # # Usage: built-in-where < Module.symvers unset LANG ${!LC_*} # Create a table of all symbol export in a built-in.o file, e.g., # 0xc87c1f84 ktime_get kernel/built-in EXPORT_SYMBOL_GPL built_in_exports() { # a/b/c/built-in.o gets linked into a/b/built-in.o, so ensure # that we visit sub-directories first to split up symbols as # much as possible. for obj in $(find -name built-in.o -printf '%d %P\n' \ | sort -r \ | awk '{ print $2 }'); do if test -e "$obj.parts"; then for part in $(grep -v '/built-in\.o$' "$obj.parts"); do # append "/built-in" to the module name so that # we recognize them as built-in symbols when # generating the symsets $sourcedir/symsets.pl --list-exported-symbols $part | \ awk ' BEGIN { FS = "\t" ; OFS = "\t" } { $3 = $3 "/built-in"; print } ' done fi # Always dump the whole built-in.o just in case the *.parts file # misses some object files $sourcedir/symsets.pl --list-exported-symbols $obj done # We could go through the libraries as well, but those functions # are so unlikely to change that this wouldn't help. # (All remaining symbols will end up in the vmlinux set.) #for archive in $(find -name '*.a'); do # $sourcedir/symsets.pl --list-exported-symbols $archive #done } # Filter out duplicates from a Module.symvers dump unique_symbols() { awk ' { if ($2 in seen) next seen[$2] = 1 print } ' } # Join together the two tables, including all lines from the first # file that don't have a match in the second. # Finally, remove the duplicate columns. join -t $'\t' -j 2 -a 1 \ <(sort -k2) \ <(built_in_exports | unique_symbols | sort -k2) \ | awk ' BEGIN { FS = "\t" ; OFS = "\t" } NF == 7 { print $2, $1, $6, $4 } NF == 4 { print $2, $1, $3, $4 } '
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor