Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP2:Update
glibc.33856
posix-Add-internal-symbols-for-posix_spawn-inte...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File posix-Add-internal-symbols-for-posix_spawn-interface.patch of Package glibc.33856
From 2a973ab7f1a6f6cd9be1c7257fd7b5d331515eab Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella <adhemerval.zanella@linaro.org> Date: Wed, 12 Sep 2018 10:30:46 -0300 Subject: [PATCH] posix: Add internal symbols for posix_spawn interface This patch adds internal hidden definition for mostly of the posix_spawn function so it can be used internally on both popen and system implementations. Checked on x86_64-linux-gnu. * include/spawn.h (__posix_spawn, posix_spawn_file_actions_addclose, __posix_spawn_file_actions_adddup2, __posix_spawn_file_actions_destroy, __posix_spawn_file_actions_init, __posix_spawnattr_init, __posix_spawnattr_destroy, __posix_spawnattr_setflags, __posix_spawnattr_setsigdefault, __posix_spawnattr_setsigmask): New prototype. * posix/spawn.c (__posix_spawn): Add libc_hidden_def. * posix/spawn_faction_addclose.c (__posix_spawn_file_actions_addclose): Add hidden definition. * posix/spawn_faction_adddup2.c (__posix_spawn_file_actions_adddup2): Likewise. * posix/spawn_faction_destroy.c (__posix_spawn_file_actions_destroy): Likewise. * posix/spawn_faction_init.c (__posix_spawn_file_actions_init): Likewise. * posix/spawnattr_destroy.c (__posix_spawnattr_destroy): Likewise. * posix/spawnattr_init.c (__posix_spawnattr_init): Likewise. * posix/spawnattr_setdefault.c (__posix_spawnattr_setsigdefault): Likewise. * posix/spawnattr_setflags.c (__posix_spawnattr_setflags): Likewise. * posix/spawnattr_setsigmask.c (__posix_spawnattr_setsigmask): Likewise. --- include/spawn.h | 35 +++++++++++++++++++++++++++++++++++ posix/spawn.c | 1 + posix/spawn_faction_addclose.c | 6 ++++-- posix/spawn_faction_adddup2.c | 6 ++++-- posix/spawn_faction_destroy.c | 4 +++- posix/spawn_faction_init.c | 3 ++- posix/spawnattr_destroy.c | 3 ++- posix/spawnattr_init.c | 3 ++- posix/spawnattr_setdefault.c | 5 +++-- posix/spawnattr_setflags.c | 3 ++- posix/spawnattr_setsigmask.c | 3 ++- 12 files changed, 85 insertions(+), 12 deletions(-) Index: glibc-2.22/include/spawn.h =================================================================== --- glibc-2.22.orig/include/spawn.h +++ glibc-2.22/include/spawn.h @@ -1 +1,36 @@ +#ifndef _SPAWN_H #include <posix/spawn.h> + +# ifndef _ISOMAC +__typeof (posix_spawn) __posix_spawn; +libc_hidden_proto (__posix_spawn) + +__typeof (posix_spawn_file_actions_addclose) + __posix_spawn_file_actions_addclose attribute_hidden; + +__typeof (posix_spawn_file_actions_adddup2) + __posix_spawn_file_actions_adddup2 attribute_hidden; + +__typeof (posix_spawn_file_actions_destroy) + __posix_spawn_file_actions_destroy attribute_hidden; + +__typeof (posix_spawn_file_actions_init) __posix_spawn_file_actions_init + attribute_hidden; + +__typeof (posix_spawnattr_init) __posix_spawnattr_init + attribute_hidden; + +__typeof (posix_spawnattr_destroy) __posix_spawnattr_destroy + attribute_hidden; + +__typeof (posix_spawnattr_setflags) __posix_spawnattr_setflags + attribute_hidden; + +__typeof (posix_spawnattr_setsigdefault) __posix_spawnattr_setsigdefault + attribute_hidden; + +__typeof (posix_spawnattr_setsigmask) __posix_spawnattr_setsigmask + attribute_hidden; + +# endif /* !_ISOMAC */ +#endif /* spawn.h */ Index: glibc-2.22/posix/spawn.c =================================================================== --- glibc-2.22.orig/posix/spawn.c +++ glibc-2.22/posix/spawn.c @@ -30,6 +30,7 @@ __posix_spawn (pid_t *pid, const char *p return __spawni (pid, path, file_actions, attrp, argv, envp, 0); } versioned_symbol (libc, __posix_spawn, posix_spawn, GLIBC_2_15); +libc_hidden_def (__posix_spawn) #if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_15) Index: glibc-2.22/posix/spawn_faction_addclose.c =================================================================== --- glibc-2.22.orig/posix/spawn_faction_addclose.c +++ glibc-2.22/posix/spawn_faction_addclose.c @@ -24,8 +24,8 @@ /* Add an action to FILE-ACTIONS which tells the implementation to call `close' for the given file descriptor during the `spawn' call. */ int -posix_spawn_file_actions_addclose (posix_spawn_file_actions_t *file_actions, - int fd) +__posix_spawn_file_actions_addclose (posix_spawn_file_actions_t *file_actions, + int fd) { int maxfd = __sysconf (_SC_OPEN_MAX); struct __spawn_action *rec; @@ -50,3 +50,5 @@ posix_spawn_file_actions_addclose (posix return 0; } +weak_alias (__posix_spawn_file_actions_addclose, + posix_spawn_file_actions_addclose) Index: glibc-2.22/posix/spawn_faction_adddup2.c =================================================================== --- glibc-2.22.orig/posix/spawn_faction_adddup2.c +++ glibc-2.22/posix/spawn_faction_adddup2.c @@ -24,8 +24,8 @@ /* Add an action to FILE-ACTIONS which tells the implementation to call `dup2' for the given file descriptors during the `spawn' call. */ int -posix_spawn_file_actions_adddup2 (posix_spawn_file_actions_t *file_actions, - int fd, int newfd) +__posix_spawn_file_actions_adddup2 (posix_spawn_file_actions_t *file_actions, + int fd, int newfd) { int maxfd = __sysconf (_SC_OPEN_MAX); struct __spawn_action *rec; @@ -51,3 +51,5 @@ posix_spawn_file_actions_adddup2 (posix_ return 0; } +weak_alias (__posix_spawn_file_actions_adddup2, + posix_spawn_file_actions_adddup2) Index: glibc-2.22/posix/spawn_faction_destroy.c =================================================================== --- glibc-2.22.orig/posix/spawn_faction_destroy.c +++ glibc-2.22/posix/spawn_faction_destroy.c @@ -22,7 +22,7 @@ /* Deallocate the file actions. */ int -posix_spawn_file_actions_destroy (posix_spawn_file_actions_t *file_actions) +__posix_spawn_file_actions_destroy (posix_spawn_file_actions_t *file_actions) { /* Free the paths in the open actions. */ for (int i = 0; i < file_actions->__used; ++i) @@ -44,3 +44,5 @@ posix_spawn_file_actions_destroy (posix_ free (file_actions->__actions); return 0; } +weak_alias (__posix_spawn_file_actions_destroy, + posix_spawn_file_actions_destroy) Index: glibc-2.22/posix/spawn_faction_init.c =================================================================== --- glibc-2.22.orig/posix/spawn_faction_init.c +++ glibc-2.22/posix/spawn_faction_init.c @@ -45,9 +45,10 @@ __posix_spawn_file_actions_realloc (posi /* Initialize data structure for file attribute for `spawn' call. */ int -posix_spawn_file_actions_init (posix_spawn_file_actions_t *file_actions) +__posix_spawn_file_actions_init (posix_spawn_file_actions_t *file_actions) { /* Simply clear all the elements. */ memset (file_actions, '\0', sizeof (*file_actions)); return 0; } +weak_alias (__posix_spawn_file_actions_init, posix_spawn_file_actions_init) Index: glibc-2.22/posix/spawnattr_destroy.c =================================================================== --- glibc-2.22.orig/posix/spawnattr_destroy.c +++ glibc-2.22/posix/spawnattr_destroy.c @@ -19,8 +19,9 @@ /* Initialize data structure for file attribute for `spawn' call. */ int -posix_spawnattr_destroy (posix_spawnattr_t *attr) +__posix_spawnattr_destroy (posix_spawnattr_t *attr) { /* Nothing to do in the moment. */ return 0; } +weak_alias (__posix_spawnattr_destroy, posix_spawnattr_destroy) Index: glibc-2.22/posix/spawnattr_init.c =================================================================== --- glibc-2.22.orig/posix/spawnattr_init.c +++ glibc-2.22/posix/spawnattr_init.c @@ -20,7 +20,7 @@ /* Initialize data structure for file attribute for `spawn' call. */ int -posix_spawnattr_init (posix_spawnattr_t *attr) +__posix_spawnattr_init (posix_spawnattr_t *attr) { /* All elements have to be initialized to the default values which is generally zero. */ @@ -28,3 +28,4 @@ posix_spawnattr_init (posix_spawnattr_t return 0; } +weak_alias (__posix_spawnattr_init, posix_spawnattr_init) Index: glibc-2.22/posix/spawnattr_setdefault.c =================================================================== --- glibc-2.22.orig/posix/spawnattr_setdefault.c +++ glibc-2.22/posix/spawnattr_setdefault.c @@ -20,11 +20,12 @@ /* Set signal mask for signals with default handling in ATTR to SIGDEFAULT. */ int -posix_spawnattr_setsigdefault (posix_spawnattr_t *attr, - const sigset_t *sigdefault) +__posix_spawnattr_setsigdefault (posix_spawnattr_t *attr, + const sigset_t *sigdefault) { /* Copy the sigset_t data to the user buffer. */ memcpy (&attr->__sd, sigdefault, sizeof (sigset_t)); return 0; } +weak_alias (__posix_spawnattr_setsigdefault, posix_spawnattr_setsigdefault) Index: glibc-2.22/posix/spawnattr_setflags.c =================================================================== --- glibc-2.22.orig/posix/spawnattr_setflags.c +++ glibc-2.22/posix/spawnattr_setflags.c @@ -29,7 +29,7 @@ /* Store flags in the attribute structure. */ int -posix_spawnattr_setflags (posix_spawnattr_t *attr, short int flags) +__posix_spawnattr_setflags (posix_spawnattr_t *attr, short int flags) { /* Check no invalid bits are set. */ if (flags & ~ALL_FLAGS) @@ -40,3 +40,4 @@ posix_spawnattr_setflags (posix_spawnatt return 0; } +weak_alias (__posix_spawnattr_setflags, posix_spawnattr_setflags) Index: glibc-2.22/posix/spawnattr_setsigmask.c =================================================================== --- glibc-2.22.orig/posix/spawnattr_setsigmask.c +++ glibc-2.22/posix/spawnattr_setsigmask.c @@ -20,7 +20,7 @@ /* Set signal mask for the new process in ATTR to SIGMASK. */ int -posix_spawnattr_setsigmask (posix_spawnattr_t *attr, +__posix_spawnattr_setsigmask (posix_spawnattr_t *attr, const sigset_t *sigmask) { /* Copy the sigset_t data to the user buffer. */ @@ -28,3 +28,4 @@ posix_spawnattr_setsigmask (posix_spawna return 0; } +weak_alias (__posix_spawnattr_setsigmask, posix_spawnattr_setsigmask)
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor