~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/scripts/nsdeps

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /scripts/nsdeps (Version linux-6.12-rc7) and /scripts/nsdeps (Version linux-5.14.21)


  1 #!/bin/sh                                           1 #!/bin/sh
  2 # SPDX-License-Identifier: GPL-2.0                  2 # SPDX-License-Identifier: GPL-2.0
  3 # Linux kernel symbol namespace import generat      3 # Linux kernel symbol namespace import generator
  4 #                                                   4 #
  5 # This script requires a minimum spatch versio      5 # This script requires a minimum spatch version.
  6 SPATCH_REQ_VERSION="1.0.4"                          6 SPATCH_REQ_VERSION="1.0.4"
  7                                                     7 
  8 DIR="$(dirname $(readlink -f $0))/.."               8 DIR="$(dirname $(readlink -f $0))/.."
  9 SPATCH="`which ${SPATCH:=spatch}`"                  9 SPATCH="`which ${SPATCH:=spatch}`"
 10 if [ ! -x "$SPATCH" ]; then                        10 if [ ! -x "$SPATCH" ]; then
 11         echo 'spatch is part of the Coccinelle     11         echo 'spatch is part of the Coccinelle project and is available at http://coccinelle.lip6.fr/'
 12         exit 1                                     12         exit 1
 13 fi                                                 13 fi
 14                                                    14 
 15 SPATCH_VERSION=$($SPATCH --version | head -1 |     15 SPATCH_VERSION=$($SPATCH --version | head -1 | awk '{print $3}')
 16                                                    16 
 17 if ! { echo "$SPATCH_REQ_VERSION"; echo "$SPAT     17 if ! { echo "$SPATCH_REQ_VERSION"; echo "$SPATCH_VERSION"; } | sort -CV ; then
 18         echo "spatch needs to be version $SPAT     18         echo "spatch needs to be version $SPATCH_REQ_VERSION or higher"
 19         exit 1                                     19         exit 1
 20 fi                                                 20 fi
 21                                                    21 
 22 if [ "$KBUILD_EXTMOD" ]; then                      22 if [ "$KBUILD_EXTMOD" ]; then
 23         src_prefix=                                23         src_prefix=
 24 else                                               24 else
 25         src_prefix=$srctree/                       25         src_prefix=$srctree/
 26 fi                                                 26 fi
 27                                                    27 
 28 generate_deps_for_ns() {                           28 generate_deps_for_ns() {
 29         $SPATCH --very-quiet --in-place --sp-f     29         $SPATCH --very-quiet --in-place --sp-file \
 30                 $srctree/scripts/coccinelle/mi     30                 $srctree/scripts/coccinelle/misc/add_namespace.cocci -D nsdeps -D ns=$1 $2
 31 }                                                  31 }
 32                                                    32 
 33 generate_deps() {                                  33 generate_deps() {
 34         local mod=${1%.ko:}                        34         local mod=${1%.ko:}
 35         shift                                      35         shift
 36         local namespaces="$*"                      36         local namespaces="$*"
 37         local mod_source_files=$(sed "s|^\(.*\ !!  37         local mod_source_files="`cat $mod.mod | sed -n 1p                      \
 38                                                !!  38                                               | sed -e 's/\.o/\.c/g'           \
                                                   >>  39                                               | sed "s|[^ ]* *|${src_prefix}&|g"`"
 39         for ns in $namespaces; do                  40         for ns in $namespaces; do
 40                 echo "Adding namespace $ns to      41                 echo "Adding namespace $ns to module $mod.ko."
 41                 generate_deps_for_ns $ns "$mod     42                 generate_deps_for_ns $ns "$mod_source_files"
 42                 # sort the imports                 43                 # sort the imports
 43                 for source_file in $mod_source     44                 for source_file in $mod_source_files; do
 44                         sed '/MODULE_IMPORT_NS     45                         sed '/MODULE_IMPORT_NS/Q' $source_file > ${source_file}.tmp
 45                         offset=$(wc -l ${sourc     46                         offset=$(wc -l ${source_file}.tmp | awk '{print $1;}')
 46                         cat $source_file | gre     47                         cat $source_file | grep MODULE_IMPORT_NS | LC_ALL=C sort -u >> ${source_file}.tmp
 47                         tail -n +$((offset +1)     48                         tail -n +$((offset +1)) ${source_file} | grep -v MODULE_IMPORT_NS >> ${source_file}.tmp
 48                         if ! diff -q ${source_     49                         if ! diff -q ${source_file} ${source_file}.tmp; then
 49                                 mv ${source_fi     50                                 mv ${source_file}.tmp ${source_file}
 50                         else                       51                         else
 51                                 rm ${source_fi     52                                 rm ${source_file}.tmp
 52                         fi                         53                         fi
 53                 done                               54                 done
 54         done                                       55         done
 55 }                                                  56 }
 56                                                    57 
 57 while read line                                    58 while read line
 58 do                                                 59 do
 59         generate_deps $line                        60         generate_deps $line
 60 done < $MODULES_NSDEPS                             61 done < $MODULES_NSDEPS
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php