From: Joseph K. <jk...@us...> - 2019-06-30 13:35:29
|
Mark, m.j> The context for that change is FreeBSD PR 234949 m.j> (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=234949). m.j> It comes from a series of changes which reduces m.j> elftoolchain's strip runtime on an archive of m.j> Haskell libraries compiled with -ffunction-sections. Thanks for providing the context; nice work on that PR. m.j> I know that *BSD provides tree.h and libbsd has a m.j> tree.h as well; that seemed sufficient to me, but m.j> maybe I'm missing something? It seemed reasonable m.j> to use tree.h given that elftoolchain already makes m.j> extensive use of queue.h. We've seen incompatibilities between *BSD's <sys/queue.h> implementations; for example, OpenBSD 6.3's <sys/queue.h> lacked the STAILQ_* macros, and so we had to provide a local copy in "common/_elftc.h". I hope <sys/tree.h> is more portable than <sys/queue.h>, but if not we could add local definitions to "common/_elftc.h" till the time the differences are reconciled upstream. Thanks again for tracking down this performance issue. I have created a ticket (on myself) (https://sourceforge.net/p/elftoolchain/tickets/574/) to fold in this change. Regards, Joseph Koshy |