Message ID | 502957D5.1070800@koe-americas.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 08/13/2012 12:39 PM, David Cullen wrote: > When running "make distclean" in a cross chroot environment, the > following messages are emitted: > > [user@host:/home/work/linux]: make distclean > /usr/bin/xargs: rm: Argument list too long > make: *** [clean] Error 126 > That sounds like a bug in xargs... -hpa -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 8/13/2012 4:38 PM, H. Peter Anvin wrote: > On 08/13/2012 12:39 PM, David Cullen wrote: >> When running "make distclean" in a cross chroot environment, the >> following messages are emitted: >> >> [user@host:/home/work/linux]: make distclean >> /usr/bin/xargs: rm: Argument list too long >> make: *** [clean] Error 126 >> > > That sounds like a bug in xargs... > > -hpa > In my specific case, qemu-arm-static calls xargs (In fact, in my cross chroot, qemu-arm-static is used to run every user mode process). Do you mean that qemu-arm-static is exposing a latent defect in xargs? Does qemu-arm-static steal some of the command line space that would normally be available for xargs? If so, how would xargs figure out this was happening and handle the problem? -- Thank you, David Cullen
On 08/13/2012 01:56 PM, David Cullen wrote: >> >> That sounds like a bug in xargs... >> > > In my specific case, qemu-arm-static calls xargs (In fact, in my > cross chroot, qemu-arm-static is used to run every user mode process). > > Do you mean that qemu-arm-static is exposing a latent defect in xargs? > > Does qemu-arm-static steal some of the command line space that would > normally be available for xargs? If so, how would xargs figure out > this was happening and handle the problem? > I have no idea. Perhaps strace can help you see what is happening, I don't know. More likely it is qemu-arm-static that is broken and it is trying to enforce the old 128K limit that we used to have before 2.6.23. This could cause a mismatch between what sysconf(_SC_ARG_MAX) returns and what the actual limit is. Anyway, even more so the reason to reject this patch. -hpa -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 8/13/2012 5:01 PM, H. Peter Anvin wrote: > On 08/13/2012 01:56 PM, David Cullen wrote: >>> >>> That sounds like a bug in xargs... >>> >> >> In my specific case, qemu-arm-static calls xargs (In fact, in my >> cross chroot, qemu-arm-static is used to run every user mode process). >> >> Do you mean that qemu-arm-static is exposing a latent defect in xargs? >> >> Does qemu-arm-static steal some of the command line space that would >> normally be available for xargs? If so, how would xargs figure out >> this was happening and handle the problem? >> > > I have no idea. Perhaps strace can help you see what is happening, I > don't know. More likely it is qemu-arm-static that is broken and it is > trying to enforce the old 128K limit that we used to have before 2.6.23. > This could cause a mismatch between what sysconf(_SC_ARG_MAX) returns > and what the actual limit is. > > Anyway, even more so the reason to reject this patch. I submitted a bug report on xargs: http://savannah.gnu.org/bugs/index.php?37093 I also submitted a bug report on QEMU: https://bugs.launchpad.net/qemu/+bug/1036645
diff --git a/Makefile b/Makefile index b771af5..e2bca8e 100644 --- a/Makefile +++ b/Makefile @@ -1033,7 +1033,7 @@ distclean: mrproper -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \ -o -name '.*.rej' \ -o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \ - -type f -print | xargs rm -f + -type f -print | xargs -s 122880 rm -f # Packaging of the kernel to various formats @@ -1242,7 +1242,7 @@ clean: $(clean-dirs) -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \ -o -name '*.symtypes' -o -name 'modules.order' \ -o -name modules.builtin -o -name '.tmp_*.o.*' \ - -o -name '*.gcno' \) -type f -print | xargs rm -f + -o -name '*.gcno' \) -type f -print | xargs -s 122880 rm -f # Generate tags for editors # ---------------------------------------------------------------------------