hurd: Fix linknamespace of spawni
Commit Message
* include/unistd.h (__confstr): Add prototype and hidden prototype.
* posix/confstr.c (confstr): Rename to __confstr.
(__confstr): Add hidden def.
(confstr): Add weak alias for __confstr.
* sysdeps/mach/hurd/spawni.c (__spawni): Call __confstr instead of
confstr.
---
ChangeLog | 9 +++++++++
include/unistd.h | 2 ++
posix/confstr.c | 4 +++-
sysdeps/mach/hurd/spawni.c | 4 ++--
4 files changed, 16 insertions(+), 3 deletions(-)
Comments
* Samuel Thibault:
> * include/unistd.h (__confstr): Add prototype and hidden prototype.
> * posix/confstr.c (confstr): Rename to __confstr.
> (__confstr): Add hidden def.
> (confstr): Add weak alias for __confstr.
> * sysdeps/mach/hurd/spawni.c (__spawni): Call __confstr instead of
> confstr.
Looks reasonable to me, and it should fix the linknamespace failure.
Thanks,
Florian
Florian Weimer, le jeu. 06 déc. 2018 15:34:26 +0100, a ecrit:
> * Samuel Thibault:
>
> > * include/unistd.h (__confstr): Add prototype and hidden prototype.
> > * posix/confstr.c (confstr): Rename to __confstr.
> > (__confstr): Add hidden def.
> > (confstr): Add weak alias for __confstr.
> > * sysdeps/mach/hurd/spawni.c (__spawni): Call __confstr instead of
> > confstr.
>
> Looks reasonable to me, and it should fix the linknamespace failure.
Applied, thanks!
Samuel
@@ -6,6 +6,8 @@
libc_hidden_proto (_exit, __noreturn__)
rtld_hidden_proto (_exit, __noreturn__)
libc_hidden_proto (alarm)
+extern size_t __confstr (int name, char *buf, size_t len);
+libc_hidden_proto (__confstr)
libc_hidden_proto (confstr)
libc_hidden_proto (execl)
libc_hidden_proto (execle)
@@ -29,7 +29,7 @@
of BUF with the value corresponding to NAME and zero-terminate BUF.
Return the number of bytes required to hold NAME's entire value. */
size_t
-confstr (int name, char *buf, size_t len)
+__confstr (int name, char *buf, size_t len)
{
const char *string = "";
size_t string_len = 1;
@@ -289,4 +289,6 @@ confstr (int name, char *buf, size_t len)
}
return string_len;
}
+libc_hidden_def (__confstr)
libc_hidden_def (confstr)
+weak_alias (__confstr, confstr)
@@ -629,10 +629,10 @@ __spawni (pid_t *pid, const char *file,
/* There is no `PATH' in the environment.
The default search path is the current directory
followed by the path `confstr' returns for `_CS_PATH'. */
- len = confstr (_CS_PATH, (char *) NULL, 0);
+ len = __confstr (_CS_PATH, (char *) NULL, 0);
path = (char *) __alloca (1 + len);
path[0] = ':';
- (void) confstr (_CS_PATH, path + 1, len);
+ (void) __confstr (_CS_PATH, path + 1, len);
}
len = strlen (file) + 1;