Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v12.9.0 release proposal #29210

Merged
merged 97 commits into from Aug 20, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
cfe2484
deps: update V8 to 7.6.303.29
targos Aug 2, 2019
b04f9e1
build: reset embedder string to "-node.0"
targos Aug 2, 2019
040e7da
deps: V8: fix filename manipulation for Windows
refack Mar 31, 2019
434c127
deps: V8: un-cherry-pick bd019bd
refack Mar 27, 2019
33f3e38
deps: V8: silence irrelevant warning
targos Mar 27, 2019
eefbc07
deps: V8: update postmortem metadata generation script
cjihrig Mar 28, 2019
ac0c075
deps: V8: patch register-arm64.h
refack May 22, 2019
d940403
deps: V8: forward declaration of `Rtl*FunctionTable`
refack May 22, 2019
94c8d06
deps: V8: use ATOMIC_VAR_INIT instead of std::atomic_init
refack May 23, 2019
f24caef
deps: V8: add workaround for MSVC optimizer bug
refack May 17, 2019
c9f8d28
deps: V8: fix BUILDING_V8_SHARED issues
refack May 26, 2019
533b2d4
deps: V8: fix linking issue for MSVS
refack May 30, 2019
9b3c115
deps: V8: cherry-pick 3b8c624
targos Jun 17, 2019
945955f
deps: cherry-pick 13a04aba from V8 upstream
jkunkee Jul 4, 2019
492b7cb
deps: V8: cherry-pick d2ccc59
targos Jul 20, 2019
7d411f4
deps: V8: backport b33af60
devsnek Jul 19, 2019
4d7a795
tools: sync gypfiles with V8 7.6
targos May 18, 2019
f08f154
test: update postmortem metadata test for V8 7.6
cjihrig Jun 3, 2019
7b8eb83
deps: patch V8 to be API/ABI compatible with 7.4 (from 7.5)
targos Jun 1, 2019
53c7fac
deps: patch V8 to be API/ABI compatible with 7.4 (from 7.6)
targos Aug 4, 2019
925e40c
module: add warning when import,export is detected in CJS context
gntem Jul 27, 2019
b7696b4
events: give subclass name in unhandled 'error' message
addaleax Aug 3, 2019
000999c
stream: improve read() performance
mscdex Aug 4, 2019
54197ea
crypto: extend RSA-OAEP support with oaepHash
tniessen Jun 21, 2019
82edebf
test: add test for OAEP hash mismatch
tniessen Jul 30, 2019
17d9495
doc: make unshift doc compliant with push doc
EduardoRFS Aug 4, 2019
f194626
fs: validate fds as int32s
cjihrig Aug 5, 2019
5008b46
benchmark: allow easy passing of process flags
mscdex Aug 5, 2019
7b7b8f2
doc: documented default statusCode
nfearnley Aug 5, 2019
491b46d
module: refine package name validation
guybedford Aug 5, 2019
43e444b
test: refactor test-sync-io-option
addaleax Aug 6, 2019
375d1ee
doc: improve UV_THREADPOOL_SIZE description
tniessen Aug 7, 2019
f9ed5f3
test: assert: add failing deepEqual test for faked boxed primitives
ljharb Aug 6, 2019
8426077
util: assert: fix deepEqual comparing fake-boxed to real boxed primitive
ljharb Aug 6, 2019
112ec73
util: isEqualBoxedPrimitive: ensure both values are actual boxed Symbols
ljharb Aug 7, 2019
647f3a8
stream: encapsulate buffer-list
ronag Aug 5, 2019
1b6d7c0
doc: fix nits in child_process.md
vsemozhetbyt Aug 6, 2019
a4e2549
util: improve debuglog performance
mscdex Aug 4, 2019
6bc4620
stream: improve read() performance more
mscdex Aug 6, 2019
c396b2a
http: buffer writes even while no socket assigned
ronag Aug 6, 2019
e543d35
stream: inline and simplify onwritedrain
ronag Aug 7, 2019
16e0011
http: add missing stream-like properties to OutgoingMessage
ronag Aug 6, 2019
e3b1243
test: unskip tests that now pass on AIX
sam-github Aug 8, 2019
6f7b561
dns: update lookupService() first arg name
cjihrig Aug 8, 2019
2c91c65
deps: upgrade to libuv 1.31.0
cjihrig Aug 9, 2019
2528dee
report: list envvars using uv_os_environ()
cjihrig Aug 5, 2019
13a4979
http: remove duplicate check
ronag Aug 6, 2019
b2936cf
src: organize imports in inspector_profiler.cc
GameCubeGBA Aug 9, 2019
cb16229
module: pkg exports validations and fallbacks
guybedford Aug 2, 2019
1011a17
tools: allow single JS file for --link-module
danbev Jun 27, 2019
2e50088
http: remove redundant condition
lpinca Aug 10, 2019
5ea9237
doc: clarify async iterator leak
ronag Aug 6, 2019
3bfca0b
doc, lib, src, test, tools: fix assorted typos
XhmikosR Aug 10, 2019
2a84459
stream: improve read() performance further
mscdex Aug 10, 2019
66249bb
inspector: use const for contextGroupId
gengjiawen Aug 10, 2019
c7a4525
buffer: improve ERR_BUFFER_OUT_OF_BOUNDS default
cjihrig Aug 12, 2019
0aa339e
test: skip test-fs-access if root
danbev Aug 12, 2019
6b9e372
http: follow symbol naming convention
ronag Aug 12, 2019
9ead4ec
doc: note that stream error can close stream
ronag Aug 11, 2019
9057814
buffer: improve copy() performance
mscdex Aug 9, 2019
31c50e5
tools: make nodedownload.py Python 3 compatible
cclauss Aug 13, 2019
b085b94
console: minor timeLogImpl() refactor
cjihrig Aug 13, 2019
0a63e2d
build: support py3 for configure.py
cclauss Aug 13, 2019
a17d398
deps: V8: cherry-pick e3d7f8a
cclauss Aug 14, 2019
18b7113
test: make exported method static
rpoisel Aug 12, 2019
ebfe636
doc: fix introduced_in note in querystring.md
bnoordhuis Aug 6, 2019
aff1ef9
test: add required settings to test-benchmark-buffer
Trott Aug 16, 2019
edbe38d
doc: mention N-API as recommended approach
mhdawson Aug 1, 2019
62a0e91
src: simplify UnionBytes
bnoordhuis Aug 14, 2019
178caa5
fs: add default options for *stat()
UziTech Aug 14, 2019
e2a2a3f
stream: use lazy registration for drain for fast destinations
ronag Aug 12, 2019
e51f924
build: add a testclean target
danbev Aug 12, 2019
e474c67
readline: establish y in cursorTo as optional
Flarna Aug 14, 2019
5b892c4
tls: allow client-side sockets to be half-opened
lpinca May 23, 2019
bb19d82
fs: add fs.writev() which exposes syscall writev()
AnasAboreeda Feb 4, 2019
f9b61d2
http,stream: add writableEnded
ronag Aug 2, 2019
964dff8
http2: remove unused FlushData() function
addaleax Aug 15, 2019
3c346b8
readline: close dumb terminals on Control+C
cjihrig Aug 15, 2019
7f11c72
readline: close dumb terminals on Control+D
cjihrig Aug 15, 2019
a6b9299
src: rename --security-reverts to ...-revert
sam-github Aug 15, 2019
fbe25c7
build: remove unnecessary Python semicolon
MattIPv4 Aug 14, 2019
ad28f55
doc: improve example single-test command
davidguttman Aug 13, 2019
5c5ef4e
build: remove unused option
Trott Aug 16, 2019
acdc21b
tools: make pty_helper.py python3-compatible
bnoordhuis Aug 16, 2019
4356836
fs: validate writev fds consistently
cjihrig Aug 17, 2019
81f3eb5
fs: add writev() promises version
cjihrig Aug 17, 2019
82eeadb
fs: use consistent buffer array validation
cjihrig Aug 17, 2019
6bafd35
test: deflake test-tls-passphrase
lpinca Aug 15, 2019
c5edeb9
http: simplify drain()
ronag Aug 11, 2019
d4e397a
worker: fix crash when SharedArrayBuffer outlives creating thread
addaleax Aug 17, 2019
c4f6077
tools: make code cache and snapshot deterministic
bnoordhuis Aug 15, 2019
d79d142
fs: use fs.writev() internally
ronag Aug 17, 2019
17319e7
net: use callback to properly propagate error
ronag Aug 17, 2019
1e3e6da
stream: simplify howMuchToRead()
ronag Aug 16, 2019
f42eb01
build: enable linux large pages LLVM lld linkage support
devnexen Aug 2, 2019
a9f8b62
stream: add readableEnded
ronag Jul 23, 2019
e6872f5
2019-08-20, Version 12.9.0 (Current)
targos Aug 19, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion BUILDING.md
Expand Up @@ -328,7 +328,7 @@ If you are updating tests and want to run tests in a single test file
(e.g. `test/parallel/test-stream2-transform.js`):

