Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Jan 2008 22:29:32 GMT
From:      John Birrell <jb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 132751 for review
Message-ID:  <200801072229.m07MTWIk077294@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=132751

Change 132751 by jb@jb_freebsd1 on 2008/01/07 22:28:45

	The return address variable isn't needed. The DTrace asm code
	will do all that needs to be done to return from the interrupt
	if it chooses. It will only jump back here if the breakpoint
	wasn't caused by DTrace, in which case the trap will be handled
	in the usual way.

Affected files ...

.. //depot/projects/dtrace/src/sys/amd64/amd64/exception.S#8 edit

Differences ...

==== //depot/projects/dtrace/src/sys/amd64/amd64/exception.S#8 (text+ko) ====

@@ -59,12 +59,6 @@
         .size	dtrace_invop_calltrap_addr, 8
 dtrace_invop_calltrap_addr:
 	.zero	8
-	.globl	dtrace_invop_return_addr
-	.align	8
-	.type	dtrace_invop_return_addr, @object
-        .size	dtrace_invop_return_addr, 8
-dtrace_invop_return_addr:
-	.zero	8
 #endif
 	.text
 #ifdef HWPMC_HOOKS
@@ -206,9 +200,11 @@
 	cmpq	$0,dtrace_invop_jump_addr
 	je	calltrap
 
-	/* Set our alternate jump addresses for the jump back. */
+	/*
+	 * Set our jump address for the jump back in the event that
+	 * the breakpoint wasn't caused by DTrace at all.
+	 */
 	movq	$calltrap, dtrace_invop_calltrap_addr(%rip)
-	movq	$doreti, dtrace_invop_return_addr(%rip)
 
 	/* Jump to the code hooked in by DTrace. */
 	movq	dtrace_invop_jump_addr, %rax



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200801072229.m07MTWIk077294>