2
1

0004-fix-musl-USE-MISC-build-issue.patch 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. From 0bc482abeb814573251ecafb5a1e045c885b13a2 Mon Sep 17 00:00:00 2001
  2. From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
  3. Date: Mon, 25 May 2015 16:22:57 +0200
  4. Subject: [PATCH 1/1] Fix musl __USE_MISC issue
  5. MIME-Version: 1.0
  6. Content-Type: text/plain; charset=UTF-8
  7. Content-Transfer-Encoding: 8bit
  8. The musl C library does not define __USE_MISC and so libuv (built-in dependency)
  9. does not use the correct struct stat definition for musl.
  10. The feature test macro __USE_MISC is defined by glibc if _BSD_SOURCE or
  11. _SVID_SOURCE is defined.
  12. The libuv build system enables the feature test macro _GNU_SOURCE for linux
  13. builds.
  14. Since glibc 2.19, defining _GNU_SOURCE also has the effect of implicitly
  15. defining _DEFAULT_SOURCE - the replacement for _BSD_SOURCE and _SVID_SOURCE.
  16. In glibc versions before 2.20, defining _GNU_SOURCE also had the effect of
  17. implicitly defining _BSD_SOURCE and _SVID_SOURCE. This is also true for uClibc.
  18. Alltogether, we can safely replace __USE_MISC by _GNU_SOURCE to support building
  19. nodejs 0.10.x with the musl C library.
  20. Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
  21. ---
  22. deps/uv/src/fs-poll.c | 2 +-
  23. 1 file changed, 1 insertion(+), 1 deletion(-)
  24. diff --git a/deps/uv/src/fs-poll.c b/deps/uv/src/fs-poll.c
  25. index ad27f18..094447e 100644
  26. --- a/deps/uv/src/fs-poll.c
  27. +++ b/deps/uv/src/fs-poll.c
  28. @@ -198,7 +198,7 @@ static int statbuf_eq(const uv_statbuf_t* a, const uv_statbuf_t* b) {
  29. /* Jump through a few hoops to get sub-second granularity on Linux. */
  30. # if defined(__linux__)
  31. -# if defined(__USE_MISC) /* _BSD_SOURCE || _SVID_SOURCE */
  32. +# if defined(_GNU_SOURCE) /* _BSD_SOURCE || _SVID_SOURCE */
  33. if (a->st_ctim.tv_nsec != b->st_ctim.tv_nsec) return 0;
  34. if (a->st_mtim.tv_nsec != b->st_mtim.tv_nsec) return 0;
  35. # else
  36. --
  37. 2.4.1