```text
$ python tools/test.py parallel/test-stream2-transform.js
$ python tools/test.py test/parallel/test-stream2-transform.js
```

You can execute the entire suite of tests for a given subsystem
Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG.md
Expand Up @@ -28,7 +28,8 @@ release.
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V12.md#12.8.1">12.8.1</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V12.md#12.9.0">12.9.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.8.1">12.8.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.8.0">12.8.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.7.0">12.7.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.6.0">12.6.0</a><br/>
Expand Down
18 changes: 14 additions & 4 deletions Makefile
Expand Up @@ -170,12 +170,16 @@ clean: ## Remove build artifacts.
$(RM) -r node_modules
@if [ -d deps/icu ]; then echo deleting deps/icu; $(RM) -r deps/icu; fi
$(RM) test.tap
# Next one is legacy remove this at some point
$(RM) -r test/tmp*
$(RM) -r test/.tmp*
$(MAKE) testclean
$(MAKE) test-addons-clean
$(MAKE) bench-addons-clean

.PHONY: testclean
testclean:
# Next one is legacy remove this at some point
$(RM) -r test/tmp*
$(RM) -r test/.tmp*

.PHONY: distclean
distclean:
$(RM) -r out
Expand Down Expand Up @@ -294,6 +298,10 @@ jstest: build-addons build-js-native-api-tests build-node-api-tests ## Runs addo
$(CI_JS_SUITES) \
$(CI_NATIVE_SUITES)

