From f72908c94df9a256422790d4e2a60c9c33a35f2d Mon Sep 17 00:00:00 2001 From: Konstantin Belousov Date: Sun, 21 Sep 2025 02:50:47 +0300 Subject: [PATCH] libc: properly reference setgroups@FBSD_1.0 in initgroups@FBSD_1.0 by forwarding the reference to libsys syscall symbol, for the libc.so case. Reviewed and tested by: kevans Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D52672 --- lib/libc/gen/gen-compat.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/libc/gen/gen-compat.h b/lib/libc/gen/gen-compat.h index dac8f54b45a..74678301af6 100644 --- a/lib/libc/gen/gen-compat.h +++ b/lib/libc/gen/gen-compat.h @@ -52,6 +52,12 @@ int freebsd11_getmntinfo(struct freebsd11_statfs **, int); char *freebsd11_devname(__uint32_t dev, __mode_t type); char *freebsd11_devname_r(__uint32_t dev, __mode_t type, char *buf, int len); -int freebsd14_setgroups(int gidsize, const __gid_t *gidset); +#define F14SG int freebsd14_setgroups(int gidsize, const __gid_t *gidset) +#ifdef PIC +static F14SG __attribute__((__weakref__("setgroups@FBSD_1.0"))); +#else +F14SG; +#endif +#undef F14SG #endif /* _GEN_COMPAT_H_ */