--- /dev/null
+The arpa/nameser.h header of musl libc indirectly depends on the endian.h
+header but fails to explicitely include it to properly define
+`__BYTE_ORDER` and `__BIG_ENDIAN` prior to declaring the DNS `HEADER`
+structure.
+
+When both the appropriate `__BYTE_ORDER` and `__BIG_ENDIAN` defines are
+unset, the `#if __BYTE_ORDER == __BIG_ENDIAN` condition in `nameser.h`
+evaluates to true, causing it to declare a bad (big endian) DNS packet
+header structure on little endian systems.
+
+Work around this musl bug by forcibly passing `-include endian.h` through
+the `osflags` file.
+
+An upstream fix for musl libc has been submitted with
+http://www.openwall.com/lists/musl/2017/12/04/3
+
+--- a/src/osflags
++++ b/src/osflags
+@@ -27,7 +27,7 @@ cflags)
+ echo '-Dsocklen_t=int';
+ ;;
+ Linux)
+- FLAGS="-D_GNU_SOURCE"
++ FLAGS="-D_GNU_SOURCE -include endian.h"
+ echo $FLAGS;
+ ;;
+ esac