[RFC] posix: Export posix_spawn_file_actions_{addchdir, addfchdir} (BZ 34437)
Checks
| Context |
Check |
Description |
| redhat-pt-bot/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
| redhat-pt-bot/TryBot-32bit |
success
|
Build for i686
|
| linaro-tcwg-bot/tcwg_glibc_build--master-arm |
warning
|
Skipped because it is an RFC
|
| linaro-tcwg-bot/tcwg_glibc_build--master-aarch64 |
warning
|
Skipped because it is an RFC
|
Commit Message
Sending as an RFC because it might be a contentious patch, and it breaks
our previous policy of not adding retroactively symbols.
--
Commit 7594b4e5a75 ("posix: Add POSIX aliases to some spawn functions")
added posix_spawn_file_actions_addchdir and
posix_spawn_file_actions_addfchdir as header redirects to the existing
_np symbols, without exporting the POSIX names from libc.so. This
breaks configure probes that check for the symbol at link time with a
bogus prototype (such as autoconf's AC_CHECK_FUNCS, used by gnulib),
which then report the functions as missing on glibc 2.44 and replace
them.
Export both functions as real symbols, aliases of the _np variants.
The symbols are added under the GLIBC_2.44 version, even though 2.44
has already been released. Retroactively adding symbols to a released
symbol version is against the glibc policy, but it is less disruptive
than forcing gnulib consumers to update themselves, and it keeps the
symbol version consistent with the release the interfaces were first
added. This change is intended to be backported to the 2.44 release
branch.
The tst-spawn-chdir-posix test now links against the exported POSIX
names instead of the header redirects.
Checked on x86_64-linux-gnu.
---
NEWS | 4 +-
posix/Versions | 4 ++
posix/spawn.h | 40 ++++++++-----------
posix/spawn_faction_addchdir.c | 8 +++-
posix/spawn_faction_addfchdir.c | 8 +++-
sysdeps/mach/hurd/i386/libc.abilist | 2 +
sysdeps/mach/hurd/x86_64/libc.abilist | 2 +
sysdeps/unix/sysv/linux/aarch64/libc.abilist | 2 +
sysdeps/unix/sysv/linux/alpha/libc.abilist | 2 +
sysdeps/unix/sysv/linux/arc/libc.abilist | 2 +
sysdeps/unix/sysv/linux/arm/be/libc.abilist | 2 +
sysdeps/unix/sysv/linux/arm/le/libc.abilist | 2 +
sysdeps/unix/sysv/linux/csky/libc.abilist | 2 +
sysdeps/unix/sysv/linux/hppa/libc.abilist | 2 +
sysdeps/unix/sysv/linux/i386/libc.abilist | 2 +
.../sysv/linux/loongarch/ilp32/libc.abilist | 2 +
.../sysv/linux/loongarch/lp64/libc.abilist | 2 +
.../sysv/linux/m68k/coldfire/libc.abilist | 2 +
.../unix/sysv/linux/m68k/m680x0/libc.abilist | 2 +
.../sysv/linux/microblaze/be/libc.abilist | 2 +
.../sysv/linux/microblaze/le/libc.abilist | 2 +
.../sysv/linux/mips/mips32/fpu/libc.abilist | 2 +
.../sysv/linux/mips/mips32/nofpu/libc.abilist | 2 +
.../sysv/linux/mips/mips64/n32/libc.abilist | 2 +
.../sysv/linux/mips/mips64/n64/libc.abilist | 2 +
sysdeps/unix/sysv/linux/or1k/libc.abilist | 2 +
.../linux/powerpc/powerpc32/fpu/libc.abilist | 2 +
.../powerpc/powerpc32/nofpu/libc.abilist | 2 +
.../linux/powerpc/powerpc64/be/libc.abilist | 2 +
.../linux/powerpc/powerpc64/le/libc.abilist | 2 +
.../unix/sysv/linux/riscv/rv32/libc.abilist | 2 +
.../unix/sysv/linux/riscv/rv64/libc.abilist | 2 +
sysdeps/unix/sysv/linux/s390/libc.abilist | 2 +
sysdeps/unix/sysv/linux/sh/be/libc.abilist | 2 +
sysdeps/unix/sysv/linux/sh/le/libc.abilist | 2 +
.../sysv/linux/sparc/sparc32/libc.abilist | 2 +
.../sysv/linux/sparc/sparc64/libc.abilist | 2 +
.../unix/sysv/linux/x86_64/64/libc.abilist | 2 +
.../unix/sysv/linux/x86_64/x32/libc.abilist | 2 +
39 files changed, 104 insertions(+), 28 deletions(-)
Comments
Hi Adhemerval,
Thank you for working on this.
> it breaks our previous policy of not adding retroactively symbols.
Why not version 2.44.1 ? I guess the symbol versioning mechanism must support
version numbers of the form <major>.<minor>.<subminor>, because in the past,
some symbols were assigned to versions GLIBC_2.3.3 or GLIBC_2.3.4, for
instance.
The patch looks good to me (from reviewing it; I haven't tested it).
Bruno
* Bruno Haible:
> Hi Adhemerval,
>
> Thank you for working on this.
>
>> it breaks our previous policy of not adding retroactively symbols.
And therefore this breaks versioned dependencies in most RPM-based
distributions.
> Why not version 2.44.1 ? I guess the symbol versioning mechanism must support
> version numbers of the form <major>.<minor>.<subminor>, because in the past,
> some symbols were assigned to versions GLIBC_2.3.3 or GLIBC_2.3.4, for
> instance.
We still have lots of old symbols like that. But we don't really know
how software reacts to new symbols of that structure.
The gnulib problem occurs only after a rebuild. An adverse reaction
to the 2.44.1 symbol structure might happen just after a glibc update,
with old applications. Hard to tell beforehand if this is a good
trade-off.
A quick 2.45 release might be another option.
But I'm not quite convinced any of this is necessary.
Am Donnerstag, 6. August 2026, 04:57:44 Chinesische Normalzeit schrieb Florian Weimer:
> * Bruno Haible:
>
> > Hi Adhemerval,
> >
> > Thank you for working on this.
> >
> >> it breaks our previous policy of not adding retroactively symbols.
>
> And therefore this breaks versioned dependencies in most RPM-based
> distributions.
Not being familiar with RPM packaging, would that also be the case if we release
a 2.44.1 version from the 2.44 branch immediately after backporting that commit?
>
> > Why not version 2.44.1 ? I guess the symbol versioning mechanism must support
> > version numbers of the form <major>.<minor>.<subminor>, because in the past,
> > some symbols were assigned to versions GLIBC_2.3.3 or GLIBC_2.3.4, for
> > instance.
>
> We still have lots of old symbols like that. But we don't really know
> how software reacts to new symbols of that structure.
>
> The gnulib problem occurs only after a rebuild. An adverse reaction
> to the 2.44.1 symbol structure might happen just after a glibc update,
> with old applications. Hard to tell beforehand if this is a good
> trade-off.
>
> A quick 2.45 release might be another option.
>
> But I'm not quite convinced any of this is necessary.
>
* Andreas K. Huettel:
> Am Donnerstag, 6. August 2026, 04:57:44 Chinesische Normalzeit schrieb Florian Weimer:
>> * Bruno Haible:
>>
>> > Hi Adhemerval,
>> >
>> > Thank you for working on this.
>> >
>> >> it breaks our previous policy of not adding retroactively symbols.
>>
>> And therefore this breaks versioned dependencies in most RPM-based
>> distributions.
>
> Not being familiar with RPM packaging, would that also be the case if we release
> a 2.44.1 version from the 2.44 branch immediately after backporting that commit?
That would result in version set dependencies on GLIBC_2.44.1, and RPM
would work correctly.
On Aug 05 2026, Florian Weimer wrote:
> And therefore this breaks versioned dependencies in most RPM-based
> distributions.
This has nothing to do with RPM. It is an ABI break, and an object that
references posix_spawn_file_actions_addchdir@GLIBC_2.44 will crash when
run against libc.so from the glibc 2.44 release.
>> Why not version 2.44.1 ? I guess the symbol versioning mechanism must support
>> version numbers of the form <major>.<minor>.<subminor>, because in the past,
>> some symbols were assigned to versions GLIBC_2.3.3 or GLIBC_2.3.4, for
>> instance.
>
> We still have lots of old symbols like that. But we don't really know
> how software reacts to new symbols of that structure.
Names of version symbols are arbitrary, and are only chosen by
convention. Nothing else depends on their particular format.
On Aug 05 2026, Adhemerval Zanella wrote:
> Sending as an RFC because it might be a contentious patch, and it breaks
> our previous policy of not adding retroactively symbols.
No, you can't do that.
On 06/08/26 05:04, Andreas Schwab wrote:
> On Aug 05 2026, Florian Weimer wrote:
>
>> And therefore this breaks versioned dependencies in most RPM-based
>> distributions.
>
> This has nothing to do with RPM. It is an ABI break, and an object that
> references posix_spawn_file_actions_addchdir@GLIBC_2.44 will crash when
> run against libc.so from the glibc 2.44 release.
The idea is to readily backport to 2.44, but released 2.44 glibc won't be
able to run it correctly without the backport. It is not an ideal solution,
that's why I am not sure which breakage is more disruptive, the gnulib one
or the potential ABI break.
>
>>> Why not version 2.44.1 ? I guess the symbol versioning mechanism must support
>>> version numbers of the form <major>.<minor>.<subminor>, because in the past,
>>> some symbols were assigned to versions GLIBC_2.3.3 or GLIBC_2.3.4, for
>>> instance.
>>
>> We still have lots of old symbols like that. But we don't really know
>> how software reacts to new symbols of that structure.
>
> Names of version symbols are arbitrary, and are only chosen by
> convention. Nothing else depends on their particular format.
>
There is another issue with the current alias that I did not foresee: checking
on how to finish POSIX 2024, linking posix_spawn_file_actions_{addchdir, addfchdir}
triggers linknamespaces issues (because it pulls the *_np alias).
So I think we will eventually need another symbol, either for 2.45 or
adding namespace clean one.
Am Donnerstag, 6. August 2026, 12:30:58 Chinesische Normalzeit schrieb Florian Weimer:
> * Andreas K. Huettel:
>
> > Am Donnerstag, 6. August 2026, 04:57:44 Chinesische Normalzeit schrieb Florian Weimer:
> >> * Bruno Haible:
> >>
> >> > Hi Adhemerval,
> >> >
> >> > Thank you for working on this.
> >> >
> >> >> it breaks our previous policy of not adding retroactively symbols.
> >>
> >> And therefore this breaks versioned dependencies in most RPM-based
> >> distributions.
> >
> > Not being familiar with RPM packaging, would that also be the case if we release
> > a 2.44.1 version from the 2.44 branch immediately after backporting that commit?
>
> That would result in version set dependencies on GLIBC_2.44.1, and RPM
> would work correctly.
>
Then let's do that. I can take care of the point release.
@@ -13,7 +13,9 @@ Major new features:
Deprecated and removed features, and other changes affecting compatibility:
- [Add deprecations, removals and changes affecting compatibility here]
+* The posix_spawn_file_actions_addchdir and posix_spawn_file_actions_addfchdir
+ functions, added in glibc 2.44 as header redirects to the _np variants, are
+ now exported from libc.so under the GLIBC_2.44 symbol version.
Changes to build and runtime requirements:
@@ -159,6 +159,10 @@ libc {
GLIBC_2.35 {
posix_spawn_file_actions_addtcsetpgrp_np;
}
+ GLIBC_2.44 {
+ posix_spawn_file_actions_addchdir;
+ posix_spawn_file_actions_addfchdir;
+ }
GLIBC_PRIVATE {
__libc_fork; __libc_pread; __libc_pwrite;
__nanosleep_nocancel; __pause_nocancel;
@@ -201,36 +201,30 @@ extern int posix_spawn_file_actions_adddup2 (posix_spawn_file_actions_t *
__THROW __nonnull ((1));
#ifdef __USE_XOPEN2K24XSI
-
-/* Add an action changing the directory to PATH during spawn. This
- affects the subsequent file actions.
- Alias of posix_spawn_file_actions_addchdir_np. */
-extern int __REDIRECT_NTH (posix_spawn_file_actions_addchdir,
- (posix_spawn_file_actions_t * __restrict __actions,
- const char *__restrict __path),
- posix_spawn_file_actions_addchdir_np);
-
-/* Add an action changing the directory to FD during spawn. This
- affects the subsequent file actions. FD is not duplicated and must
- be open when the file action is executed.
- Alias of posix_spawn_file_actions_addfchdir_np. */
-extern int __REDIRECT_NTH (posix_spawn_file_actions_addfchdir,
- (posix_spawn_file_actions_t *, int __fd),
- posix_spawn_file_actions_addfchdir_np);
-
-#endif /* __USE_XOPEN2K24XSI */
-
-#ifdef __USE_MISC
/* Add an action changing the directory to PATH during spawn. This
affects the subsequent file actions. */
-extern int posix_spawn_file_actions_addchdir_np (posix_spawn_file_actions_t *
- __restrict __actions,
- const char *__restrict __path)
+extern int posix_spawn_file_actions_addchdir (posix_spawn_file_actions_t *
+ __restrict __actions,
+ const char *__restrict __path)
__THROW __nonnull ((1, 2));
/* Add an action changing the directory to FD during spawn. This
affects the subsequent file actions. FD is not duplicated and must
be open when the file action is executed. */
+extern int posix_spawn_file_actions_addfchdir (posix_spawn_file_actions_t *,
+ int __fd)
+ __THROW __nonnull ((1));
+
+#endif /* __USE_XOPEN2K24XSI */
+
+#ifdef __USE_MISC
+/* Same as posix_spawn_file_actions_addchdir. */
+extern int posix_spawn_file_actions_addchdir_np (posix_spawn_file_actions_t *
+ __restrict __actions,
+ const char *__restrict __path)
+ __THROW __nonnull ((1, 2));
+
+/* Same as posix_spawn_file_actions_addfchdir. */
extern int posix_spawn_file_actions_addfchdir_np (posix_spawn_file_actions_t *,
int __fd)
__THROW __nonnull ((1));
@@ -23,8 +23,8 @@
#include "spawn_int.h"
int
-posix_spawn_file_actions_addchdir_np (posix_spawn_file_actions_t *file_actions,
- const char *path)
+__posix_spawn_file_actions_addchdir_np (posix_spawn_file_actions_t *file_actions,
+ const char *path)
{
struct __spawn_action *rec;
@@ -51,3 +51,7 @@ posix_spawn_file_actions_addchdir_np (posix_spawn_file_actions_t *file_actions,
return 0;
}
+weak_alias (__posix_spawn_file_actions_addchdir_np,
+ posix_spawn_file_actions_addchdir_np)
+weak_alias (__posix_spawn_file_actions_addchdir_np,
+ posix_spawn_file_actions_addchdir)
@@ -23,8 +23,8 @@
#include "spawn_int.h"
int
-posix_spawn_file_actions_addfchdir_np (posix_spawn_file_actions_t *actions,
- int fd)
+__posix_spawn_file_actions_addfchdir_np (posix_spawn_file_actions_t *actions,
+ int fd)
{
struct __spawn_action *rec;
@@ -44,3 +44,7 @@ posix_spawn_file_actions_addfchdir_np (posix_spawn_file_actions_t *actions,
return 0;
}
+weak_alias (__posix_spawn_file_actions_addfchdir_np,
+ posix_spawn_file_actions_addfchdir_np)
+weak_alias (__posix_spawn_file_actions_addfchdir_np,
+ posix_spawn_file_actions_addfchdir)
@@ -2830,6 +2830,8 @@ GLIBC_2.44 mq_setattr F
GLIBC_2.44 mq_timedreceive F
GLIBC_2.44 mq_timedsend F
GLIBC_2.44 mq_unlink F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.44 timer_create F
GLIBC_2.44 timer_delete F
GLIBC_2.44 timer_getoverrun F
@@ -2506,6 +2506,8 @@ GLIBC_2.44 mq_setattr F
GLIBC_2.44 mq_timedreceive F
GLIBC_2.44 mq_timedsend F
GLIBC_2.44 mq_unlink F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.44 timer_create F
GLIBC_2.44 timer_delete F
GLIBC_2.44 timer_getoverrun F
@@ -2775,3 +2775,5 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
@@ -3122,6 +3122,8 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
GLIBC_2.5 inet6_opt_find F
@@ -2536,3 +2536,5 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
@@ -2828,6 +2828,8 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
GLIBC_2.5 inet6_opt_find F
@@ -2825,6 +2825,8 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
GLIBC_2.5 inet6_opt_find F
@@ -2812,3 +2812,5 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
@@ -2849,6 +2849,8 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
GLIBC_2.5 inet6_opt_find F
@@ -3032,6 +3032,8 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
GLIBC_2.5 inet6_opt_find F
@@ -1442,10 +1442,12 @@ GLIBC_2.44 posix_madvise F
GLIBC_2.44 posix_memalign F
GLIBC_2.44 posix_openpt F
GLIBC_2.44 posix_spawn F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
GLIBC_2.44 posix_spawn_file_actions_addchdir_np F
GLIBC_2.44 posix_spawn_file_actions_addclose F
GLIBC_2.44 posix_spawn_file_actions_addclosefrom_np F
GLIBC_2.44 posix_spawn_file_actions_adddup2 F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.44 posix_spawn_file_actions_addfchdir_np F
GLIBC_2.44 posix_spawn_file_actions_addopen F
GLIBC_2.44 posix_spawn_file_actions_addtcsetpgrp_np F
@@ -2296,3 +2296,5 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
@@ -2808,6 +2808,8 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
GLIBC_2.5 inet6_opt_find F
@@ -2975,6 +2975,8 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
GLIBC_2.5 inet6_opt_find F
@@ -2861,3 +2861,5 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
@@ -2858,3 +2858,5 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
@@ -2938,6 +2938,8 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
GLIBC_2.5 inet6_opt_find F
@@ -2936,6 +2936,8 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
GLIBC_2.5 inet6_opt_find F
@@ -2944,6 +2944,8 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
GLIBC_2.5 inet6_opt_find F
@@ -2846,6 +2846,8 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
GLIBC_2.5 inet6_opt_find F
@@ -2286,3 +2286,5 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
@@ -3165,6 +3165,8 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
GLIBC_2.5 inet6_opt_find F
@@ -3210,6 +3210,8 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
GLIBC_2.5 inet6_opt_find F
@@ -2919,6 +2919,8 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
GLIBC_2.5 inet6_opt_find F
@@ -2995,3 +2995,5 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
@@ -2539,3 +2539,5 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
@@ -2739,3 +2739,5 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
@@ -2956,6 +2956,8 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
GLIBC_2.5 inet6_opt_find F
@@ -2855,6 +2855,8 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
GLIBC_2.5 inet6_opt_find F
@@ -2852,6 +2852,8 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
GLIBC_2.5 inet6_opt_find F
@@ -3186,6 +3186,8 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
GLIBC_2.5 inet6_opt_find F
@@ -2822,6 +2822,8 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
GLIBC_2.5 inet6_opt_find F
@@ -2771,6 +2771,8 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
GLIBC_2.5 inet6_opt_find F
@@ -2790,3 +2790,5 @@ GLIBC_2.43 memset_explicit F
GLIBC_2.43 mseal F
GLIBC_2.43 openat2 F
GLIBC_2.43 umaxabs F
+GLIBC_2.44 posix_spawn_file_actions_addchdir F
+GLIBC_2.44 posix_spawn_file_actions_addfchdir F