>> Some systems don't provide endian.h and byteswap.h. The required >> functions are trivial to define using sys/param.h and gcc builtins, >> though. >> >> Also, include endian.h in dwelf_scn_gnu_compressed_size.c as that uses >> be64toh(). > > This is still an issue with non-glibc, non-BSD compilation. The patch > is not ideal, as it depends on a GCC extension, but it's an > improvement for those who use GCC on a platform which does not provide > these functions as part of the C library.
Well, there are a lot of other issues to be fixed if you want to build elfutils on anything non-gcc. We could add a further check for those builtins and sys/param.h and then add a somewhat less trivial version of endian.h and byteswap.h if they are missing. But that would likely involve other compiler extensions or OS-specific headers. br, Ulf