node012.patch 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. Index: common.gypi
  2. --- common.gypi.orig 2016-10-18 11:21:36.000000000 +0200
  3. +++ common.gypi 2016-10-18 21:16:35.979404283 +0200
  4. @@ -180,7 +180,7 @@
  5. 'ldflags': [ '-pthread' ],
  6. }],
  7. [ 'OS in "linux freebsd openbsd solaris android"', {
  8. - 'cflags': [ '-Wall', '-Wextra', '-Wno-unused-parameter', ],
  9. + 'cflags': [ '-Wno-unused-parameter', ],
  10. 'cflags_cc': [
  11. '-fno-delete-null-pointer-checks',
  12. '-fno-exceptions',
  13. @@ -231,9 +231,6 @@
  14. '-fno-strict-aliasing',
  15. ],
  16. 'WARNING_CFLAGS': [
  17. - '-Wall',
  18. - '-Wendif-labels',
  19. - '-W',
  20. '-Wno-unused-parameter',
  21. ],
  22. },
  23. Index: configure
  24. --- configure.orig 2016-10-18 11:21:36.000000000 +0200
  25. +++ configure 2016-10-18 21:14:51.579416505 +0200
  26. @@ -666,9 +666,9 @@
  27. if options.shared_v8_libpath:
  28. o['libraries'] += ['-L%s' % options.shared_v8_libpath]
  29. if options.shared_v8_libname:
  30. - o['libraries'] += ['-l%s' % options.shared_v8_libname]
  31. + o['libraries'] += ['-l%s -lexecinfo' % options.shared_v8_libname]
  32. elif options.shared_v8:
  33. - o['libraries'] += ['-lv8']
  34. + o['libraries'] += ['-lv8 -lexecinfo']
  35. if options.shared_v8_includes:
  36. o['include_dirs'] += [options.shared_v8_includes]
  37. Index: deps/v8/build/toolchain.gypi
  38. --- deps/v8/build/toolchain.gypi.orig 2016-10-18 11:21:36.000000000 +0200
  39. +++ deps/v8/build/toolchain.gypi 2016-10-18 21:14:51.579416505 +0200
  40. @@ -538,12 +538,6 @@
  41. ['OS=="solaris"', {
  42. 'defines': [ '__C99FEATURES__=1' ], # isinf() etc.
  43. }],
  44. - ['OS=="freebsd" or OS=="openbsd"', {
  45. - 'cflags': [ '-I/usr/local/include' ],
  46. - }],
  47. - ['OS=="netbsd"', {
  48. - 'cflags': [ '-I/usr/pkg/include' ],
  49. - }],
  50. ], # conditions
  51. 'configurations': {
  52. # Abstract configuration for v8_optimized_debug == 0.
  53. Index: deps/v8/src/base/platform/platform-freebsd.cc
  54. --- deps/v8/src/base/platform/platform-freebsd.cc.orig 2016-10-18 11:21:36.000000000 +0200
  55. +++ deps/v8/src/base/platform/platform-freebsd.cc 2016-10-18 21:14:51.579416505 +0200
  56. @@ -122,10 +122,10 @@
  57. std::vector<OS::SharedLibraryAddress> OS::GetSharedLibraryAddresses() {
  58. - std::vector<SharedLibraryAddress> result;
  59. + std::vector<SharedLibraryAddress> resultv;
  60. static const int MAP_LENGTH = 1024;
  61. int fd = open("/proc/self/maps", O_RDONLY);
  62. - if (fd < 0) return result;
  63. + if (fd < 0) return resultv;
  64. while (true) {
  65. char addr_buffer[11];
  66. addr_buffer[0] = '0';
  67. @@ -156,10 +156,10 @@
  68. // There may be no filename in this line. Skip to next.
  69. if (start_of_path == NULL) continue;
  70. buffer[bytes_read] = 0;
  71. - result.push_back(SharedLibraryAddress(start_of_path, start, end));
  72. + resultv.push_back(SharedLibraryAddress(start_of_path, start, end));
  73. }
  74. close(fd);
  75. - return result;
  76. + return resultv;
  77. }
  78. @@ -188,7 +188,7 @@
  79. void* reservation = mmap(OS::GetRandomMmapAddr(),
  80. request_size,
  81. PROT_NONE,
  82. - MAP_PRIVATE | MAP_ANON | MAP_NORESERVE,
  83. + MAP_PRIVATE | MAP_ANON,
  84. kMmapFd,
  85. kMmapFdOffset);
  86. if (reservation == MAP_FAILED) return;
  87. @@ -260,7 +260,7 @@
  88. void* result = mmap(OS::GetRandomMmapAddr(),
  89. size,
  90. PROT_NONE,
  91. - MAP_PRIVATE | MAP_ANON | MAP_NORESERVE,
  92. + MAP_PRIVATE | MAP_ANON,
  93. kMmapFd,
  94. kMmapFdOffset);
  95. @@ -288,7 +288,7 @@
  96. return mmap(base,
  97. size,
  98. PROT_NONE,
  99. - MAP_PRIVATE | MAP_ANON | MAP_NORESERVE | MAP_FIXED,
  100. + MAP_PRIVATE | MAP_ANON | MAP_FIXED,
  101. kMmapFd,
  102. kMmapFdOffset) != MAP_FAILED;
  103. }
  104. Index: deps/v8/src/base/platform/platform-posix.cc
  105. --- deps/v8/src/base/platform/platform-posix.cc.orig 2016-10-18 11:21:36.000000000 +0200
  106. +++ deps/v8/src/base/platform/platform-posix.cc 2016-10-18 21:14:51.579416505 +0200
  107. @@ -327,7 +327,7 @@
  108. #elif V8_OS_ANDROID
  109. return static_cast<int>(gettid());
  110. #else
  111. - return static_cast<int>(pthread_self());
  112. + return static_cast<int>(reinterpret_cast<intptr_t>(pthread_self()));
  113. #endif
  114. }
  115. Index: lib/dns.js
  116. --- lib/dns.js.orig 2016-10-18 11:21:36.000000000 +0200
  117. +++ lib/dns.js 2016-10-18 21:14:51.579416505 +0200
  118. @@ -151,6 +151,10 @@
  119. req.hostname = hostname;
  120. req.oncomplete = onlookup;
  121. + /* FreeBSD getaddrinfo(3) knows AI_V4MAPPED, but dislikes it */
  122. + if (process.platform === "freebsd")
  123. + hints &= ~(exports.V4MAPPED);
  124. +
  125. var err = cares.getaddrinfo(req, hostname, family, hints);
  126. if (err) {
  127. callback(errnoException(err, 'getaddrinfo', hostname));
  128. Index: lib/module.js
  129. --- lib/module.js.orig 2016-10-18 11:21:36.000000000 +0200
  130. +++ lib/module.js 2016-10-18 21:14:51.579416505 +0200
  131. @@ -512,7 +512,10 @@
  132. var homeDir = process.env.HOME;
  133. }
  134. - var paths = [path.resolve(process.execPath, '..', '..', 'lib', 'node')];
  135. + var paths = [
  136. + path.resolve(process.execPath, '..', '..', 'lib', 'node', 'usr', 'node_modules'),
  137. + path.resolve(process.execPath, '..', '..', 'lib', 'node', 'pkg', 'node_modules')
  138. + ];
  139. if (homeDir) {
  140. paths.unshift(path.resolve(homeDir, '.node_libraries'));
  141. Index: src/node_internals.h
  142. --- src/node_internals.h.orig 2016-10-18 11:21:36.000000000 +0200
  143. +++ src/node_internals.h 2016-10-18 21:14:51.579416505 +0200
  144. @@ -112,6 +112,8 @@
  145. # define ROUND_UP(a, b) ((a) % (b) ? ((a) + (b)) - ((a) % (b)) : (a))
  146. #endif
  147. +# undef MUST_USE_RESULT
  148. +# undef NO_RETURN
  149. #if defined(__GNUC__) && __GNUC__ >= 4
  150. # define MUST_USE_RESULT __attribute__((warn_unused_result))
  151. # define NO_RETURN __attribute__((noreturn))
  152. Index: src/util.h
  153. --- src/util.h.orig 2016-10-18 11:21:36.000000000 +0200
  154. +++ src/util.h 2016-10-18 21:14:51.579416505 +0200
  155. @@ -30,13 +30,17 @@
  156. namespace node {
  157. +#undef FIXED_ONE_BYTE_STRING
  158. #define FIXED_ONE_BYTE_STRING(isolate, string) \
  159. (node::OneByteString((isolate), (string), sizeof(string) - 1))
  160. +#undef DISALLOW_COPY_AND_ASSIGN
  161. #define DISALLOW_COPY_AND_ASSIGN(TypeName) \
  162. void operator=(const TypeName&); \
  163. TypeName(const TypeName&)
  164. +#undef ASSERT
  165. +#undef CHECK
  166. #if defined(NDEBUG)
  167. # define ASSERT(expression)
  168. # define CHECK(expression) \
  169. @@ -48,13 +52,20 @@
  170. # define CHECK(expression) assert(expression)
  171. #endif
  172. +#undef CHECK_EQ
  173. #define CHECK_EQ(a, b) CHECK((a) == (b))
  174. +#undef CHECK_GE
  175. #define CHECK_GE(a, b) CHECK((a) >= (b))
  176. +#undef CHECK_GT
  177. #define CHECK_GT(a, b) CHECK((a) > (b))
  178. +#undef CHECK_LE
  179. #define CHECK_LE(a, b) CHECK((a) <= (b))
  180. +#undef CHECK_LT
  181. #define CHECK_LT(a, b) CHECK((a) < (b))
  182. +#undef CHECK_NE
  183. #define CHECK_NE(a, b) CHECK((a) != (b))
  184. +#undef UNREACHABLE
  185. #define UNREACHABLE() abort()
  186. // The helper is for doing safe downcasts from base types to derived types.
  187. Index: tools/install.py
  188. --- tools/install.py.orig 2016-10-18 11:21:36.000000000 +0200
  189. +++ tools/install.py 2016-10-18 21:14:51.579416505 +0200
  190. @@ -135,11 +135,6 @@
  191. # behave similarly for systemtap
  192. action(['src/node.stp'], 'share/systemtap/tapset/')
  193. - if 'freebsd' in sys.platform or 'openbsd' in sys.platform:
  194. - action(['doc/node.1'], 'man/man1/')
  195. - else:
  196. - action(['doc/node.1'], 'share/man/man1/')
  197. -
  198. if 'true' == variables.get('node_install_npm'): npm_files(action)
  199. headers(action)