.PHONY: tooltest
tooltest:
@$(PYTHON) test/tools/test-js2c.py

.PHONY: coverage-run-js
coverage-run-js:
$(RM) -r out/$(BUILDTYPE)/.coverage
Expand All @@ -311,6 +319,7 @@ test: all ## Runs default tests, linters, and builds docs.
$(MAKE) -s build-node-api-tests
$(MAKE) -s cctest
$(MAKE) -s jstest
$(MAKE) -s tooltest

.PHONY: test-only
test-only: all ## For a quick test, does not run linter or build docs.
Expand All @@ -319,6 +328,7 @@ test-only: all ## For a quick test, does not run linter or build docs.
$(MAKE) build-node-api-tests
$(MAKE) cctest
$(MAKE) jstest
$(MAKE) tooltest

# Used by `make coverage-test`
test-cov: all
Expand Down Expand Up @@ -509,7 +519,7 @@ test-ci-native: | test/addons/.buildstamp test/js-native-api/.buildstamp test/no
test-ci-js: | clear-stalled
$(PYTHON) tools/test.py $(PARALLEL_ARGS) -p tap --logfile test.tap \
--mode=$(BUILDTYPE_LOWER) --flaky-tests=$(FLAKY_TESTS) \
$(TEST_CI_ARGS) $(CI_JS_SUITES) --skip-tests=sequential/test-benchmark-napi
$(TEST_CI_ARGS) $(CI_JS_SUITES)
@echo "Clean up any leftover processes, error if found."
ps awwx | grep Release/node | grep -v grep | cat
@PS_OUT=`ps awwx | grep Release/node | grep -v grep | awk '{print $$1}'`; \
Expand Down
19 changes: 19 additions & 0 deletions benchmark/buffers/buffer-copy.js
@@ -0,0 +1,19 @@
'use strict';
const common = require('../common.js');

const bench = common.createBenchmark(main, {
bytes: [0, 8, 128, 32 * 1024],
partial: ['true', 'false'],
n: [6e6]
});

