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

TOMOYO Linux Cross Reference
Linux/arch/powerpc/kernel/prom_init_check.sh

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 /arch/powerpc/kernel/prom_init_check.sh (Version linux-6.12-rc7) and /arch/i386/kernel/prom_init_check.sh (Version policy-sample)


  1 #!/bin/sh                                         
  2 # SPDX-License-Identifier: GPL-2.0-or-later       
  3 #                                                 
  4 # Copyright © 2008 IBM Corporation               
  5 #                                                 
  6                                                   
  7 # This script checks prom_init.o to see what e    
  8 # is using, if it finds symbols not in the whi    
  9 # an error. The point of this is to discourage    
 10 # intentionally or accidentally adding new cod    
 11 # which has side effects on other parts of the    
 12                                                   
 13 # If you really need to reference something fr    
 14 # it to the list below:                           
 15                                                   
 16 has_renamed_memintrinsics()                       
 17 {                                                 
 18         grep -q "^CONFIG_KASAN=y$" ${KCONFIG_C    
 19                 ! grep -q "^CONFIG_CC_HAS_KASA    
 20 }                                                 
 21                                                   
 22 if has_renamed_memintrinsics                      
 23 then                                              
 24         MEM_FUNCS="__memcpy __memset"             
 25 else                                              
 26         MEM_FUNCS="memcpy memset"                 
 27 fi                                                
 28                                                   
 29 WHITELIST="add_reloc_offset __bss_start __bss_    
 30 _end enter_prom $MEM_FUNCS reloc_offset __seco    
 31 __secondary_hold_acknowledge __secondary_hold_    
 32 logo_linux_clut224 btext_prepare_BAT              
 33 reloc_got2 kernstart_addr memstart_addr linux_    
 34 btext_setup_display TOC. relocate"                
 35                                                   
 36 NM="$1"                                           
 37 OBJ="$2"                                          
 38                                                   
 39 ERROR=0                                           
 40                                                   
 41 check_section()                                   
 42 {                                                 
 43     file=$1                                       
 44     section=$2                                    
 45     size=$(objdump -h -j $section $file 2>/dev    
 46     size=${size:-0}                               
 47     if [ $size -ne 0 ]; then                      
 48         ERROR=1                                   
 49         echo "Error: Section $section not empt    
 50     fi                                            
 51 }                                                 
 52                                                   
 53 for UNDEF in $($NM -u $OBJ | awk '{print $2}')    
 54 do                                                
 55         # On 64-bit nm gives us the function d    
 56         # a leading . on the name, so strip it    
 57         UNDEF="${UNDEF#.}"                        
 58                                                   
 59         case "$KBUILD_VERBOSE" in                 
 60         *1*)                                      
 61                 echo "Checking prom_init.o sym    
 62         esac                                      
 63                                                   
 64         OK=0                                      
 65         for WHITE in $WHITELIST                   
 66         do                                        
 67                 if [ "$UNDEF" = "$WHITE" ]; th    
 68                         OK=1                      
 69                         break                     
 70                 fi                                
 71         done                                      
 72                                                   
 73         # ignore register save/restore funcito    
 74         case $UNDEF in                            
 75         _restgpr_*|_restgpr0_*|_rest32gpr_*)      
 76                 OK=1                              
 77                 ;;                                
 78         _savegpr_*|_savegpr0_*|_save32gpr_*)      
 79                 OK=1                              
 80                 ;;                                
 81         esac                                      
 82                                                   
 83         if [ $OK -eq 0 ]; then                    
 84                 ERROR=1                           
 85                 echo "Error: External symbol '    
 86                      "from prom_init.c" >&2       
 87         fi                                        
 88 done                                              
 89                                                   
 90 check_section $OBJ .data                          
 91 check_section $OBJ .bss                           
 92 check_section $OBJ .init.data                     
 93                                                   
 94 exit $ERROR                                       
                                                      

~ [ 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