TIL use of gnulib's obstack API on glibc systems adds exported dynamic symbols to final binaries (normally harmless but somewhat unusual thing for programs that don't load plugins).
Even '/bin/ls' has a few of those exported out of a binary:
$ nm -D `which ls` | grep -v '^ '
00000000004c0d40 T _obstack_allocated_p
0000000000534808 D obstack_alloc_failed_handler
00000000004c0bd0 T
...
https://lists.gnu.org/archive/html/bug-gnulib/2022-12/msg00121.html