function main({ n, bytes, partial }) {
const source = Buffer.allocUnsafe(bytes);
const target = Buffer.allocUnsafe(bytes);
const sourceStart = (partial === 'true' ? Math.floor(bytes / 2) : 0);
bench.start();
for (let i = 0; i < n; i++) {
source.copy(target, 0, sourceStart);
}
bench.end(n);
}
4 changes: 4 additions & 0 deletions benchmark/common.js
Expand Up @@ -25,6 +25,10 @@ function Benchmark(fn, configs, options) {
if (options && options.flags) {
this.flags = this.flags.concat(options.flags);
}
if (process.env.NODE_BENCHMARK_FLAGS) {
const flags = process.env.NODE_BENCHMARK_FLAGS.split(/\s+/);
this.flags = this.flags.concat(flags);
}
// Holds process.hrtime value
this._time = [0, 0];
// Used to make sure a benchmark only start a timer once
Expand Down
2 changes: 1 addition & 1 deletion common.gypi
Expand Up @@ -38,7 +38,7 @@

# Reset this number to 0 on major V8 upgrades.
# Increment by one for each non-official patch applied to deps/v8.
'v8_embedder_string': '-node.16',
'v8_embedder_string': '-node.15',

##### V8 defaults for Node.js #####

Expand Down
45 changes: 22 additions & 23 deletions configure.py
Expand Up @@ -11,7 +11,6 @@
import shlex
import subprocess
import shutil
import string
from distutils.spawn import find_executable as which

# If not run from node/, cd to node/.
Expand Down Expand Up @@ -402,6 +401,11 @@
help='build with Large Pages support. This feature is supported only on Linux kernel' +
'>= 2.6.38 with Transparent Huge pages enabled and FreeBSD')

parser.add_option('--use-largepages-script-lld',
action='store_true',
dest='node_use_large_pages_script_lld',
help='link against the LLVM ld linker script. Implies -fuse-ld=lld in the linker flags')

