On Sun, Jun 30, 2019 at 02:35:16PM +0100, Joseph Koshy wrote:
> 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.

I'm fairly confident that all of the BSDs have roughly the same RB_*
macros in tree.h.  I can try compiling elftoolchain on each of them, but
you may be better set up to test that than me.

> 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.

Thanks.  The full set of changes needed to get parity with GNU strip is
in the PR; they are all now committed to FreeBSD.


_______________________________________________
Elftoolchain-developers mailing list
Elftoolchain-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/elftoolchain-developers

Reply via email to