Making read(2) return EISDIR for directories breaks two ports, both because they use libtool -bindir. cc(1) gets executed with an unknown option, -bindir, and a path such as /usr/local/bin, which then gets passed to ld(1). ld(1) copes with read(2) returning 0, not with EISDIR. Thanks to Antoine who ran the bulk builds that exposed this problem.
-bindir support is meaningless on OpenBSD so handling that option should be easy. The problem is that I don't know how to implement it in libtool(1). GNU libtool recognizes -bindir among cc flags, while our version seems to only handle options passed right after argv[0]. I plan to work around that problem by using GNU libtool for the ports mentioned above, but someone else might want to poke at libtool(1) internals. :) -- jca | PGP: 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE
