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

TOMOYO Linux Cross Reference
Linux/arch/alpha/include/asm/string.h

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/alpha/include/asm/string.h (Architecture alpha) and /arch/sparc/include/asm-sparc/string.h (Architecture sparc)


  1 /* SPDX-License-Identifier: GPL-2.0 */              1 
  2 #ifndef __ALPHA_STRING_H__                        
  3 #define __ALPHA_STRING_H__                        
  4                                                   
  5 #ifdef __KERNEL__                                 
  6                                                   
  7 /*                                                
  8  * GCC of any recent vintage doesn't do stupid    
  9  * EGCS 1.1 knows all about expanding memcpy i    
 10  *                                                
 11  * Similarly for a memset with data = 0.          
 12  */                                               
 13                                                   
 14 #define __HAVE_ARCH_MEMCPY                        
 15 extern void * memcpy(void *, const void *, siz    
 16 #define __HAVE_ARCH_MEMMOVE                       
 17 extern void * memmove(void *, const void *, si    
 18                                                   
 19 /* For backward compatibility with modules.  U    
 20 extern void * __memcpy(void *, const void *, s    
 21                                                   
 22 #define memcpy __builtin_memcpy                   
 23                                                   
 24 #define __HAVE_ARCH_MEMSET                        
 25 extern void * __constant_c_memset(void *, unsi    
 26 extern void * ___memset(void *, int, size_t);     
 27 extern void * __memset(void *, int, size_t);      
 28 extern void * memset(void *, int, size_t);        
 29                                                   
 30 /* For gcc 3.x, we cannot have the inline func    
 31    the __builtin_memset will attempt to resolv    
 32    leading to a "sorry" about unimplemented re    
 33 extern inline void *__memset(void *s, int c, s    
 34 {                                                 
 35         if (__builtin_constant_p(c)) {            
 36                 if (__builtin_constant_p(n)) {    
 37                         return __builtin_memse    
 38                 } else {                          
 39                         unsigned long c8 = (c     
 40                         return __constant_c_me    
 41                 }                                 
 42         }                                         
 43         return ___memset(s, c, n);                
 44 }                                                 
 45                                                   
 46 #define memset __memset                           
 47                                                   
 48 #define __HAVE_ARCH_STRCPY                        
 49 extern char * strcpy(char *,const char *);        
 50 #define __HAVE_ARCH_STRNCPY                       
 51 extern char * strncpy(char *, const char *, si    
 52 #define __HAVE_ARCH_STRCAT                        
 53 extern char * strcat(char *, const char *);       
 54 #define __HAVE_ARCH_STRNCAT                       
 55 extern char * strncat(char *, const char *, si    
 56 #define __HAVE_ARCH_STRCHR                        
 57 extern char * strchr(const char *,int);           
 58 #define __HAVE_ARCH_STRRCHR                       
 59 extern char * strrchr(const char *,int);          
 60 #define __HAVE_ARCH_STRLEN                        
 61 extern size_t strlen(const char *);               
 62 #define __HAVE_ARCH_MEMCHR                        
 63 extern void * memchr(const void *, int, size_t    
 64                                                   
 65 /* The following routine is like memset except    
 66    aligned values.  The DEST and COUNT paramet    
 67    correct operation.  */                         
 68                                                   
 69 #define __HAVE_ARCH_MEMSET16                      
 70 extern void * __memset16(void *dest, unsigned     
 71 static inline void *memset16(uint16_t *p, uint    
 72 {                                                 
 73         if (__builtin_constant_p(v))              
 74                 return __constant_c_memset(p,     
 75         return __memset16(p, v, n * 2);           
 76 }                                                 
 77                                                   
 78 #endif /* __KERNEL__ */                           
 79                                                   
 80 #endif /* __ALPHA_STRING_H__ */                   
 81                                                   

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