public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
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

  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).