public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* [Bug runtime/12341] deref()/store_deref() variations between arches
       [not found] <bug-12341-6586@http.sourceware.org/bugzilla/>
@ 2011-12-12 15:21 ` mjw at redhat dot com
  2012-02-06 20:49 ` dsmith at redhat dot com
  1 sibling, 0 replies; 4+ messages in thread
From: mjw at redhat dot com @ 2011-12-12 15:21 UTC (permalink / raw)
  To: systemtap

http://sourceware.org/bugzilla/show_bug.cgi?id=12341

Mark Wielaard <mjw at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |NEW
         AssignedTo|mjw at redhat dot com       |systemtap at sourceware dot
                   |                            |org

--- Comment #5 from Mark Wielaard <mjw at redhat dot com> 2011-12-10 20:08:37 UTC ---
The deref/store_deref functions were split into user and kernel versions to
accommodate the s390x setup which uses different address spaces for user and
kernel addresses.

commit f1e8e7e0a601d1378262ba69890ce3e7d4519ab5
Author: Mark Wielaard <mjw@redhat.com>
Date:   Fri Nov 25 15:11:00 2011 +0100

    loc2c-runtime.h: Split deref and store_deref into user and kernel version.

    All references to deref have been updated to use either the user or kernel
    variant where appropriate, but kderef is currently still defined as uderef,
    and store_kderef as store_uderef. Which should work fine for all arches
    except s390.

There are still separate variants for the different architectures.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug runtime/12341] deref()/store_deref() variations between arches
       [not found] <bug-12341-6586@http.sourceware.org/bugzilla/>
  2011-12-12 15:21 ` [Bug runtime/12341] deref()/store_deref() variations between arches mjw at redhat dot com
@ 2012-02-06 20:49 ` dsmith at redhat dot com
  1 sibling, 0 replies; 4+ messages in thread
From: dsmith at redhat dot com @ 2012-02-06 20:49 UTC (permalink / raw)
  To: systemtap

http://sourceware.org/bugzilla/show_bug.cgi?id=12341

David Smith <dsmith at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #6 from David Smith <dsmith at redhat dot com> 2012-02-06 20:48:08 UTC ---
Since all arches (except for arm) now use the kernel's own routines instead of
custom assembly code, let's close this one.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug runtime/12341] deref()/store_deref() variations between arches
  2010-12-22 20:54 [Bug runtime/12341] New: " dsmith at redhat dot com
  2011-01-04 21:50 ` [Bug runtime/12341] " dsmith at redhat dot com
@ 2011-01-06 20:58 ` dsmith at redhat dot com
  1 sibling, 0 replies; 4+ messages in thread
From: dsmith at redhat dot com @ 2011-01-06 20:58 UTC (permalink / raw)
  To: systemtap

http://sourceware.org/bugzilla/show_bug.cgi?id=12341

--- Comment #2 from David Smith <dsmith at redhat dot com> 2011-01-06 20:58:39 UTC ---
(In reply to comment #0)
> For powerpc, deref() calls __stp_get_user_asm(), which is custom powerpc
> assembly code (that looks almost identical to the kernel's __get_user_asm()). 
> store_deref() calls __stp_put_user_asm(), which is custom powerpc assembly
> code.

For powerpc, I've discovered some history.

loc2c-runtime.h originally used the kernel's __get_user_asm() macros.

This changed on 20 Mar 2006 in the following commit:

<http://sources.redhat.com/git/gitweb.cgi?p=systemtap.git;a=commitdiff;h=15eeafe9465119eb443f59b332e24ecfeec10488>

To fix bug 2076 (ppc64 runtime is broken under kernel v2.6.15-RC5):

<http://sourceware.org/bugzilla/show_bug.cgi?id=2076>

which was caused by the "__get_user_asm" macro changing to taking 4 arguments
(from 5).

There is (hopefully) a better way to fix that problem than duplicating
__get_user_asm()/__put_user_asm().

Note that we just can't go back to calling __get_user_asm(), since in current
kernels __get_user_asm2() is used on powerpc to get 64-bit values.  We'll need
to call something a bit higher up.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug runtime/12341] deref()/store_deref() variations between arches
  2010-12-22 20:54 [Bug runtime/12341] New: " dsmith at redhat dot com
@ 2011-01-04 21:50 ` dsmith at redhat dot com
  2011-01-06 20:58 ` dsmith at redhat dot com
  1 sibling, 0 replies; 4+ messages in thread
From: dsmith at redhat dot com @ 2011-01-04 21:50 UTC (permalink / raw)
  To: systemtap

http://sourceware.org/bugzilla/show_bug.cgi?id=12341

--- Comment #1 from David Smith <dsmith at redhat dot com> 2011-01-04 21:50:16 UTC ---
(In reply to comment #0)
> (If __get_user_size()/__put_user_size() works for the i386, that could
> eliminate the need for the i386 special version of kread/kwrite that can handle
> 64-bit values.)

Unfortunately, this idea won't work.  Looking at the i386 header files in
kernels 2.6.9/2.6.18/2.6.36, none of the i386 __get_user_size() macros can
handle 64-bit values.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-02-06 20:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-12341-6586@http.sourceware.org/bugzilla/>
2011-12-12 15:21 ` [Bug runtime/12341] deref()/store_deref() variations between arches mjw at redhat dot com
2012-02-06 20:49 ` dsmith at redhat dot com
2010-12-22 20:54 [Bug runtime/12341] New: " dsmith at redhat dot com
2011-01-04 21:50 ` [Bug runtime/12341] " dsmith at redhat dot com
2011-01-06 20:58 ` dsmith at redhat dot com

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