From: Josh Stone <jistone@redhat.com>
To: Chris Dunlop <chris@onthe.net.au>
Cc: "Frank Ch. Eigler" <fche@redhat.com>, systemtap@sourceware.org
Subject: Re: Error removing module: Device or resource busy
Date: Thu, 26 Jan 2012 01:34:00 -0000 [thread overview]
Message-ID: <4F20AD89.6010306@redhat.com> (raw)
In-Reply-To: <20120126002955.GA23432@onthe.net.au>
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.
So the easiest thing would be for you to compile the kernel with the
target system's own compiler, so everything matches. :)
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.
Josh
next prev parent reply other threads:[~2012-01-26 1:34 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-23 8:21 Chris Dunlop
2011-12-23 21:10 ` Josh Stone
2011-12-26 18:33 ` Chris Dunlop
2011-12-27 22:06 ` Josh Stone
2011-12-28 17:08 ` Chris Dunlop
2012-01-21 1:18 ` Josh Stone
2012-01-21 1:36 ` Chris Dunlop
2012-01-21 2:30 ` Chris Dunlop
2012-01-21 7:27 ` Josh Stone
2012-01-23 7:25 ` Chris Dunlop
2012-01-25 12:31 ` Frank Ch. Eigler
2012-01-26 0:30 ` Chris Dunlop
2012-01-26 1:34 ` Josh Stone [this message]
2012-01-26 2:28 ` Chris Dunlop
2012-01-26 18:47 ` Josh Stone
2012-01-26 23:32 ` Chris Dunlop
2012-01-21 1:40 ` Chris Dunlop
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F20AD89.6010306@redhat.com \
--to=jistone@redhat.com \
--cc=chris@onthe.net.au \
--cc=fche@redhat.com \
--cc=systemtap@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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 read-only IMAP folder(s) and NNTP newsgroup(s).