intl_optgroup.add_option('--with-intl',
action='store',
dest='with_intl',
Expand Down Expand Up @@ -626,18 +630,14 @@ def print_verbose(x):

def b(value):
"""Returns the string 'true' if value is truthy, 'false' otherwise."""
if value:
return 'true'
else:
return 'false'
return 'true' if value else 'false'

def B(value):
"""Returns 1 if value is truthy, 0 otherwise."""
if value:
return 1
else:
return 0
return 1 if value else 0

def to_utf8(s):
return s if isinstance(s, str) else s.decode("utf-8")

def pkg_config(pkg):
"""Run pkg-config on the specified package
Expand All @@ -652,7 +652,7 @@ def pkg_config(pkg):
try:
proc = subprocess.Popen(shlex.split(pkg_config) + args,
stdout=subprocess.PIPE)
val = proc.communicate()[0].strip()
val = to_utf8(proc.communicate()[0]).strip()
except OSError as e:
if e.errno != errno.ENOENT: raise e # Unexpected error.
return (None, None, None, None) # No pkg-config/pkgconf installed.
Expand All @@ -668,10 +668,10 @@ def try_check_compiler(cc, lang):
except OSError:
return (False, False, '', '')

proc.stdin.write('__clang__ __GNUC__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__ '
'__clang_major__ __clang_minor__ __clang_patchlevel__')
proc.stdin.write(b'__clang__ __GNUC__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__ '
b'__clang_major__ __clang_minor__ __clang_patchlevel__')

values = (proc.communicate()[0].split() + ['0'] * 7)[0:7]
values = (to_utf8(proc.communicate()[0]).split() + ['0'] * 7)[0:7]
is_clang = values[0] == '1'
gcc_version = tuple(map(int, values[1:1+3]))
clang_version = tuple(map(int, values[4:4+3])) if is_clang else None
Expand All @@ -696,7 +696,7 @@ def get_version_helper(cc, regexp):
consider adjusting the CC environment variable if you installed
it in a non-standard prefix.''')

match = re.search(regexp, proc.communicate()[1])
match = re.search(regexp, to_utf8(proc.communicate()[1]))

if match:
return match.group(2)
Expand All @@ -715,7 +715,7 @@ def get_nasm_version(asm):
return '0'

match = re.match(r"NASM version ([2-9]\.[0-9][0-9]+)",
proc.communicate()[0])
to_utf8(proc.communicate()[0]))

if match:
return match.group(1)
Expand Down Expand Up @@ -746,7 +746,7 @@ def get_gas_version(cc):
consider adjusting the CC environment variable if you installed
it in a non-standard prefix.''')

gas_ret = proc.communicate()[1]
gas_ret = to_utf8(proc.communicate()[1])
match = re.match(r"GNU assembler version ([2-9]\.[0-9]+)", gas_ret)

if match:
Expand Down Expand Up @@ -811,10 +811,8 @@ def cc_macros(cc=None):
consider adjusting the CC environment variable if you installed
it in a non-standard prefix.''')

p.stdin.write('\n')
out = p.communicate()[0]

out = str(out).split('\n')
p.stdin.write(b'\n')
out = to_utf8(p.communicate()[0]).split('\n')

k = {}
for line in out:
Expand Down Expand Up @@ -1055,6 +1053,7 @@ def configure_node(o):
raise Exception(
'Large pages need Linux kernel version >= 2.6.38')
o['variables']['node_use_large_pages'] = b(options.node_use_large_pages)
o['variables']['node_use_large_pages_script_lld'] = b(options.node_use_large_pages_script_lld)

if options.no_ifaddrs:
o['defines'] += ['SUNOS_NO_IFADDRS']
Expand Down Expand Up @@ -1294,7 +1293,7 @@ def glob_to_var(dir_base, dir_sub, patch_dir):

def configure_intl(o):
def icu_download(path):
depFile = 'tools/icu/current_ver.dep';
depFile = 'tools/icu/current_ver.dep'
with open(depFile) as f:
icus = json.load(f)
# download ICU, if needed
Expand Down Expand Up @@ -1363,7 +1362,7 @@ def write_config(data, name):
o['variables']['icu_small'] = b(True)
locs = set(options.with_icu_locales.split(','))
locs.add('root') # must have root
o['variables']['icu_locales'] = string.join(locs,',')
o['variables']['icu_locales'] = ','.join(str(loc) for loc in locs)
# We will check a bit later if we can use the canned deps/icu-small
elif with_intl == 'full-icu':
# full ICU
Expand Down Expand Up @@ -1503,7 +1502,7 @@ def write_config(data, name):
elif int(icu_ver_major) < icu_versions['minimum_icu']:
error('icu4c v%s.x is too old, v%d.x or later is required.' %
(icu_ver_major, icu_versions['minimum_icu']))
icu_endianness = sys.byteorder[0];
icu_endianness = sys.byteorder[0]
o['variables']['icu_ver_major'] = icu_ver_major
o['variables']['icu_endianness'] = icu_endianness
icu_data_file_l = 'icudt%s%s.dat' % (icu_ver_major, 'l')
Expand Down
1 change: 1 addition & 0 deletions deps/uv/.gitignore
Expand Up @@ -51,6 +51,7 @@ Makefile.in
/test/run-benchmarks
/test/run-benchmarks.exe
/test/run-benchmarks.dSYM
test_file_*

*.sln
*.sln.cache
Expand Down
1 change: 1 addition & 0 deletions deps/uv/.mailmap
Expand Up @@ -38,6 +38,7 @@ Sam Roberts <vieuxtech@gmail.com> <sam@strongloop.com>
San-Tai Hsu <vanilla@fatpipi.com>
Santiago Gimeno <santiago.gimeno@quantion.es> <santiago.gimeno@gmail.com>
Saúl Ibarra Corretgé <saghul@gmail.com>
Saúl Ibarra Corretgé <saghul@gmail.com> <s@saghul.net>
Shigeki Ohtsu <ohtsu@iij.ad.jp> <ohtsu@ohtsu.org>
Timothy J. Fontaine <tjfontaine@gmail.com>
Yasuhiro Matsumoto <mattn.jp@gmail.com>
Expand Down
7 changes: 7 additions & 0 deletions deps/uv/AUTHORS
Expand Up @@ -389,3 +389,10 @@ Jenil Christo <jenilchristo5@gmail.com>
Evgeny Ermakov <evgeny.v.ermakov@gmail.com>
gengjiawen <technicalcute@gmail.com>
Leo Chung <gewalalb@gmail.com>
Javier Blazquez <jblazquez@riotgames.com>
Mustafa M <mus-m@outlook.com>
Zach Bjornson <zbbjornson@gmail.com>
Nan Xiao <nan@chinadtrace.org>
Ben Davies <kaiepi@outlook.com>
Nhan Khong <knhana7@gmail.com>
Crunkle <justcrunkle@hotmail.co.uk>
2 changes: 2 additions & 0 deletions deps/uv/CMakeLists.txt
Expand Up @@ -53,6 +53,8 @@ set(uv_test_sources
test/test-fs-poll.c
test/test-fs.c
test/test-fs-readdir.c
test/test-fs-fd-hash.c
test/test-fs-open-flags.c
test/test-get-currentexe.c
test/test-get-loadavg.c
test/test-get-memory.c
Expand Down
49 changes: 49 additions & 0 deletions deps/uv/ChangeLog
@@ -1,3 +1,52 @@
2019.08.10, Version 1.31.0 (Stable), 0a6771cee4c15184c924bfe9d397bdd0c3b206ba

Changes since version 1.30.1:

* win,fs: don't modify global file translation mode (Javier Blazquez)

* win: fix uv_os_tmpdir when env var is 260 chars (Mustafa M)

* win: prevent tty event explosion machine hang (Javier Blazquez)

* win: add UV_FS_O_FILEMAP (João Reis)

* win, fs: mkdir return UV_EINVAL for invalid names (Bartosz Sosnowski)

* github: add root warning to template (cjihrig)

* win: misc fs cleanup (cjihrig)

* unix,win: add uv_fs_statfs() (cjihrig)

* test: avoid AF_LOCAL (Carlo Marcelo Arenas Belón)

* unix,win: add ability to retrieve all env variables (Saúl Ibarra Corretgé)

* Revert "darwin: speed up uv_set_process_title()" (Ben Noordhuis)

* doc: add %p to valgrind log-file arg (Zach Bjornson)

* doc: fix typo in basics.rst (Nan Xiao)

* ibmi: support Makefile build for IBM i (Xu Meng)

* OpenBSD: only get active CPU core count (Ben Davies)

* test: fix gcc 8 warnings for tests (Nhan Khong)

* ibmi: use correct header files (Xu Meng)

* unix: clear UV_HANDLE_READING flag before callback (zyxwvu Shi)

* unix: fix unused-function warning on BSD (Nhan Khong)

* test: fix test runner on MinGW (Crunkle)

* win: remove try-except outside MSVC (Crunkle)

* win: fix uv_spawn() ENOMEM on empty env (Ben Noordhuis)


2019.07.03, Version 1.30.1 (Stable), 1551969c84c2f546a429dac169c7fdac3e38115e

Changes since version 1.30.0:
Expand Down
21 changes: 21 additions & 0 deletions deps/uv/Makefile.am
Expand Up @@ -184,6 +184,8 @@ test_run_tests_SOURCES = test/blackhole-server.c \
test/test-fs-poll.c \
test/test-fs.c \
test/test-fs-readdir.c \
test/test-fs-fd-hash.c \
test/test-fs-open-flags.c \
test/test-fork.c \
test/test-getters-setters.c \
test/test-get-currentexe.c \
Expand Down Expand Up @@ -322,6 +324,12 @@ test_run_tests_CFLAGS += -D_ALL_SOURCE \
-D_LINUX_SOURCE_COMPAT
endif

if OS400
test_run_tests_CFLAGS += -D_ALL_SOURCE \
-D_XOPEN_SOURCE=500 \
-D_LINUX_SOURCE_COMPAT
endif

if HAIKU
test_run_tests_CFLAGS += -D_BSD_SOURCE
endif
Expand Down Expand Up @@ -362,6 +370,19 @@ uvinclude_HEADERS += include/uv/aix.h
libuv_la_SOURCES += src/unix/aix.c src/unix/aix-common.c
endif

if OS400
libuv_la_CFLAGS += -D_ALL_SOURCE \
-D_XOPEN_SOURCE=500 \
-D_LINUX_SOURCE_COMPAT \
-D_THREAD_SAFE
uvinclude_HEADERS += include/uv/posix.h
libuv_la_SOURCES += src/unix/aix-common.c \
src/unix/ibmi.c \
src/unix/posix-poll.c \
src/unix/no-fsevents.c \
src/unix/no-proctitle.c
endif

if ANDROID
uvinclude_HEADERS += include/uv/android-ifaddrs.h
libuv_la_SOURCES += src/unix/android-ifaddrs.c \
Expand Down
2 changes: 1 addition & 1 deletion deps/uv/README.md
Expand Up @@ -387,7 +387,7 @@ $ gdb --args out/Debug/run-tests TEST_NAME
Use the `--trace-children=yes` parameter:

```bash
$ valgrind --trace-children=yes -v --tool=memcheck --leak-check=full --track-origins=yes --leak-resolution=high --show-reachable=yes --log-file=memcheck.log out/Debug/run-tests TEST_NAME
$ valgrind --trace-children=yes -v --tool=memcheck --leak-check=full --track-origins=yes --leak-resolution=high --show-reachable=yes --log-file=memcheck-%p.log out/Debug/run-tests TEST_NAME
```

### Running benchmarks
Expand Down