• Rusty Russell's avatar
    [S390] allow usage of string functions in linux/string.h · 6faf2507
    Rusty Russell authored
    In introducing a trivial "strstarts()" function in linux/string.h, we
    hit the following error on s390:
    
    In file included from include/linux/bitmap.h:8,
                     from include/linux/cpumask.h:142,
                     from include/linux/smp.h:12,
                     from /home/rusty/devel/kernel/patches/linux-2.6/arch/s390/include/asm/spinlock.h:14,
                     from include/linux/spinlock.h:88,
                     from include/linux/seqlock.h:29,
                     from include/linux/time.h:8,
                     from include/linux/stat.h:60,
                     from include/linux/module.h:10,
                     from arch/s390/lib/string.c:13:
    include/linux/string.h: In function 'strstarts':
    include/linux/string.h:124: error: implicit declaration of function 'strlen'
    include/linux/string.h:124: warning: incompatible implicit declaration of built-in function 'strlen'
    
    Because when including asm/string.h from arch/s390/lib/string.c we
    don't declare the string ops we are about to define, and
    linux/string.h barfs.
    
    The fix is to declare them in this IN_ARCH_STRING_C case, but in
    general I wonder if there's a neater fix.
    
    Reported-by: linux-next
    Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    6faf2507
string.h 3.77 KB