Dynamic loading of modules is broken on OpenBSD: bash-5.2$ enable finfo bash:/usr/local/lib/bash/finfo: undefined symbol 'sh_optind' bash:/usr/local/lib/bash/finfo: undefined symbol 'sh_optarg' bash: enable: finfo: not a shell builtin
This is trivially fixed, configure simply needs to add -rdynamic to the build flags. The FreeBSD entry is also bizarrely obsolete. a.out hasn't been a thing forever; freebsdelf must have been experimental if it ever even existed; freebsd[3-9] fails to capture freebsd10 and above-- the oldest supported FreeBSD branch is 12.x right now. All this also leaves bash without functioning module loading when built on a recent FreeBSD. A simple "freebsd*) LOCAL_LDFLAGS=-rdynamic ;;" entry would make more sense. --- configure.ac.orig Thu Dec 8 16:56:15 2022 +++ configure.ac Thu Dec 8 16:56:38 2022 @@ -1197,16 +1197,17 @@ dnl FreeBSD-3.x can have either a.out or ELF case "${host_os}" in freebsd[[3-9]]*) if test -x /usr/bin/objformat && test "`/usr/bin/objformat`" = "elf" ; then LOCAL_LDFLAGS=-rdynamic # allow dynamic loading fi ;; freebsdelf*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading dragonfly*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading +openbsd*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading midnightbsd*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading esac case "$host_cpu" in *cray*) LOCAL_CFLAGS="-DCRAY" ;; # shell var so config.h can use it esac case "$host_cpu-$host_os" in -- Christian "naddy" Weisgerber na...@mips.inka.de