[HURD PATCH 7/7] _hurd_exec_file_name: canonicalize filename

2011-08-17 Thread Jeremie Koenig
* hurd/hurdexec.c (_hurd_exec_file_name): Canonicalize filename. --- hurd/hurdexec.c | 14 -- 1 files changed, 12 insertions(+), 2 deletions(-) diff --git a/hurd/hurdexec.c b/hurd/hurdexec.c index c2f45cf..4a69df4 100644 --- a/hurd/hurdexec.c +++ b/hurd/hurdexec.c @@ -47,46

[HURD PATCH 6/7] Propagate _hurd_init_filename beyond dynamic loading

2011-08-17 Thread Jeremie Koenig
This is not strictly required to support $ORIGIN in RPATH, but the principle of least surprise would compel us not to leave a blanked out _hurd_init_filename after the dynamic loading phase. * hurd/hurdstartup.h (hurd_startup_data): Add a filename field. * hurd/hurdstartup.c (_hurd

[HURD PATCH 5/7] Hurd dl-origin.c: Use _hurd_init_filename if available

2011-08-17 Thread Jeremie Koenig
* sysdeps/mach/hurd/dl-origin.c (_dl_get_origin): Use _hurd_init_filename if LD_ORIGIN_PATH is not defined. --- sysdeps/mach/hurd/dl-origin.c | 33 + 1 files changed, 29 insertions(+), 4 deletions(-) diff --git a/sysdeps/mach/hurd/dl-origin.c b/sy

[HURD PATCH 3/7] Hurd startup: fetch the exec filename using exec_startup_get_info_2

2011-08-17 Thread Jeremie Koenig
* hurd/hurd.h (_hurd_init_filename): Declare new variable. * hurd/hurdstartup.c (_hurd_init_filename): Define. (_hurd_startup): Use exec_startup_get_info_2 if available, to fetch _hurd_init_filename. * sysdeps/mach/hurd/configure.in: Check for exec_startup_ge

[HURD PATCH 4/7] Hurd dl-origin.c: start with a copy of elf/dl-origin.c

2011-08-17 Thread Jeremie Koenig
* sysdeps/mach/hurd/dl-origin.c: New file, copy elf/dl-origin.c. --- sysdeps/mach/hurd/dl-origin.c | 51 + 1 files changed, 51 insertions(+), 0 deletions(-) create mode 100644 sysdeps/mach/hurd/dl-origin.c diff --git a/sysdeps/mach/hurd/dl-origin

[HURD PATCH 1/7] Use the new file_exec_file_name RPC

2011-08-17 Thread Jeremie Koenig
From: Emilio Pozuelo Monfort Pass the file name of executable to the exec server, which it needs to execute #!-scripts. Currently, the exec server tries to guess the name from argv[0] but argv[0] only contains the executable name by convention. * hurd/hurdexec.c (_hurd_exec): Deprecate

[HURD PATCH 2/7] Add check for file_exec_file_name

2011-08-17 Thread Jeremie Koenig
From: Emilio Pozuelo Monfort * aclocal.m4: Define AC_CHECK_MIG_FUNC. * sysdeps/mach/hurd/configure.in: Use it for file_exec_file_name. Signed-off-by: Jeremie Koenig --- aclocal.m4 | 17 + sysdeps/mach/hurd/configure.in |3 +++ 2 files c

[HURD PATCH 0/7] $ORIGIN substitution in RPATH

2011-08-17 Thread Jeremie Koenig
Hi, The ELF RPATH header (an executable-specific search path for shared libraries) can include the special string $ORIGIN, which should be substituted with the directory in which the binary resides. On Hurd this is not implemented yet; the filename used is not available to a newly executed binary.

[PATCH 2/4] Add a file_exec_file_name RPC

2011-08-17 Thread Jeremie Koenig
From: Emilio Pozuelo Monfort * hurd/fs.defs (file_exec): Deprecate in favor of... (file_exec_file_name): ...this new RPC. Change all implementations and forward old implementations to the new version. Change all callers but fallback to old version. Change comments and documentation. Signed-off-

[PATCH 4/4] Make the exec filename available at exec_startup time

2011-08-17 Thread Jeremie Koenig
* hurd/exec_startup.defs (exec_startup_get_info_2): Define a new version of exec_startup_get_info to get the executable filename. (exec_startup_get_info): Mark as deprecated. * exec/priv.h (struct bootinfo): Add a filename field. * exec/exec.c (do_exec): Fill it in. (S_exec_startup_get_info): Mark

[PATCH 3/4] Use the new _hurd_exec_file_name function

2011-08-17 Thread Jeremie Koenig
From: Emilio Pozuelo Monfort * configure.in: Check for _hurd_exec_file_name. * utils/fakeauth.c: Call _hurd_exec_file_name instead of _hurd_exec if it's available. * utils/rpctrace.c: Likewise. * utils/shd.c: Likewise. Signed-off-by: Jeremie Koenig --- configure.in |4 ++-- utils/fakea

[PATCH 1/4] Add a new exec_exec_file_name RPC

2011-08-17 Thread Jeremie Koenig
From: Emilio Pozuelo Monfort * hurd/exec.defs (exec_exec_file_name): New RPC. (exec_exec): Label as deprecated. * doc/hurd.texi: Updated. * exec/exec.c (S_exec_exec_file_name): New function. (S_exec_exec): Label as deprecated. (do_exec): Add argument. * exec/hashexec.c (check_hashbang): Add argum

[PATCH 0/4] $ORIGIN substitution in RPATH

2011-08-17 Thread Jeremie Koenig
The ELF RPATH header (an executable-specific search path for shared libraries) can include the special string $ORIGIN, which should be substituted with the directory in which the binary being loaded resides. On Hurd this is not implemented yet; the filename is not generally available to a newly ex