summaryrefslogtreecommitdiff
path: root/hurd
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2017-12-11 02:32:26 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2017-12-11 02:32:26 +0100
commit0ca198f1f90071a054287c204a3fd1b4ea315e18 (patch)
tree710b923b98b58c4e5f9546bb18b085baf9288c9e /hurd
parenta8fecd7be76342fea85b5129d450ab01738dcbdf (diff)
Record executable entry for PIE core dumps
* hurd/process.defs (proc_set_entry, proc_get_entry): New RPCs. * hurd/process_reply.defs: Add skips for proc_set_entry, proc_get_entry. * hurd/process_request.defs: Likewise. * exec/exec.c (do_exec): Call proc_set_entry. * proc/proc.h (proc): Add p_entry field. * proc/mgt.c (S_proc_set_entry, S_proc_get_entry): New RPC implementations. * exec/elfcore.c (dump_core): Add at_entry note, call proc_get_entry to get it, and write it with WRITE_NOTE.
Diffstat (limited to 'hurd')
-rw-r--r--hurd/process.defs10
-rw-r--r--hurd/process_reply.defs3
-rw-r--r--hurd/process_request.defs3
3 files changed, 16 insertions, 0 deletions
diff --git a/hurd/process.defs b/hurd/process.defs
index c395705d..725326a4 100644
--- a/hurd/process.defs
+++ b/hurd/process.defs
@@ -416,3 +416,13 @@ routine proc_make_task_namespace (
skip; /* proc_set_exe */
skip; /* proc_get_exe */
+
+/* Set the locations of the executable entry. */
+routine proc_set_entry (
+ process: process_t;
+ entry: vm_address_t);
+
+/* Fetch the locations of the executable entry. */
+routine proc_get_entry (
+ process: process_t;
+ out entry: vm_address_t);
diff --git a/hurd/process_reply.defs b/hurd/process_reply.defs
index 84621e8a..2eefcc37 100644
--- a/hurd/process_reply.defs
+++ b/hurd/process_reply.defs
@@ -197,3 +197,6 @@ skip; /* proc_make_task_namespace */
skip; /* proc_set_exe */
skip; /* proc_get_exe */
+
+skip; /* proc_set_entry */
+skip; /* proc_get_entry */
diff --git a/hurd/process_request.defs b/hurd/process_request.defs
index e5518f06..fc9127ab 100644
--- a/hurd/process_request.defs
+++ b/hurd/process_request.defs
@@ -420,3 +420,6 @@ simpleroutine proc_make_task_namespace_request (
skip; /* proc_set_exe */
skip; /* proc_get_exe */
+
+skip; /* proc_set_entry */
+skip; /* proc_get_entry */