I've tested things, using tzdb-2019c.tar.lz and rewriting the main() function of date.c in it to be the same as the daytime.c test program I wrote before. The output, both when compiling this on OpenBSD, and on FreeBSD, is the same as what Guy Harris reported for macOS 10.14: tzname[0]: CAT tzname[1]: (three spaces, for tzname[1]'s value) This behavior seems good enough to me, and thus shows me that the bug is not in upstream (here) but in OpenBSD and FreeBSD. Thanks for helping me out, guys! :D Unrelatedly, and interestingly enough, I couldn't get things to compile while using -DUSG_COMPAT=1 in CFLAGS, on FreeBSD. However, I was able to get things to compile like that on OpenBSD. (Notably, FreeBSD doesn't support daylight or timezone, itself, while OpenBSD does. This seems to indicate USG_COMPAT'd tzcode can only be compiled on OSes already supporting those features)