summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/asm-um/processor-generic.h2
-rw-r--r--include/asm-um/processor-i386.h7
2 files changed, 7 insertions, 2 deletions
diff --git a/include/asm-um/processor-generic.h b/include/asm-um/processor-generic.h
index 55d91954516c..fa39a3985394 100644
--- a/include/asm-um/processor-generic.h
+++ b/include/asm-um/processor-generic.h
@@ -16,8 +16,6 @@ struct task_struct;
struct mm_struct;
-#define current_text_addr() ((void *) 0)
-
#define cpu_relax() barrier()
struct thread_struct {
diff --git a/include/asm-um/processor-i386.h b/include/asm-um/processor-i386.h
index 0f08c0225029..b276481cc6cb 100644
--- a/include/asm-um/processor-i386.h
+++ b/include/asm-um/processor-i386.h
@@ -19,6 +19,13 @@ struct arch_thread {
#include "asm/arch/user.h"
+/*
+ * Default implementation of macro that returns current
+ * instruction pointer ("program counter"). Stolen
+ * from asm-i386/processor.h
+ */
+#define current_text_addr() ({ void *pc; __asm__("movl $1f,%0\n1:":"=g" (pc)); pc; })
+
#include "asm/processor-generic.h"
#endif