Title: [6911] trunk/arch/blackfin/kernel/ptrace.c: ptrace: implement support for common FDPIC ptrace functions
Revision
6911
Author
vapier
Date
2009-07-02 19:17:45 -0500 (Thu, 02 Jul 2009)

Log Message

ptrace: implement support for common FDPIC ptrace functions

Modified Paths


Diff

Modified: trunk/arch/blackfin/kernel/ptrace.c (6910 => 6911)


--- trunk/arch/blackfin/kernel/ptrace.c	2009-07-02 11:00:38 UTC (rev 6910)
+++ trunk/arch/blackfin/kernel/ptrace.c	2009-07-03 00:17:45 UTC (rev 6911)
@@ -286,9 +286,9 @@
 				tmp = child->mm->start_data;
 #ifdef CONFIG_BINFMT_ELF_FDPIC
 			} else if (addr == (sizeof(struct pt_regs) + 12)) {
-				tmp = child->mm->context.exec_fdpic_loadmap;
+				goto case_PTRACE_GETFDPIC_EXEC;
 			} else if (addr == (sizeof(struct pt_regs) + 16)) {
-				tmp = child->mm->context.interp_fdpic_loadmap;
+				goto case_PTRACE_GETFDPIC_INTERP;
 #endif
 			} else {
 				tmp = get_reg(child, addr);
@@ -297,6 +297,28 @@
 			break;
 		}
 
+#ifdef CONFIG_BINFMT_ELF_FDPIC
+	case PTRACE_GETFDPIC: {
+		unsigned long tmp = 0;
+
+		switch (addr) {
+		case_PTRACE_GETFDPIC_EXEC:
+		case PTRACE_GETFDPIC_EXEC:
+			tmp = child->mm->context.exec_fdpic_loadmap;
+			break;
+		case_PTRACE_GETFDPIC_INTERP:
+		case PTRACE_GETFDPIC_INTERP:
+			tmp = child->mm->context.interp_fdpic_loadmap;
+			break;
+		default:
+			break;
+		}
+
+		ret = put_user(tmp, datap);
+		break;
+	}
+#endif
+
 		/* when I and D space are separate, this will have to be fixed. */
 	case PTRACE_POKEDATA:
 		pr_debug("ptrace: PTRACE_PEEKDATA\n");
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to