From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15743 invoked by alias); 26 Jan 2012 02:28:56 -0000 Received: (qmail 15735 invoked by uid 22791); 26 Jan 2012 02:28:55 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,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 02:28:42 +0000 Received: from localhost (localhost [127.0.0.1]) by smtp1.onthe.net.au (Postfix) with ESMTP id 2F4A3612AF; Thu, 26 Jan 2012 13:28:40 +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 18lybXEufwcX; Thu, 26 Jan 2012 13:28:39 +1100 (EST) Received: from o1.office.otn.net.au (unknown [180.148.179.26]) by smtp1.onthe.net.au (Postfix) with ESMTP id 2DA6C60D7B; Thu, 26 Jan 2012 13:28:39 +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 023D37A6EC; Thu, 26 Jan 2012 13:28:38 +1100 (EST) Received: by achates.office.onthe.net.au (Postfix, from userid 999) id E788A126; Thu, 26 Jan 2012 13:28:37 +1100 (EST) Date: Thu, 26 Jan 2012 02:28:00 -0000 From: Chris Dunlop To: Josh Stone Cc: "Frank Ch. Eigler" , systemtap@sourceware.org Subject: Re: Error removing module: Device or resource busy Message-ID: <20120126022837.GA29943@onthe.net.au> References: <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> <20120126002955.GA23432@onthe.net.au> <4F20AD89.6010306@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4F20AD89.6010306@redhat.com> 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/msg00042.txt.bz2 On Wed, Jan 25, 2012 at 05:34:01PM -0800, Josh Stone wrote: > On 01/25/2012 04:29 PM, Chris Dunlop wrote: > >> 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-illiterate eye. > [...] > > +-DCC_HAVE_ASM_GOTO > > This is it. With that defined, jump_label.h defines HAVE_JUMP_LABEL, > which enables this part of struct module in module.h: > > #ifdef HAVE_JUMP_LABEL > struct jump_entry *jump_entries; > unsigned int num_jump_entries; > #endif > > Compiling with/without that means everything after is shifted, including > the CONFIG_MODULE_UNLOAD stuff. You can also compare this with the dump > given by dwarves pahole. > > It would probably work to just turn off CONFIG_JUMP_LABEL altogether, so > it's not attempted on either compiler. I'd be worried about other > hidden incompatibilities cropping up though. I don't see any other > struct differences with pahole except jump_label stuff, but that doesn't > comfort me much. I'm currently playing with enough newness, I don't think I'm quite ready for possible "hidden incompatibilities" at this point! > So the easiest thing would be for you to compile the kernel with the > target system's own compiler, so everything matches. :) Where's the fun in that?? :-) > If you keep the mismatch, we do have a couple of options to make it > easier to compile stap modules on one and run on the other. One is the > --use-server mode, where stap running on the target will query a network > service running on the compile machine to build for it. The other is > the --remote mode, where stap running on the compile machine will build > the module locally, then send it over ssh to run on the target and > collect the output. I'm currently using "stap -p4" and a manual scp to the remote host, so --remote would be perfect, except I get: $ stap --remote debhost -m stap_test -r ~/git/linux-build/${kv} -e 'probe begin {printf("foo\n"); exit()}' WARNING: kernel release/architecture mismatch with host forces last-pass 4. stap_test.ko ...and it stops at pass 4 as warned.