summaryrefslogtreecommitdiff
path: root/glibc
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2013-05-27 08:05:31 +0200
committerThomas Schwinge <thomas@codesourcery.com>2013-05-27 08:05:31 +0200
commit23e4579624d7e562d65852d42a4abde8867ddf37 (patch)
tree89fb955d1ef83e75d62aaa0b38ced8aba5620a4a /glibc
parenta86fcf1d0eaaf15af06310c5f5fb55e6fb705c5f (diff)
open_isues/glibc: 83fed41a9ed81db6ca517185aefb296f74868c2f (2013-05-26; 0323d08657f111267efa47bd448fbf6cd76befe8 (2013-05-24))
plus 2b66ef5d55325b2957d6c62908ca065228e56814, ec9dd97cecafba5ddf5c3ec683db7ad5b4421923, 07b4c13d0be4814ef10bbfbfd68db604978aa0e5, 528c24058fb100fb27fe5c211b92be84c67a6659, `t/elfosabi_gnu` reverted, ec9dd97cecafba5ddf5c3ec683db7ad5b4421923 (again...), `id:"87bo7xo1ay.fsf@kepler.schwinge.homeip.net"`
Diffstat (limited to 'glibc')
-rw-r--r--glibc/process.mdwn34
1 files changed, 33 insertions, 1 deletions
diff --git a/glibc/process.mdwn b/glibc/process.mdwn
index 9b2ec251..ded2e1f7 100644
--- a/glibc/process.mdwn
+++ b/glibc/process.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2009, 2010 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009, 2010, 2013 Free Software Foundation,
+Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
@@ -15,6 +16,37 @@ process, there is additional work to be done, for example for [[signal]]s,
[[environment_variable]]s, [[file_descriptor]]s.
+# Startup
+
+[[!taglink open_issue_glibc open_issue_hurd]]: Enumerate all the different
+cases. Add tests to [[glibc]] to make sure all these work.
+
+
+## `hurd/hurdstartup.h`:`hurd_startup_data`
+
+Lives on the stack after arguments and environment.
+
+The `phdr` and `phdrsz` members are only used in
+`sysdeps/mach/hurd/dl-sysdep.c`:`_dl_sysdep_start` (for `[SHARED]`) and
+`sysdeps/mach/hurd/i386/init-first.c`:`init1` (for `[!SHARED]`). See comments
+in [[open_issues/glibc]] for commit 288f7d79fe2dcc8e62c539f57b25d7662a2cd5ff.
+
+
+## `hurd/hurdstartup.c`:`_hurd_startup (void **argptr, void (*main) (intptr_t
+ *data))`
+
+ * Initialize `hurd_startup_data` based on
+ [[hurd/interface/exec_startup_get_info]] if we have a bootstrap port, or
+ else manually.
+
+ * Call `main`, which is either
+ `sysdeps/mach/hurd/dl-sysdep.c`:`_dl_sysdep_start`:`go` if called from
+ `sysdeps/mach/hurd/dl-sysdep.c`:`_dl_sysdep_start` (for `[SHARED]` only),
+ or `sysdeps/mach/hurd/i386/init-first.c`:`_hurd_stack_setup`:`doinit` if
+ called from `sysdeps/mach/hurd/i386/init-first.c`:`_hurd_stack_setup` (for
+ `[!SHARED]` only).
+
+
# Controlling TTY
Hurd controlling tty behavior is generally consistent with BSD's, including