From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30687 invoked by alias); 26 Jan 2012 00:30:19 -0000 Received: (qmail 30676 invoked by uid 22791); 26 Jan 2012 00:30:16 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,TW_PZ,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from smtp1.onthe.net.au (HELO smtp1.onthe.net.au) (203.22.196.249) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 26 Jan 2012 00:30:01 +0000 Received: from localhost (localhost [127.0.0.1]) by smtp1.onthe.net.au (Postfix) with ESMTP id 9EFAC6114C; Thu, 26 Jan 2012 11:29:57 +1100 (EST) Received: from smtp1.onthe.net.au ([127.0.0.1]) by localhost (smtp1.onthe.net.au [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id b2AE-lk6PUZT; Thu, 26 Jan 2012 11:29:56 +1100 (EST) Received: from o1.office.otn.net.au (unknown [180.148.179.26]) by smtp1.onthe.net.au (Postfix) with ESMTP id 6C15C61299; Thu, 26 Jan 2012 11:29:56 +1100 (EST) Received: from achates.office.onthe.net.au (achates.office.onthe.net.au [10.1.32.53]) by o1.office.otn.net.au (Postfix) with ESMTP id 57F4F7A6EC; Thu, 26 Jan 2012 11:29:55 +1100 (EST) Received: by achates.office.onthe.net.au (Postfix, from userid 999) id 60F90126; Thu, 26 Jan 2012 11:29:55 +1100 (EST) Date: Thu, 26 Jan 2012 00:30:00 -0000 From: Chris Dunlop To: "Frank Ch. Eigler" Cc: Josh Stone , systemtap@sourceware.org Subject: Re: Error removing module: Device or resource busy Message-ID: <20120126002955.GA23432@onthe.net.au> References: <4EF4E089.6060008@redhat.com> <20111225235927.GA2907@onthe.net.au> <4EF8BDF6.2070105@redhat.com> <20111228080728.GA12001@onthe.net.au> <4F1A1244.3010908@redhat.com> <20120121013535.GA8165@onthe.net.au> <20120121023012.GA8844@onthe.net.au> <4F1A68CB.8000409@redhat.com> <20120123072452.GA11940@onthe.net.au> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org X-SW-Source: 2012-q1/txt/msg00040.txt.bz2 On Wed, Jan 25, 2012 at 07:31:07AM -0500, Frank Ch. Eigler wrote: > Chris Dunlop writes: >=20 >> [...] >> Aha! That's done the trick. >=20 > Could you save/compare the same script compiled on one machine > vs. the other, so we can try to figure out what makes the two > gcc versions incompatible in this way? See below. Nothing too interesting in the text differences to my gcc-illite= rate eye. The entire output directories including binaries are available at: http://www.onthe.net.au/private/stap.tar.bz2 ---------------------------------------------------------------------- # # Ubuntu + munge to reduce diff noise # $ stap -v -p4 -k -m stap_test -r /home/chris/git/linux-build/3.1.10-otn-000= 21-gb30b2e5 -e 'probe begin {printf("foo\n"); exit()}' $ mv stapzqQuo8 stap-ubu $ mv stap-ubu/stapconf_{c79dc3547856b1805cd168ea2d33cb99_643,XXXXXX}.h=20 $ perl -pi -e 's/stapzqQuo8/stapXXXXXX/g; s/stapconf_c79dc3547856b1805cd168= ea2d33cb99_643/stapconf_XXXXXX/g' $(grep -rIl . stap-ubu) # # Debian + munge to reduce diff noise # $ ssh debhost "cd /tmp; stap -v -p4 -k -m stap_test -e 'probe begin {printf= ("foo\n"); exit()}'" $ scp debhost /tmp/stapbDWXl7 /tmp/stap-deb $ mv stap-deb/stapconf_{ae64122f2786f892fe9f30069e551b52_589,XXXXXX}.h=20 $ perl -pi -e 's/stapbDWXl7/stapXXXXXX/g; s/stapconf_ae64122f2786f892fe9f30= 069e551b52_589/stapconf_XXXXXX/g' $(grep -rIl . stap-deb) # # Text differences... # $ diff -rbu stap-ubu stap-deb Binary files stap-ubu/stap_test.ko and stap-deb/stap_test.ko differ diff -rbu stap-ubu/stap_test.mod.c stap-deb/stap_test.mod.c --- stap-ubu/stap_test.mod.c 2012-01-26 10:57:53.000000000 +1100 +++ stap-deb/stap_test.mod.c 2012-01-26 10:57:21.000000000 +1100 @@ -58,7 +58,6 @@ { 0x672144bd, "strlcpy" }, { 0x23abf82b, "mutex_lock" }, { 0xb69b5665, "alloc_vm_area" }, - { 0x1e6d26a8, "strstr" }, { 0xc2cdbf1, "synchronize_sched" }, { 0xce095088, "mod_timer" }, { 0x71205378, "add_timer" }, Binary files stap-ubu/stap_test.mod.o and stap-deb/stap_test.mod.o differ diff -rbu stap-ubu/.stap_test.mod.o.cmd stap-deb/.stap_test.mod.o.cmd --- stap-ubu/.stap_test.mod.o.cmd 2012-01-26 10:57:53.000000000 +1100 +++ stap-deb/.stap_test.mod.o.cmd 2012-01-26 10:57:21.000000000 +1100 @@ -1,4 +1,4 @@ -cmd_/tmp/stapXXXXXX/stap_test.mod.o :=3D gcc -Wp,-MD,/tmp/stapXXXXXX/.stap= _test.mod.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/4.4.3/inclu= de -I/home/chris/git/linux/arch/x86/include -Iarch/x86/include/generated -I= include -I/home/chris/git/linux/include -include /home/chris/git/linux/inc= lude/linux/kconfig.h -I/tmp/stapXXXXXX -D__KERNEL__ -Wall -Wundef -Wstric= t-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implic= it-function-declaration -Wno-format-security -fno-delete-null-pointer-check= s -Os -m64 -mtune=3Dgeneric -mno-red-zone -mcmodel=3Dkernel -funit-at-a-tim= e -maccumulate-outgoing-args -DCONFIG_AS_CFI=3D1 -DCONFIG_AS_CFI_SIGNAL_FRA= ME=3D1 -DCONFIG_AS_CFI_SECTIONS=3D1 -DCONFIG_AS_FXSAVEQ=3D1 -pipe -Wno-sign= -compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3= dnow -Wframe-larger-than=3D2048 -fno-stack-protector -fno-omit-frame-pointe= r -fno-optimize-sibling-calls -g -Wdeclaration-after-statement -Wno-pointer= -sign -fno-strict-overflow -fconserve-stack -I/home/chris/git/linux/includ= e2/asm/mach-default -Iinclude2/asm/mach-default -include /tmp/stapXXXXXX/st= apconf_XXXXXX.h -freorder-blocks -Wframe-larger-than=3D256 -Wno-unused -Wer= ror -I/home/chris/git/linux/"/usr/share/systemtap/runtime" -I"/usr/share/s= ystemtap/runtime" -D"KBUILD_STR(s)=3D\#s" -D"KBUILD_BASENAME=3DKBUILD_STR(= stap_test.mod)" -D"KBUILD_MODNAME=3DKBUILD_STR(stap_test)" -DMODULE -c -o= /tmp/stapXXXXXX/stap_test.mod.o /tmp/stapXXXXXX/stap_test.mod.c +cmd_/tmp/stapXXXXXX/stap_test.mod.o :=3D gcc -Wp,-MD,/tmp/stapXXXXXX/.stap= _test.mod.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/4.6/include= -I/home/chris/git/linux/arch/x86/include -Iarch/x86/include/generated -Iin= clude -I/home/chris/git/linux/include -include /home/chris/git/linux/inclu= de/linux/kconfig.h -I/tmp/stapXXXXXX -D__KERNEL__ -Wall -Wundef -Wstrict-= prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit= -function-declaration -Wno-format-security -fno-delete-null-pointer-checks = -Os -m64 -mtune=3Dgeneric -mno-red-zone -mcmodel=3Dkernel -funit-at-a-time = -maccumulate-outgoing-args -DCONFIG_AS_CFI=3D1 -DCONFIG_AS_CFI_SIGNAL_FRAME= =3D1 -DCONFIG_AS_CFI_SECTIONS=3D1 -DCONFIG_AS_FXSAVEQ=3D1 -pipe -Wno-sign-c= ompare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dn= ow -Wframe-larger-than=3D2048 -fno-stack-protector -Wno-unused-but-set-vari= able -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -Wdeclaration-a= fter-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC= _HAVE_ASM_GOTO -I/home/chris/git/linux/include2/asm/mach-default -Iinclude= 2/asm/mach-default -include /tmp/stapXXXXXX/stapconf_XXXXXX.h -freorder-blo= cks -Wframe-larger-than=3D256 -Wno-unused -Werror -I/home/chris/git/linux/= "/usr/share/systemtap/runtime" -I"/usr/share/systemtap/runtime" -D"KBUILD_= STR(s)=3D\#s" -D"KBUILD_BASENAME=3DKBUILD_STR(stap_test.mod)" -D"KBUILD_MO= DNAME=3DKBUILD_STR(stap_test)" -DMODULE -c -o /tmp/stapXXXXXX/stap_test.mo= d.o /tmp/stapXXXXXX/stap_test.mod.c =20 source_/tmp/stapXXXXXX/stap_test.mod.o :=3D /tmp/stapXXXXXX/stap_test.mod.c =20 @@ -68,7 +68,7 @@ $(wildcard include/config/ring/buffer.h) \ $(wildcard include/config/numa.h) \ $(wildcard include/config/compaction.h) \ - /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h \ /home/chris/git/linux/include/linux/linkage.h \ /home/chris/git/linux/arch/x86/include/asm/linkage.h \ $(wildcard include/config/x86/64.h) \ @@ -455,6 +455,7 @@ /home/chris/git/linux/include/linux/tracepoint.h \ /home/chris/git/linux/include/linux/jump_label.h \ $(wildcard include/config/jump/label.h) \ + /home/chris/git/linux/arch/x86/include/asm/jump_label.h \ /home/chris/git/linux/arch/x86/include/asm/module.h \ $(wildcard include/config/m586.h) \ $(wildcard include/config/m586tsc.h) \ Binary files stap-ubu/stap_test.o and stap-deb/stap_test.o differ diff -rbu stap-ubu/stap_test_src.c stap-deb/stap_test_src.c --- stap-ubu/stap_test_src.c 2012-01-26 10:57:53.000000000 +1100 +++ stap-deb/stap_test_src.c 2012-01-26 10:57:21.000000000 +1100 @@ -77,7 +77,7 @@ (void) l; #define CONTEXT c #define THIS l - c->last_stmt =3D "identifier 'exit' at /usr/share//systemtap/tapset/logg= ing.stp:49:10"; + c->last_stmt =3D "identifier 'exit' at /usr/share/systemtap/tapset/loggi= ng.stp:49:10"; if (unlikely (c->nesting+1 >=3D MAXNESTING)) { c->last_error =3D "MAXNESTING exceeded"; return; @@ -346,7 +346,7 @@ for (i =3D 0; i < ARRAY_SIZE(stap_probes); ++i) stap_probes[i].timing =3D _stp_stat_init (HIST_NONE); #endif - _stp_print_kernel_info("1.7/0.143", (num_online_cpus() * sizeof(struct c= ontext)), 1); + _stp_print_kernel_info("1.7/0.152", (num_online_cpus() * sizeof(struct c= ontext)), 1); for (i=3D0; i<1; i++) { struct stap_be_probe* stp =3D & stap_be_probes [i]; if (stp->type =3D=3D 0) Binary files stap-ubu/stap_test_src.o and stap-deb/stap_test_src.o differ diff -rbu stap-ubu/.stap_test_src.o.cmd stap-deb/.stap_test_src.o.cmd --- stap-ubu/.stap_test_src.o.cmd 2012-01-26 10:57:53.000000000 +1100 +++ stap-deb/.stap_test_src.o.cmd 2012-01-26 10:57:21.000000000 +1100 @@ -1,4 +1,4 @@ -cmd_/tmp/stapXXXXXX/stap_test_src.o :=3D gcc -Wp,-MD,/tmp/stapXXXXXX/.stap= _test_src.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/4.4.3/inclu= de -I/home/chris/git/linux/arch/x86/include -Iarch/x86/include/generated -I= include -I/home/chris/git/linux/include -include /home/chris/git/linux/inc= lude/linux/kconfig.h -I/tmp/stapXXXXXX -D__KERNEL__ -Wall -Wundef -Wstric= t-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implic= it-function-declaration -Wno-format-security -fno-delete-null-pointer-check= s -Os -m64 -mtune=3Dgeneric -mno-red-zone -mcmodel=3Dkernel -funit-at-a-tim= e -maccumulate-outgoing-args -DCONFIG_AS_CFI=3D1 -DCONFIG_AS_CFI_SIGNAL_FRA= ME=3D1 -DCONFIG_AS_CFI_SECTIONS=3D1 -DCONFIG_AS_FXSAVEQ=3D1 -pipe -Wno-sign= -compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3= dnow -Wframe-larger-than=3D2048 -fno-stack-protector -fno-omit-frame-pointe= r -fno-optimize-sibling-calls -g -Wdeclaration-after-statement -Wno-pointer= -sign -fno-strict-overflow -fconserve-stack -I/home/chris/git/linux/includ= e2/asm/mach-default -Iinclude2/asm/mach-default -include /tmp/stapXXXXXX/st= apconf_XXXXXX.h -freorder-blocks -Wframe-larger-than=3D256 -Wno-unused -Wer= ror -I/home/chris/git/linux/"/usr/share/systemtap/runtime" -I"/usr/share/s= ystemtap/runtime" -DMODULE -D"KBUILD_STR(s)=3D\#s" -D"KBUILD_BASENAME=3DK= BUILD_STR(stap_test_src)" -D"KBUILD_MODNAME=3DKBUILD_STR(stap_test)" -c -o= /tmp/stapXXXXXX/.tmp_stap_test_src.o /tmp/stapXXXXXX/stap_test_src.c +cmd_/tmp/stapXXXXXX/stap_test_src.o :=3D gcc -Wp,-MD,/tmp/stapXXXXXX/.stap= _test_src.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/4.6/include= -I/home/chris/git/linux/arch/x86/include -Iarch/x86/include/generated -Iin= clude -I/home/chris/git/linux/include -include /home/chris/git/linux/inclu= de/linux/kconfig.h -I/tmp/stapXXXXXX -D__KERNEL__ -Wall -Wundef -Wstrict-= prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit= -function-declaration -Wno-format-security -fno-delete-null-pointer-checks = -Os -m64 -mtune=3Dgeneric -mno-red-zone -mcmodel=3Dkernel -funit-at-a-time = -maccumulate-outgoing-args -DCONFIG_AS_CFI=3D1 -DCONFIG_AS_CFI_SIGNAL_FRAME= =3D1 -DCONFIG_AS_CFI_SECTIONS=3D1 -DCONFIG_AS_FXSAVEQ=3D1 -pipe -Wno-sign-c= ompare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dn= ow -Wframe-larger-than=3D2048 -fno-stack-protector -Wno-unused-but-set-vari= able -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -Wdeclaration-a= fter-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC= _HAVE_ASM_GOTO -I/home/chris/git/linux/include2/asm/mach-default -Iinclude= 2/asm/mach-default -include /tmp/stapXXXXXX/stapconf_XXXXXX.h -freorder-blo= cks -Wframe-larger-than=3D256 -Wno-unused -Werror -I/home/chris/git/linux/= "/usr/share/systemtap/runtime" -I"/usr/share/systemtap/runtime" -DMODULE = -D"KBUILD_STR(s)=3D\#s" -D"KBUILD_BASENAME=3DKBUILD_STR(stap_test_src)" -D= "KBUILD_MODNAME=3DKBUILD_STR(stap_test)" -c -o /tmp/stapXXXXXX/.tmp_stap_te= st_src.o /tmp/stapXXXXXX/stap_test_src.c =20 source_/tmp/stapXXXXXX/stap_test_src.o :=3D /tmp/stapXXXXXX/stap_test_src.c =20 @@ -72,7 +72,7 @@ $(wildcard include/config/prove/locking.h) \ $(wildcard include/config/numa.h) \ $(wildcard include/config/compaction.h) \ - /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h \ /home/chris/git/linux/include/linux/linkage.h \ /home/chris/git/linux/arch/x86/include/asm/linkage.h \ $(wildcard include/config/x86/64.h) \ @@ -459,6 +459,7 @@ /home/chris/git/linux/include/linux/tracepoint.h \ /home/chris/git/linux/include/linux/jump_label.h \ $(wildcard include/config/jump/label.h) \ + /home/chris/git/linux/arch/x86/include/asm/jump_label.h \ /home/chris/git/linux/arch/x86/include/asm/module.h \ $(wildcard include/config/m586.h) \ $(wildcard include/config/m586tsc.h) \ # # Munge the generated gcc command lines to see the differences... # $ diff -u <(head -1 stap-ubu/.stap_test.mod.o.cmd | sed -r 's/ /\n/g') <(he= ad -1 stap-deb/.stap_test.mod.o.cmd | sed -r 's/ /\n/g') --- /dev/fd/63 2012-01-26 11:08:03.173357443 +1100 +++ /dev/fd/62 2012-01-26 11:08:03.173357443 +1100 @@ -5,7 +5,7 @@ =20 -nostdinc -isystem -/usr/lib/gcc/x86_64-linux-gnu/4.4.3/include +/usr/lib/gcc/x86_64-linux-gnu/4.6/include -I/home/chris/git/linux/arch/x86/include -Iarch/x86/include/generated -Iinclude @@ -46,6 +46,7 @@ -mno-3dnow -Wframe-larger-than=3D2048 -fno-stack-protector +-Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -g @@ -53,6 +54,7 @@ -Wno-pointer-sign -fno-strict-overflow -fconserve-stack +-DCC_HAVE_ASM_GOTO =20 -I/home/chris/git/linux/include2/asm/mach-default -Iinclude2/asm/mach-default $ diff -u <(head -1 stap-ubu/.stap_test_src.o.cmd | sed -r 's/ /\n/g') <(he= ad -1 stap-deb/.stap_test_src.o.cmd | sed -r 's/ /\n/g') --- /dev/fd/63 2012-01-26 11:08:58.450840261 +1100 +++ /dev/fd/62 2012-01-26 11:08:58.450840261 +1100 @@ -5,7 +5,7 @@ =20 -nostdinc -isystem -/usr/lib/gcc/x86_64-linux-gnu/4.4.3/include +/usr/lib/gcc/x86_64-linux-gnu/4.6/include -I/home/chris/git/linux/arch/x86/include -Iarch/x86/include/generated -Iinclude @@ -46,6 +46,7 @@ -mno-3dnow -Wframe-larger-than=3D2048 -fno-stack-protector +-Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -g @@ -53,6 +54,7 @@ -Wno-pointer-sign -fno-strict-overflow -fconserve-stack +-DCC_HAVE_ASM_GOTO =20 -I/home/chris/git/linux/include2/asm/mach-default -Iinclude2/asm/mach-default ----------------------------------------------------------------------