* linux-next: Tree for February 18 @ 2009-02-18 8:16 Stephen Rothwell 2009-02-18 10:29 ` [s390] next Feb 18: defconfig build break Sachin P. Sant 2009-02-18 18:02 ` [PATCH] module: fix build for CONFIG_SYSFS=n Randy Dunlap 0 siblings, 2 replies; 20+ messages in thread From: Stephen Rothwell @ 2009-02-18 8:16 UTC (permalink / raw) To: linux-next; +Cc: LKML [-- Attachment #1: Type: text/plain, Size: 7981 bytes --] Hi all, It has now been more that a year since linux-next started (Feb 14 2008 is the first tag). Changes since 20090217: Undropped tree: rr The stackprotector tree lost its conflict. The rr tree lost its build failure. The trivial tree lost its conflict. ---------------------------------------------------------------------------- I have created today's linux-next tree at git://git.kernel.org/pub/scm/linux/kernel/git/sfr/linux-next.git (patches at http://www.kernel.org/pub/linux/kernel/people/sfr/linux-next/). If you are tracking the linux-next tree using git, you should not use "git pull" to do so as that will try to merge the new linux-next release with the old one. You should use "git fetch" as mentioned in the FAQ on the wiki (see below). You can see which trees have been included by looking in the Next/Trees file in the source. There are also quilt-import.log and merge.log files in the Next directory. Between each merge, the tree was built with a ppc64_defconfig for powerpc and an allmodconfig for x86_64. After the final fixups (if any), it is also built with powerpc allnoconfig, ppc44x_defconfig and allyesconfig (minus CONFIG_PROFILE_ALL_BRANCHES) and i386, sparc and sparc64 defconfig. Below is a summary of the state of the merge. We are up to 133 trees (counting Linus' and 18 trees of patches pending for Linus' tree), more are welcome (even if they are currently empty). Thanks to those who have contributed, and to those who haven't, please do. Status of my local build tests will be at http://kisskb.ellerman.id.au/linux-next . If maintainers want to give advice about cross compilers/configs that work, we are always open to add more builds. Thanks to Jan Dittmer for adding the linux-next tree to his build tests at http://l4x.org/k/ , the guys at http://test.kernel.org/ and Randy Dunlap for doing many randconfig builds. There is a wiki covering stuff to do with linux-next at http://linux.f-seidel.de/linux-next/pmwiki/ . Thanks to Frank Seidel. -- Cheers, Stephen Rothwell sfr@canb.auug.org.au $ git checkout master $ git reset --hard stable Merging origin/master Merging arm-current/master Merging m68k-current/for-linus Merging powerpc-merge/merge Merging sparc-current/master Merging scsi-rc-fixes/master Merging net-current/master Merging sound-current/for-linus Merging pci-current/for-linus Merging wireless-current/master Merging kbuild-current/master Merging quilt/driver-core.current Merging quilt/usb.current Merging cpufreq-current/fixes Merging input-current/for-linus Merging md-current/for-linus Merging audit-current/for-linus Merging crypto-current/master Merging dwmw2/master Merging arm/devel CONFLICT (content): Merge conflict in arch/arm/mach-at91/gpio.c Merging avr32/avr32-arch Merging blackfin/for-linus Merging cris/for-next Merging ia64/test Merging m68k/for-next Merging m68knommu/for-next Merging mips/mips-for-linux-next Merging parisc/master Merging powerpc/next Merging 4xx/next Merging galak/next Merging pxa/for-next CONFLICT (content): Merge conflict in arch/arm/mach-pxa/dma.c Merging s390/features Merging sh/master Merging sparc/master Merging x86/auto-x86-next Merging xtensa/master Merging quilt/driver-core Merging quilt/usb Merging tip-core/auto-core-next Merging cpus4096/auto-cpus4096-next Merging ftrace/auto-ftrace-next CONFLICT (content): Merge conflict in arch/x86/Kconfig Merging genirq/auto-genirq-next CONFLICT (content): Merge conflict in kernel/irq/handle.c Merging safe-poison-pointers/auto-safe-poison-pointers-next Merging sched/auto-sched-next Merging stackprotector/auto-stackprotector-next Merging timers/auto-timers-next Merging pci/linux-next Merging quilt/device-mapper Merging hid/for-next Merging quilt/i2c Merging quilt/jdelvare-hwmon Merging quilt/kernel-doc CONFLICT (content): Merge conflict in Documentation/kernel-parameters.txt Merging v4l-dvb/master Merging quota/for_next Merging jfs/next Merging kbuild/master Merging quilt/ide Merging libata/NEXT Merging nfs/linux-next Merging xfs/master Merging infiniband/for-next Merging acpi/test Merging nfsd/nfsd-next Merging ieee1394/for-next Merging ubi/linux-next Merging kvm/master CONFLICT (content): Merge conflict in arch/x86/include/asm/kvm.h Merging dlm/next Merging scsi/master Merging ocfs2/linux-next Merging ext4/next Merging async_tx/next Merging udf/for_next Merging net/master Merging mtd/master Merging wireless/master Merging crypto/master Merging vfs/for-next Merging sound/for-next CONFLICT (content): Merge conflict in sound/soc/pxa/pxa2xx-i2s.c Merging cpufreq/next CONFLICT (content): Merge conflict in arch/x86/kernel/cpu/cpufreq/powernow-k8.c Merging v9fs/for-next CONFLICT (content): Merge conflict in net/9p/protocol.c Merging quilt/rr CONFLICT (delete/modify): arch/x86/include/asm/es7000/apic.h deleted in HEAD and modified in quilt/rr. Version quilt/rr of arch/x86/include/asm/es7000/apic.h left in tree. CONFLICT (delete/modify): arch/x86/include/asm/numaq/apic.h deleted in HEAD and modified in quilt/rr. Version quilt/rr of arch/x86/include/asm/numaq/apic.h left in tree. CONFLICT (content): Merge conflict in arch/x86/kernel/cpu/cpufreq/powernow-k8.c CONFLICT (content): Merge conflict in drivers/hid/hid-core.c CONFLICT (content): Merge conflict in drivers/media/video/saa7134/saa7134-core.c CONFLICT (content): Merge conflict in drivers/media/video/saa7134/saa7134.h CONFLICT (content): Merge conflict in drivers/net/virtio_net.c CONFLICT (content): Merge conflict in kernel/module.c $ git rm -f arch/x86/include/asm/es7000/apic.h $ git rm -f arch/x86/include/asm/numaq/apic.h Applying: rr: fixup for cpumask:remove-address-of-CPU_MASK_ALL Merging cifs/master Merging mmc/next Merging gfs2/master Merging input/next Merging bkl-removal/bkl-removal Merging ubifs/linux-next Merging lsm/for-next Merging block/for-next Merging embedded/master Merging firmware/master CONFLICT (content): Merge conflict in sound/isa/Kconfig Merging pcmcia/master Merging battery/master Merging leds/for-mm Merging backlight/for-mm Merging kgdb/kgdb-next Merging slab/for-next CONFLICT (content): Merge conflict in include/linux/slub_def.h CONFLICT (content): Merge conflict in mm/slob.c CONFLICT (content): Merge conflict in mm/slub.c Merging uclinux/for-next Merging md/for-next Merging mfd/for-next Merging hdlc/hdlc-next Merging drm/drm-next Merging voltage/for-next Merging security-testing/next Merging lblnet/master Merging quilt/ttydev Merging agp/agp-next Merging kmemcheck/auto-kmemcheck-next CONFLICT (content): Merge conflict in MAINTAINERS CONFLICT (content): Merge conflict in mm/Makefile Merging generic-ipi/auto-generic-ipi-next Merging oprofile/auto-oprofile-next Merging fastboot/auto-fastboot-next Merging sparseirq/auto-sparseirq-next Merging iommu/auto-iommu-next CONFLICT (content): Merge conflict in arch/x86/include/asm/dma-mapping.h Merging uwb/for-upstream Merging watchdog/master Merging proc/proc CONFLICT (content): Merge conflict in security/selinux/hooks.c Merging bdev/master Merging dwmw2-iommu/master Merging cputime/cputime Merging osd/linux-next Merging fatfs/master Merging fuse/for-next Merging jc_docs/docs-next Merging nommu/master Merging trivial/for-next Merging audit/for-next Merging squashfs/master Merging omap/for-next Merging quilt/aoe Merging kmemleak/kmemleak CONFLICT (content): Merge conflict in Documentation/kernel-parameters.txt CONFLICT (content): Merge conflict in include/linux/slab.h CONFLICT (content): Merge conflict in init/main.c CONFLICT (content): Merge conflict in lib/Kconfig.debug CONFLICT (content): Merge conflict in mm/slab.c CONFLICT (content): Merge conflict in mm/slob.c CONFLICT (content): Merge conflict in mm/slub.c Merging quilt/staging Merging scsi-post-merge/master [-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
* [s390] next Feb 18: defconfig build break 2009-02-18 8:16 linux-next: Tree for February 18 Stephen Rothwell @ 2009-02-18 10:29 ` Sachin P. Sant 2009-02-18 11:45 ` Stephen Rothwell 2009-02-18 18:02 ` [PATCH] module: fix build for CONFIG_SYSFS=n Randy Dunlap 1 sibling, 1 reply; 20+ messages in thread From: Sachin P. Sant @ 2009-02-18 10:29 UTC (permalink / raw) To: linux-s390 Cc: Stephen Rothwell, linux-next, LKML, schwidefsky, heiko.carstens Next Feb 18 defconfig build on s390 fails with following error. CC arch/s390/lib/string.o In file included from include/linux/bitmap.h:8, from include/linux/cpumask.h:142, from include/linux/smp.h:12, from /usr/local/autobench/var/tmp/build/linux/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' make[1]: *** [arch/s390/lib/string.o] Error 1 make: *** [arch/s390/lib] Error 2 Thanks -Sachin -- --------------------------------- Sachin Sant IBM Linux Technology Center India Systems and Technology Labs Bangalore, India --------------------------------- ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [s390] next Feb 18: defconfig build break 2009-02-18 10:29 ` [s390] next Feb 18: defconfig build break Sachin P. Sant @ 2009-02-18 11:45 ` Stephen Rothwell 2009-02-18 17:10 ` Mike Frysinger 0 siblings, 1 reply; 20+ messages in thread From: Stephen Rothwell @ 2009-02-18 11:45 UTC (permalink / raw) To: Sachin P. Sant Cc: Rusty Russell, linux-s390, linux-next, LKML, schwidefsky, heiko.carstens [-- Attachment #1: Type: text/plain, Size: 1335 bytes --] Hi Sachin, On Wed, 18 Feb 2009 15:59:20 +0530 "Sachin P. Sant" <sachinp@in.ibm.com> wrote: > > Next Feb 18 defconfig build on s390 fails with following error. > > CC arch/s390/lib/string.o > In file included from include/linux/bitmap.h:8, > from include/linux/cpumask.h:142, > from include/linux/smp.h:12, > from /usr/local/autobench/var/tmp/build/linux/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' > make[1]: *** [arch/s390/lib/string.o] Error 1 > make: *** [arch/s390/lib] Error 2 That would be a side effect of commit 43a47c6ca0e0b5479ae316e188a28b7e625d41e5 ("misc:strstarts") from the rr tree. Rusty cc'd. -- Cheers, Stephen Rothwell sfr@canb.auug.org.au http://www.canb.auug.org.au/~sfr/ [-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [s390] next Feb 18: defconfig build break 2009-02-18 11:45 ` Stephen Rothwell @ 2009-02-18 17:10 ` Mike Frysinger 2009-02-18 22:43 ` Rusty Russell ` (2 more replies) 0 siblings, 3 replies; 20+ messages in thread From: Mike Frysinger @ 2009-02-18 17:10 UTC (permalink / raw) To: Stephen Rothwell Cc: Sachin P. Sant, Rusty Russell, linux-s390, linux-next, LKML, schwidefsky, heiko.carstens On Wed, Feb 18, 2009 at 06:45, Stephen Rothwell wrote: > On Wed, 18 Feb 2009 15:59:20 +0530 "Sachin P. Sant" wrote: >> Next Feb 18 defconfig build on s390 fails with following error. >> >> CC arch/s390/lib/string.o >> In file included from include/linux/bitmap.h:8, >> from include/linux/cpumask.h:142, >> from include/linux/smp.h:12, >> from /usr/local/autobench/var/tmp/build/linux/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' >> make[1]: *** [arch/s390/lib/string.o] Error 1 >> make: *** [arch/s390/lib] Error 2 > > That would be a side effect of commit 43a47c6ca0e0b5479ae316e188a28b7e625d41e5 ("misc:strstarts") from the rr tree. Rusty cc'd. breaks all Blackfin ports as well: In file included from include/linux/bitmap.h:9, from include/linux/nodemask.h:90, from include/linux/mmzone.h:17, from include/linux/gfp.h:5, from include/linux/kmod.h:23, from include/linux/module.h:14, from arch/blackfin/lib/strncmp.c:14: include/linux/string.h: In function 'strstarts': include/linux/string.h:124: error: implicit declaration of function 'strncmp' make[1]: *** [arch/blackfin/lib/strncmp.o] Error 1 make: *** [arch/blackfin/lib] Error 2 -mike ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [s390] next Feb 18: defconfig build break 2009-02-18 17:10 ` Mike Frysinger @ 2009-02-18 22:43 ` Rusty Russell 2009-02-19 5:20 ` Sachin P. Sant 2009-02-20 10:23 ` Martin Schwidefsky 2009-02-18 22:59 ` Rusty Russell 2009-02-19 0:15 ` Rusty Russell 2 siblings, 2 replies; 20+ messages in thread From: Rusty Russell @ 2009-02-18 22:43 UTC (permalink / raw) To: Mike Frysinger Cc: Stephen Rothwell, Sachin P. Sant, linux-s390, linux-next, LKML, schwidefsky, heiko.carstens On Thursday 19 February 2009 03:40:59 Mike Frysinger wrote: > On Wed, Feb 18, 2009 at 06:45, Stephen Rothwell wrote: > > That would be a side effect of commit 43a47c6ca0e0b5479ae316e188a28b7e625d41e5 ("misc:strstarts") from the rr tree. Rusty cc'd. > > breaks all Blackfin ports as well: My first reaction was WTF? My second was, how did our string code become such a catastrophe? Sorry, I had no idea what a mess I was wading into. Here's the s390 fix: Subject: s390: allow usage of string functions in linux/string.h 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: Rusty Russell <rusty@rustcorp.com.au> diff --git a/arch/s390/include/asm/string.h b/arch/s390/include/asm/string.h --- a/arch/s390/include/asm/string.h +++ b/arch/s390/include/asm/string.h @@ -135,7 +135,13 @@ static inline size_t strnlen(const char : "+a" (end), "+a" (tmp) : "d" (r0) : "cc"); return end - s; } - +#else /* IN_ARCH_STRING_C */ +void *memchr(const void * s, int c, size_t n); +void *memscan(void *s, int c, size_t n); +char *strcat(char *dst, const char *src); +char *strcpy(char *dst, const char *src); +size_t strlen(const char *s); +size_t strnlen(const char * s, size_t n); #endif /* !IN_ARCH_STRING_C */ #endif /* __KERNEL__ */ ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [s390] next Feb 18: defconfig build break 2009-02-18 22:43 ` Rusty Russell @ 2009-02-19 5:20 ` Sachin P. Sant 2009-02-20 10:23 ` Martin Schwidefsky 1 sibling, 0 replies; 20+ messages in thread From: Sachin P. Sant @ 2009-02-19 5:20 UTC (permalink / raw) To: Rusty Russell Cc: Mike Frysinger, Stephen Rothwell, linux-s390, linux-next, LKML, schwidefsky, heiko.carstens Rusty Russell wrote: > On Thursday 19 February 2009 03:40:59 Mike Frysinger wrote: > >> On Wed, Feb 18, 2009 at 06:45, Stephen Rothwell wrote: >> >>> That would be a side effect of commit 43a47c6ca0e0b5479ae316e188a28b7e625d41e5 ("misc:strstarts") from the rr tree. Rusty cc'd. >>> >> breaks all Blackfin ports as well: >> > > My first reaction was WTF? My second was, how did our string code become > such a catastrophe? > > Sorry, I had no idea what a mess I was wading into. > > Here's the s390 fix: > Thanks Rusty. That fixes the issue. Regards -Sachin -- --------------------------------- Sachin Sant IBM Linux Technology Center India Systems and Technology Labs Bangalore, India --------------------------------- ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [s390] next Feb 18: defconfig build break 2009-02-18 22:43 ` Rusty Russell 2009-02-19 5:20 ` Sachin P. Sant @ 2009-02-20 10:23 ` Martin Schwidefsky 1 sibling, 0 replies; 20+ messages in thread From: Martin Schwidefsky @ 2009-02-20 10:23 UTC (permalink / raw) To: Rusty Russell Cc: Mike Frysinger, Stephen Rothwell, Sachin P. Sant, linux-s390, linux-next, LKML, heiko.carstens Hi Rusty, On Thu, 19 Feb 2009 09:13:26 +1030 Rusty Russell <rusty@rustcorp.com.au> wrote: > Here's the s390 fix: > > Subject: s390: allow usage of string functions in linux/string.h Thanks for the fix. > 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. The out-of-line version of the string functions in arch/s390/lib/string.c needs EXPORT_SYMBOL and other stuff. To fix the problem without the seperate out-of-line prototypes would required to avoid the inclusing of linux/string.h. Which would be fragile if possible at all. So I think your patch is the best way to deal with the problem. -- blue skies, Martin. "Reality continues to ruin my life." - Calvin. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [s390] next Feb 18: defconfig build break 2009-02-18 17:10 ` Mike Frysinger 2009-02-18 22:43 ` Rusty Russell @ 2009-02-18 22:59 ` Rusty Russell 2009-02-19 1:55 ` Mike Frysinger 2009-02-19 0:15 ` Rusty Russell 2 siblings, 1 reply; 20+ messages in thread From: Rusty Russell @ 2009-02-18 22:59 UTC (permalink / raw) To: Mike Frysinger Cc: Stephen Rothwell, Sachin P. Sant, linux-s390, linux-next, LKML, schwidefsky, heiko.carstens On Thursday 19 February 2009 03:40:59 Mike Frysinger wrote: > breaks all Blackfin ports as well: > In file included from include/linux/bitmap.h:9, > from include/linux/nodemask.h:90, > from include/linux/mmzone.h:17, > from include/linux/gfp.h:5, > from include/linux/kmod.h:23, > from include/linux/module.h:14, > from arch/blackfin/lib/strncmp.c:14: > include/linux/string.h: In function 'strstarts': > include/linux/string.h:124: error: implicit declaration of function 'strncmp' > make[1]: *** [arch/blackfin/lib/strncmp.o] Error 1 > make: *** [arch/blackfin/lib] Error 2 > -mike Hi Mike, I don't have a blackfin cross compiler, but I think this is the right fix: Subject: blackfin: allow usage of string functions in linux/string.h In introducing a trivial "strstarts()" function in linux/string.h, we hit the following error on blackfin: file included from include/linux/bitmap.h:9, from include/linux/nodemask.h:90, from include/linux/mmzone.h:17, from include/linux/gfp.h:5, from include/linux/kmod.h:23, from include/linux/module.h:14, from arch/blackfin/lib/strncmp.c:14: include/linux/string.h: In function 'strstarts': include/linux/string.h:124: error: implicit declaration of function 'strncmp' Because when including asm/string.h from arch/blackfin/lib/strncmp.c, we don't declare the string op we are about to define, and linux/string.h barfs. The fix is to declare the function whose definition we steal via the #define trick. I do this for all of them, so this won't bite us in future. Reported-by: linux-next Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> diff --git a/arch/blackfin/lib/strcmp.c b/arch/blackfin/lib/strcmp.c --- a/arch/blackfin/lib/strcmp.c +++ b/arch/blackfin/lib/strcmp.c @@ -6,6 +6,7 @@ * Licensed under the GPL-2 or later. */ +int strcmp(const char *dest, const char *src); #define strcmp __inline_strcmp #include <asm/string.h> #undef strcmp diff --git a/arch/blackfin/lib/strcpy.c b/arch/blackfin/lib/strcpy.c --- a/arch/blackfin/lib/strcpy.c +++ b/arch/blackfin/lib/strcpy.c @@ -6,6 +6,7 @@ * Licensed under the GPL-2 or later. */ +char *strcpy(char *dest, const char *src); #define strcpy __inline_strcpy #include <asm/string.h> #undef strcpy diff --git a/arch/blackfin/lib/strncmp.c b/arch/blackfin/lib/strncmp.c --- a/arch/blackfin/lib/strncmp.c +++ b/arch/blackfin/lib/strncmp.c @@ -6,6 +6,7 @@ * Licensed under the GPL-2 or later. */ +int strncmp(const char *cs, const char *ct, size_t count); #define strncmp __inline_strncmp #include <asm/string.h> #undef strncmp diff --git a/arch/blackfin/lib/strncpy.c b/arch/blackfin/lib/strncpy.c --- a/arch/blackfin/lib/strncpy.c +++ b/arch/blackfin/lib/strncpy.c @@ -6,6 +6,7 @@ * Licensed under the GPL-2 or later. */ +char *strncpy(char *dest, const char *src, size_t n); #define strncpy __inline_strncpy #include <asm/string.h> #undef strncpy ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [s390] next Feb 18: defconfig build break 2009-02-18 22:59 ` Rusty Russell @ 2009-02-19 1:55 ` Mike Frysinger 2009-02-19 11:40 ` Rusty Russell 0 siblings, 1 reply; 20+ messages in thread From: Mike Frysinger @ 2009-02-19 1:55 UTC (permalink / raw) To: Rusty Russell Cc: Stephen Rothwell, Sachin P. Sant, linux-s390, linux-next, LKML, schwidefsky, heiko.carstens On Wed, Feb 18, 2009 at 17:59, Rusty Russell wrote: > On Thursday 19 February 2009 03:40:59 Mike Frysinger wrote: >> breaks all Blackfin ports as well: >> In file included from include/linux/bitmap.h:9, >> from include/linux/nodemask.h:90, >> from include/linux/mmzone.h:17, >> from include/linux/gfp.h:5, >> from include/linux/kmod.h:23, >> from include/linux/module.h:14, >> from arch/blackfin/lib/strncmp.c:14: >> include/linux/string.h: In function 'strstarts': >> include/linux/string.h:124: error: implicit declaration of function 'strncmp' >> make[1]: *** [arch/blackfin/lib/strncmp.o] Error 1 >> make: *** [arch/blackfin/lib] Error 2 > > I don't have a blackfin cross compiler, but I think this is the right > fix: np ... fix is almost correct :) > --- a/arch/blackfin/lib/strncmp.c > +++ b/arch/blackfin/lib/strncmp.c > @@ -6,6 +6,7 @@ > * Licensed under the GPL-2 or later. > */ > > +int strncmp(const char *cs, const char *ct, size_t count); > #define strncmp __inline_strncmp > #include <asm/string.h> > #undef strncmp > diff --git a/arch/blackfin/lib/strncpy.c b/arch/blackfin/lib/strncpy.c > --- a/arch/blackfin/lib/strncpy.c > +++ b/arch/blackfin/lib/strncpy.c > @@ -6,6 +6,7 @@ > * Licensed under the GPL-2 or later. > */ > > +char *strncpy(char *dest, const char *src, size_t n); > #define strncpy __inline_strncpy > #include <asm/string.h> > #undef strncpy size_t is not a builtin type so there needs to be a linux/types.h include right above these two prototypes. then things build up fine for me. thanks! -mike ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [s390] next Feb 18: defconfig build break 2009-02-19 1:55 ` Mike Frysinger @ 2009-02-19 11:40 ` Rusty Russell 2009-02-19 17:14 ` Mike Frysinger 0 siblings, 1 reply; 20+ messages in thread From: Rusty Russell @ 2009-02-19 11:40 UTC (permalink / raw) To: Mike Frysinger Cc: Stephen Rothwell, Sachin P. Sant, linux-s390, linux-next, LKML, schwidefsky, heiko.carstens On Thursday 19 February 2009 12:25:13 Mike Frysinger wrote: > > +char *strncpy(char *dest, const char *src, size_t n); > > #define strncpy __inline_strncpy > > #include <asm/string.h> > > #undef strncpy > > size_t is not a builtin type so there needs to be a linux/types.h > include right above these two prototypes. then things build up fine > for me. OK, this time for sure! blackfin: allow usage of string functions in linux/string.h In introducing a trivial "strstarts()" function in linux/string.h, we hit the following error on blackfin: file included from include/linux/bitmap.h:9, from include/linux/nodemask.h:90, from include/linux/mmzone.h:17, from include/linux/gfp.h:5, from include/linux/kmod.h:23, from include/linux/module.h:14, from arch/blackfin/lib/strncmp.c:14: include/linux/string.h: In function 'strstarts': include/linux/string.h:124: error: implicit declaration of function 'strncmp' Because when including asm/string.h from arch/blackfin/lib/strncmp.c, we don't declare the string op we are about to define, and linux/string.h barfs. The fix is to declare the function whose definition we steal via the #define trick. I do this for all of them, so this won't bite us in future. Reported-by: linux-next Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> --- arch/blackfin/lib/strcmp.c | 1 + arch/blackfin/lib/strcpy.c | 1 + arch/blackfin/lib/strncmp.c | 1 + arch/blackfin/lib/strncpy.c | 1 + 4 files changed, 4 insertions(+) diff --git a/arch/blackfin/lib/strcmp.c b/arch/blackfin/lib/strcmp.c --- a/arch/blackfin/lib/strcmp.c +++ b/arch/blackfin/lib/strcmp.c @@ -6,6 +6,7 @@ * Licensed under the GPL-2 or later. */ +int strcmp(const char *dest, const char *src); #define strcmp __inline_strcmp #include <asm/string.h> #undef strcmp diff --git a/arch/blackfin/lib/strcpy.c b/arch/blackfin/lib/strcpy.c --- a/arch/blackfin/lib/strcpy.c +++ b/arch/blackfin/lib/strcpy.c @@ -6,6 +6,7 @@ * Licensed under the GPL-2 or later. */ +char *strcpy(char *dest, const char *src); #define strcpy __inline_strcpy #include <asm/string.h> #undef strcpy diff --git a/arch/blackfin/lib/strncmp.c b/arch/blackfin/lib/strncmp.c --- a/arch/blackfin/lib/strncmp.c +++ b/arch/blackfin/lib/strncmp.c @@ -6,6 +6,8 @@ * Licensed under the GPL-2 or later. */ +#include <linux/types.h> +int strncmp(const char *cs, const char *ct, size_t count); #define strncmp __inline_strncmp #include <asm/string.h> #undef strncmp diff --git a/arch/blackfin/lib/strncpy.c b/arch/blackfin/lib/strncpy.c --- a/arch/blackfin/lib/strncpy.c +++ b/arch/blackfin/lib/strncpy.c @@ -6,6 +6,8 @@ * Licensed under the GPL-2 or later. */ +#include <linux/types.h> +char *strncpy(char *dest, const char *src, size_t n); #define strncpy __inline_strncpy #include <asm/string.h> #undef strncpy ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [s390] next Feb 18: defconfig build break 2009-02-19 11:40 ` Rusty Russell @ 2009-02-19 17:14 ` Mike Frysinger 0 siblings, 0 replies; 20+ messages in thread From: Mike Frysinger @ 2009-02-19 17:14 UTC (permalink / raw) To: Rusty Russell Cc: Stephen Rothwell, Sachin P. Sant, linux-s390, linux-next, LKML, schwidefsky, heiko.carstens On Thu, Feb 19, 2009 at 06:40, Rusty Russell wrote: > On Thursday 19 February 2009 12:25:13 Mike Frysinger wrote: >> > +char *strncpy(char *dest, const char *src, size_t n); >> > #define strncpy __inline_strncpy >> > #include <asm/string.h> >> > #undef strncpy >> >> size_t is not a builtin type so there needs to be a linux/types.h >> include right above these two prototypes. then things build up fine >> for me. > > OK, this time for sure! > > > blackfin: allow usage of string functions in linux/string.h > > In introducing a trivial "strstarts()" function in linux/string.h, we > hit the following error on blackfin: > > file included from include/linux/bitmap.h:9, > from include/linux/nodemask.h:90, > from include/linux/mmzone.h:17, > from include/linux/gfp.h:5, > from include/linux/kmod.h:23, > from include/linux/module.h:14, > from arch/blackfin/lib/strncmp.c:14: > include/linux/string.h: In function 'strstarts': > include/linux/string.h:124: error: implicit declaration of function 'strncmp' > > Because when including asm/string.h from arch/blackfin/lib/strncmp.c, > we don't declare the string op we are about to define, and > linux/string.h barfs. > > The fix is to declare the function whose definition we steal via the > #define trick. I do this for all of them, so this won't bite us in > future. > > Reported-by: linux-next > Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Tested-by: Mike Frysinger <vapier@gentoo.org> -mike ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [s390] next Feb 18: defconfig build break 2009-02-18 17:10 ` Mike Frysinger 2009-02-18 22:43 ` Rusty Russell 2009-02-18 22:59 ` Rusty Russell @ 2009-02-19 0:15 ` Rusty Russell 2009-02-19 9:51 ` Russell King 2 siblings, 1 reply; 20+ messages in thread From: Rusty Russell @ 2009-02-19 0:15 UTC (permalink / raw) To: Mike Frysinger Cc: Stephen Rothwell, Sachin P. Sant, linux-s390, linux-next, LKML, schwidefsky, heiko.carstens, rmk On Thursday 19 February 2009 03:40:59 Mike Frysinger wrote: > On Wed, Feb 18, 2009 at 06:45, Stephen Rothwell wrote: > > That would be a side effect of commit 43a47c6ca0e0b5479ae316e188a28b7e625d41e5 ("misc:strstarts") from the rr tree. Rusty cc'd. > > breaks all Blackfin ports as well: And arm! Subject: arm: allow usage of string functions in linux/string.h In introducing a trivial "strstarts()" function in linux/string.h, we hit: arch/arm/boot/compressed/misc.o: In function `strstarts': misc.c:(.text+0x368): undefined reference to `strlen' misc.c:(.text+0x378): undefined reference to `strncmp' This is because of "CFLAGS_misc.o := -Dstatic=" in the Makefile. "static inline strstarts(...)" becomes non-inline, and refers to the other string ops. The simplest workaround is to include asm/string.h. This makes sense anyway, since lib/string.c won't be linked against this so we can't use those functions anyway. Compile tested here. Reported-by: linux-next Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c --- a/arch/arm/boot/compressed/misc.c +++ b/arch/arm/boot/compressed/misc.c @@ -18,7 +18,10 @@ unsigned int __machine_arch_type; -#include <linux/string.h> +#include <linux/compiler.h> /* for inline */ +#include <linux/types.h> /* for size_t */ +#include <linux/stddef.h> /* for NULL */ +#include <asm/string.h> #ifdef STANDALONE_DEBUG #define putstr printf ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [s390] next Feb 18: defconfig build break 2009-02-19 0:15 ` Rusty Russell @ 2009-02-19 9:51 ` Russell King 2009-02-19 11:48 ` Rusty Russell 0 siblings, 1 reply; 20+ messages in thread From: Russell King @ 2009-02-19 9:51 UTC (permalink / raw) To: Rusty Russell Cc: Mike Frysinger, Stephen Rothwell, Sachin P. Sant, linux-s390, linux-next, LKML, schwidefsky, heiko.carstens On Thu, Feb 19, 2009 at 10:45:25AM +1030, Rusty Russell wrote: > Subject: arm: allow usage of string functions in linux/string.h > > In introducing a trivial "strstarts()" function in linux/string.h, we > hit: > > arch/arm/boot/compressed/misc.o: In function `strstarts': > misc.c:(.text+0x368): undefined reference to `strlen' > misc.c:(.text+0x378): undefined reference to `strncmp' > > This is because of "CFLAGS_misc.o := -Dstatic=" in the Makefile. > "static inline strstarts(...)" becomes non-inline, and refers to the > other string ops. > > The simplest workaround is to include asm/string.h. This makes sense > anyway, since lib/string.c won't be linked against this so we can't > use those functions anyway. > > Compile tested here. > > Reported-by: linux-next > Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> I guess this should go in with the change which caused the breakage. -- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [s390] next Feb 18: defconfig build break 2009-02-19 9:51 ` Russell King @ 2009-02-19 11:48 ` Rusty Russell 0 siblings, 0 replies; 20+ messages in thread From: Rusty Russell @ 2009-02-19 11:48 UTC (permalink / raw) To: Russell King Cc: Mike Frysinger, Stephen Rothwell, Sachin P. Sant, linux-s390, linux-next, LKML, schwidefsky, heiko.carstens On Thursday 19 February 2009 20:21:50 Russell King wrote: > On Thu, Feb 19, 2009 at 10:45:25AM +1030, Rusty Russell wrote: > > Subject: arm: allow usage of string functions in linux/string.h > > Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> > > I guess this should go in with the change which caused the breakage. Well, feel free to queue it yourself too, but now you've acked it I've put it in my queue ahead of the strstarts patch. Thanks, Rusty. ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH] module: fix build for CONFIG_SYSFS=n 2009-02-18 8:16 linux-next: Tree for February 18 Stephen Rothwell 2009-02-18 10:29 ` [s390] next Feb 18: defconfig build break Sachin P. Sant @ 2009-02-18 18:02 ` Randy Dunlap 2009-02-18 18:09 ` Ingo Molnar 1 sibling, 1 reply; 20+ messages in thread From: Randy Dunlap @ 2009-02-18 18:02 UTC (permalink / raw) To: Stephen Rothwell; +Cc: linux-next, LKML, Rusty Russell From: Randy Dunlap <randy.dunlap@oracle.com> Fix this build error when CONFIG_SYSFS=n: kernel/built-in.o: In function `free_module': module.c:(.text+0x4f8a2): undefined reference to `destroy_params' Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> cc: Rusty Russell <rusty@rustcorp.com.au> --- kernel/module.c | 2 ++ 1 file changed, 2 insertions(+) --- linux-next-20090218.orig/kernel/module.c +++ linux-next-20090218/kernel/module.c @@ -1464,8 +1464,10 @@ static void free_module(struct module *m /* Module unload stuff */ module_unload_free(mod); +#ifdef CONFIG_SYSFS /* Free any allocated parameters. */ destroy_params(mod->kp, mod->num_kp); +#endif /* release any pointers to mcount in this module */ ftrace_release(mod->module_core, mod->core_size); ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] module: fix build for CONFIG_SYSFS=n 2009-02-18 18:02 ` [PATCH] module: fix build for CONFIG_SYSFS=n Randy Dunlap @ 2009-02-18 18:09 ` Ingo Molnar 2009-02-18 18:35 ` [PATCH v2] " Randy Dunlap 0 siblings, 1 reply; 20+ messages in thread From: Ingo Molnar @ 2009-02-18 18:09 UTC (permalink / raw) To: Randy Dunlap; +Cc: Stephen Rothwell, linux-next, LKML, Rusty Russell * Randy Dunlap <randy.dunlap@oracle.com> wrote: > From: Randy Dunlap <randy.dunlap@oracle.com> > > Fix this build error when CONFIG_SYSFS=n: > > kernel/built-in.o: In function `free_module': > module.c:(.text+0x4f8a2): undefined reference to `destroy_params' > > Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> > cc: Rusty Russell <rusty@rustcorp.com.au> > --- > kernel/module.c | 2 ++ > 1 file changed, 2 insertions(+) > > --- linux-next-20090218.orig/kernel/module.c > +++ linux-next-20090218/kernel/module.c > @@ -1464,8 +1464,10 @@ static void free_module(struct module *m > /* Module unload stuff */ > module_unload_free(mod); > > +#ifdef CONFIG_SYSFS > /* Free any allocated parameters. */ > destroy_params(mod->kp, mod->num_kp); > +#endif Is destroy_params() dependent on SYSFS? If yes then it would be far cleaner if there was a NOP destroy_params() inline for the !SYSFS case. Ingo ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v2] module: fix build for CONFIG_SYSFS=n 2009-02-18 18:09 ` Ingo Molnar @ 2009-02-18 18:35 ` Randy Dunlap 2009-02-18 19:15 ` Ingo Molnar 2009-02-19 7:32 ` Takashi Iwai 0 siblings, 2 replies; 20+ messages in thread From: Randy Dunlap @ 2009-02-18 18:35 UTC (permalink / raw) To: Ingo Molnar; +Cc: Stephen Rothwell, linux-next, LKML, Rusty Russell > Is destroy_params() dependent on SYSFS? If yes then it would be Yes. > far cleaner if there was a NOP destroy_params() inline for the > !SYSFS case. From: Randy Dunlap <randy.dunlap@oracle.com> Fix this build error when CONFIG_SYSFS=n: kernel/built-in.o: In function `free_module': module.c:(.text+0x4f8a2): undefined reference to `destroy_params' Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> cc: Rusty Russell <rusty@rustcorp.com.au> --- kernel/params.c | 6 ++++++ 1 file changed, 6 insertions(+) --- linux-next-20090218.orig/kernel/params.c +++ linux-next-20090218/kernel/params.c @@ -761,6 +761,12 @@ static int __init param_sysfs_init(void) } subsys_initcall(param_sysfs_init); +#else /* !CONFIG_SYSFS */ + +inline void destroy_params(const struct kernel_param *params, unsigned num) +{ +} + #endif /* CONFIG_SYSFS */ EXPORT_SYMBOL(param_set_byte); ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2] module: fix build for CONFIG_SYSFS=n 2009-02-18 18:35 ` [PATCH v2] " Randy Dunlap @ 2009-02-18 19:15 ` Ingo Molnar 2009-02-19 10:50 ` Rusty Russell 2009-02-19 7:32 ` Takashi Iwai 1 sibling, 1 reply; 20+ messages in thread From: Ingo Molnar @ 2009-02-18 19:15 UTC (permalink / raw) To: Randy Dunlap; +Cc: Stephen Rothwell, linux-next, LKML, Rusty Russell * Randy Dunlap <randy.dunlap@oracle.com> wrote: > > Is destroy_params() dependent on SYSFS? If yes then it would be > > Yes. > > > far cleaner if there was a NOP destroy_params() inline for the > > !SYSFS case. > > > > > From: Randy Dunlap <randy.dunlap@oracle.com> > > Fix this build error when CONFIG_SYSFS=n: > > kernel/built-in.o: In function `free_module': > module.c:(.text+0x4f8a2): undefined reference to `destroy_params' > > Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> > cc: Rusty Russell <rusty@rustcorp.com.au> > --- > kernel/params.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > --- linux-next-20090218.orig/kernel/params.c > +++ linux-next-20090218/kernel/params.c > @@ -761,6 +761,12 @@ static int __init param_sysfs_init(void) > } > subsys_initcall(param_sysfs_init); > > +#else /* !CONFIG_SYSFS */ > + > +inline void destroy_params(const struct kernel_param *params, unsigned num) > +{ > +} > + > #endif /* CONFIG_SYSFS */ thanks! Acked-by: Ingo Molnar <mingo@elte.hu> Ingo ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2] module: fix build for CONFIG_SYSFS=n 2009-02-18 19:15 ` Ingo Molnar @ 2009-02-19 10:50 ` Rusty Russell 0 siblings, 0 replies; 20+ messages in thread From: Rusty Russell @ 2009-02-19 10:50 UTC (permalink / raw) To: Ingo Molnar; +Cc: Randy Dunlap, Stephen Rothwell, linux-next, LKML On Thursday 19 February 2009 05:45:29 Ingo Molnar wrote: > > * Randy Dunlap <randy.dunlap@oracle.com> wrote: > > > > Is destroy_params() dependent on SYSFS? If yes then it would be > > > > Yes. > > > > > far cleaner if there was a NOP destroy_params() inline for the > > > !SYSFS case. ... > > From: Randy Dunlap <randy.dunlap@oracle.com> > > > > Fix this build error when CONFIG_SYSFS=n: Thanks for the find Randy. I chose to put it in the header. People who turn off SYSFS probably appreciate a few bytes saved: diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h --- a/include/linux/moduleparam.h +++ b/include/linux/moduleparam.h @@ -139,7 +139,14 @@ extern int parse_args(const char *name, int (*unknown)(char *param, char *val)); /* Called by module remove. */ +#ifdef CONFIG_SYSFS extern void destroy_params(const struct kernel_param *params, unsigned num); +#else +static inline void destroy_params(const struct kernel_param *params, + unsigned num) +{ +} +#endif /* !CONFIG_SYSFS */ /* All the helper functions */ /* The macros to do compile-time type checking stolen from Jakub Cheers, Rusty. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2] module: fix build for CONFIG_SYSFS=n 2009-02-18 18:35 ` [PATCH v2] " Randy Dunlap 2009-02-18 19:15 ` Ingo Molnar @ 2009-02-19 7:32 ` Takashi Iwai 1 sibling, 0 replies; 20+ messages in thread From: Takashi Iwai @ 2009-02-19 7:32 UTC (permalink / raw) To: Randy Dunlap Cc: Ingo Molnar, Stephen Rothwell, linux-next, LKML, Rusty Russell At Wed, 18 Feb 2009 10:35:20 -0800, Randy Dunlap wrote: > > > Is destroy_params() dependent on SYSFS? If yes then it would be > > Yes. > > > far cleaner if there was a NOP destroy_params() inline for the > > !SYSFS case. > > > > > From: Randy Dunlap <randy.dunlap@oracle.com> > > Fix this build error when CONFIG_SYSFS=n: > > kernel/built-in.o: In function `free_module': > module.c:(.text+0x4f8a2): undefined reference to `destroy_params' > > Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> > cc: Rusty Russell <rusty@rustcorp.com.au> > --- > kernel/params.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > --- linux-next-20090218.orig/kernel/params.c > +++ linux-next-20090218/kernel/params.c > @@ -761,6 +761,12 @@ static int __init param_sysfs_init(void) > } > subsys_initcall(param_sysfs_init); > > +#else /* !CONFIG_SYSFS */ > + > +inline void destroy_params(const struct kernel_param *params, unsigned num) > +{ > +} Just wondering whether any need to be (external) inline at this place, supposing it just to be called from other files. If inlining, isn't it better in include/linux/moduleparam.h? thanks, Takashi ^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2009-02-20 10:23 UTC | newest] Thread overview: 20+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-02-18 8:16 linux-next: Tree for February 18 Stephen Rothwell 2009-02-18 10:29 ` [s390] next Feb 18: defconfig build break Sachin P. Sant 2009-02-18 11:45 ` Stephen Rothwell 2009-02-18 17:10 ` Mike Frysinger 2009-02-18 22:43 ` Rusty Russell 2009-02-19 5:20 ` Sachin P. Sant 2009-02-20 10:23 ` Martin Schwidefsky 2009-02-18 22:59 ` Rusty Russell 2009-02-19 1:55 ` Mike Frysinger 2009-02-19 11:40 ` Rusty Russell 2009-02-19 17:14 ` Mike Frysinger 2009-02-19 0:15 ` Rusty Russell 2009-02-19 9:51 ` Russell King 2009-02-19 11:48 ` Rusty Russell 2009-02-18 18:02 ` [PATCH] module: fix build for CONFIG_SYSFS=n Randy Dunlap 2009-02-18 18:09 ` Ingo Molnar 2009-02-18 18:35 ` [PATCH v2] " Randy Dunlap 2009-02-18 19:15 ` Ingo Molnar 2009-02-19 10:50 ` Rusty Russell 2009-02-19 7:32 ` Takashi Iwai
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).