Skip to content
This repository has been archived by the owner on Oct 16, 2021. It is now read-only.

Add s390/s390x Linux support to Node v6.x #58

Closed
wants to merge 48 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
81fd458
tools: improve js linter
mscdex Mar 10, 2016
b488b19
fs: optimize realpath using uv_fs_realpath()
jhamhader Apr 11, 2016
6275249
buffer: add Buffer.allocUnsafeSlow(size)
jasnell Mar 21, 2016
3fe204c
buffer: docs-only deprecate SlowBuffer
jasnell Mar 21, 2016
a0579c0
doc: minor copy improvement in buffer.markdown
jasnell Apr 12, 2016
69040d6
doc: add addaleax to collaborators
addaleax Apr 15, 2016
0f07116
doc: add santigimeno to collaborators
santigimeno Apr 15, 2016
0bf9a7c
doc: add iWuzHere to collaborators
imran-iq Apr 15, 2016
8c48a26
doc: add stefanmb to collaborators
stefanmb Apr 15, 2016
4a74fc9
doc: add domain postmortem
trevnorris Apr 11, 2016
f49a1d0
build: allow test-ci to run tests in parallel
jbergstroem Apr 15, 2016
9781667
zlib: Make the finish flush flag configurable
addaleax Apr 5, 2016
15f13cd
test,vm: enable strict mode for vm tests
Trott Apr 15, 2016
642076f
src: don't set non-primitive values on templates
bnoordhuis Apr 15, 2016
b95160d
test: move the debugger tests back to parallel
santigimeno Apr 15, 2016
88c35e7
doc: clarify fs.watch() and inodes on linux, os x
jorangreef Apr 7, 2016
eafd31a
tools,doc: parse types in braces everywhere
estliberitas Feb 20, 2016
b7f4b1b
process: fix incorrect usage of assert.fail()
Trott Apr 15, 2016
af4a380
deps: cherry-pick 1ef7487b from v8 upstream
mhdawson Apr 14, 2016
58561cf
tools: move message listener to worker objects
mscdex Apr 15, 2016
5c14d69
doc: native module reloading is not supported
bengl Apr 12, 2016
15d970d
test,repl: use deepStrictEqual for false-y values
Fishrock123 Apr 14, 2016
39d905e
node: make builtin libs available for `--eval`
addaleax Apr 15, 2016
ebc8c37
repl: keep the built-in modules non-enumerable
addaleax Apr 18, 2016
40a5761
doc: explain differences in console.assert between node and browsers
jasnell Apr 12, 2016
3641ca9
doc: fix broken references
gromnitsky Apr 13, 2016
64d36be
gitignore: ignore VS 2015 *.VC.opendb files
Apr 5, 2016
61886fa
gitignore: adding .vs/ directory to .gitignore
Apr 13, 2016
7097212
tools: fix license-builder.sh again for ICU
srl295 Apr 5, 2016
1d9451b
crypto: better error message for createHash
calvinmetcalf Apr 4, 2016
cf29b2f
doc: document intention and dangers of fs module Buffer API
seishun Apr 2, 2016
a974e85
doc: fix http response event, Agent#getName
mdouglass Apr 1, 2016
4c234df
doc: path.resolve ignores zero-length strings
igorklopov Mar 27, 2016
71801b7
doc: DCO anchor that doesn't change
williamkapke Apr 18, 2016
9a9beef
doc: replace functions with arrow functions
hiroppy Apr 14, 2016
c1d82ac
assert: respect assert.doesNotThrow message.
Aug 17, 2015
3160073
lib,test,tools: alignment on variable assignments
Trott Apr 16, 2016
ca69833
tools: lint for alignment of variable assignments
Trott Apr 16, 2016
dba245f
querystring: don't inherit from Object.prototype
mscdex Apr 5, 2016
e38bade
events: don't inherit from Object.prototype
mscdex Apr 7, 2016
c7fef3d
zlib: fix use after null when calling .close
lightsofapollo Mar 31, 2016
bf22c71
test: fix test-net-settimeout flakiness
santigimeno Apr 12, 2016
57f0595
test: fix flaky test-http-set-timeout-server
santigimeno Apr 15, 2016
7f14483
deps: update to http-parser 2.7.0
indutny Apr 19, 2016
9d4d529
http: skip body and next message of CONNECT res
indutny Apr 19, 2016
0ecc430
test: add test for responses to HTTP CONNECT req
slushie Apr 19, 2016
697790c
src: fix -Wunused-result warning in e38bade
thefourtheye Apr 19, 2016
58c594e
build: configuration changes to support s390/zLinux
gibfahn Apr 11, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ rules:
no-duplicate-case: 2
no-empty-character-class: 2
no-ex-assign: 2
no-extra-boolean-cast : 2
no-extra-boolean-cast: 2
no-extra-parens: [2, "functions"]
no-extra-semi: 2
no-func-assign: 2
Expand Down Expand Up @@ -86,7 +86,7 @@ rules:

# Custom rules in tools/eslint-rules
new-with-error: [2, "Error", "RangeError", "TypeError", "SyntaxError", "ReferenceError"]

align-multiline-assignment: 2

# Global scoped method and vars
globals:
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ _UpgradeReport_Files/
ipch/
*.sdf
*.opensdf
*.VC.opendb
.vs/

/config.mk
/config.gypi
Expand Down
1 change: 1 addition & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ to address, apply your changes in a separate commit and push that to your
feature branch. Post a comment in the pull request afterwards; GitHub does
not send out notifications when you add commits.

<a id="developers-certificate-of-origin"></a>
## Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:
Expand Down
536 changes: 287 additions & 249 deletions LICENSE

Large diffs are not rendered by default.

22 changes: 16 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,12 @@ PREFIX ?= /usr/local
FLAKY_TESTS ?= run
TEST_CI_ARGS ?=
STAGINGSERVER ?= node-www

OSTYPE := $(shell uname -s | tr '[A-Z]' '[a-z]')

ifdef JOBS
PARALLEL_ARGS = -j $(JOBS)
endif

ifdef QUICKCHECK
QUICKCHECK_ARG := --quickcheck
endif
Expand Down Expand Up @@ -168,7 +171,8 @@ test-all-valgrind: test-build
$(PYTHON) tools/test.py --mode=debug,release --valgrind

test-ci: | build-addons
$(PYTHON) tools/test.py -p tap --logfile test.tap --mode=release --flaky-tests=$(FLAKY_TESTS) \
$(PYTHON) tools/test.py $(PARALLEL_ARGS) -p tap --logfile test.tap \
--mode=release --flaky-tests=$(FLAKY_TESTS) \
$(TEST_CI_ARGS) addons message parallel sequential

test-release: test-build
Expand Down Expand Up @@ -603,8 +607,13 @@ bench-idle:
$(NODE) benchmark/idle_clients.js &

jslint:
$(NODE) tools/eslint/bin/eslint.js benchmark lib src test tools/doc \
tools/eslint-rules --rulesdir tools/eslint-rules
$(NODE) tools/jslint.js -J benchmark lib src test tools/doc \
tools/eslint-rules tools/jslint.js

jslint-ci:
$(NODE) tools/jslint.js $(PARALLEL_ARGS) -f tap -o test-eslint.tap \
benchmark lib src test tools/doc \
tools/eslint-rules tools/jslint.js

CPPLINT_EXCLUDE ?=
CPPLINT_EXCLUDE += src/node_lttng.cc
Expand Down Expand Up @@ -633,19 +642,20 @@ cpplint:

ifneq ("","$(wildcard tools/eslint/bin/eslint.js)")
lint: jslint cpplint
lint-ci: jslint-ci cpplint
else
lint:
@echo "Linting is not available through the source tarball."
@echo "Use the git repo instead:" \
"$ git clone https://github.com/nodejs/node.git"
endif

lint-ci: lint
endif

.PHONY: lint cpplint jslint bench clean docopen docclean doc dist distclean \
check uninstall install install-includes install-bin all staticlib \
dynamiclib test test-all test-addons build-addons website-upload pkg \
blog blogclean tar binary release-only bench-http-simple bench-idle \
bench-all bench bench-misc bench-array bench-buffer bench-net \
bench-http bench-fs bench-tls cctest run-ci test-v8 test-v8-intl \
test-v8-benchmarks test-v8-all v8 lint-ci bench-ci
test-v8-benchmarks test-v8-all v8 lint-ci bench-ci jslint-ci
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ information about the governance of the Node.js project, see

### Collaborators

* [addaleax](https://github.com/addaleax) - **Anna Henningsen** &lt;[email protected]&gt;
* [AndreasMadsen](https://github.com/AndreasMadsen) - **Andreas Madsen** &lt;[email protected]&gt;
* [benjamingr](https://github.com/benjamingr) - **Benjamin Gruenbaum** &lt;[email protected]&gt;
* [brendanashworth](https://github.com/brendanashworth) - **Brendan Ashworth** &lt;[email protected]&gt;
Expand All @@ -176,6 +177,7 @@ information about the governance of the Node.js project, see
* [geek](https://github.com/geek) - **Wyatt Preul** &lt;[email protected]&gt;
* [iarna](https://github.com/iarna) - **Rebecca Turner** &lt;[email protected]&gt;
* [isaacs](https://github.com/isaacs) - **Isaac Z. Schlueter** &lt;[email protected]&gt;
* [iWuzHere](https://github.com/iWuzHere) - **Imran Iqbal** &lt;[email protected]&gt;
* [jbergstroem](https://github.com/jbergstroem) - **Johan Bergström** &lt;[email protected]&gt;
* [joaocgreis](https://github.com/joaocgreis) - **João Reis** &lt;[email protected]&gt;
* [julianduque](https://github.com/julianduque) - **Julian Duque** &lt;[email protected]&gt;
Expand All @@ -196,9 +198,11 @@ information about the governance of the Node.js project, see
* [romankl](https://github.com/romankl) - **Roman Klauke** &lt;[email protected]&gt;
* [saghul](https://github.com/saghul) - **Saúl Ibarra Corretgé** &lt;[email protected]&gt;
* [sam-github](https://github.com/sam-github) - **Sam Roberts** &lt;[email protected]&gt;
* [santigimeno](https://github.com/santigimeno) - **Santiago Gimeno** &lt;[email protected]&gt;
* [seishun](https://github.com/seishun) - **Nikolai Vavilov** &lt;[email protected]&gt;
* [silverwind](https://github.com/silverwind) - **Roman Reiss** &lt;[email protected]&gt;
* [srl295](https://github.com/srl295) - **Steven R Loomis** &lt;[email protected]&gt;
* [stefanmb](https://github.com/stefanmb) - **Stefan Budeanu** &lt;[email protected]&gt;
* [targos](https://github.com/targos) - **Michaël Zasso** &lt;[email protected]&gt;
* [tellnes](https://github.com/tellnes) - **Christian Tellnes** &lt;[email protected]&gt;
* [thealphanerd](https://github.com/thealphanerd) - **Myles Borins** &lt;[email protected]&gt;
Expand Down
8 changes: 8 additions & 0 deletions benchmark/buffers/buffer-creation.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ const bench = common.createBenchmark(main, {
'fast-alloc',
'fast-alloc-fill',
'fast-allocUnsafe',
'slow-allocUnsafe',
'slow',
'buffer()'],
len: [10, 1024, 2048, 4096, 8192],
Expand Down Expand Up @@ -39,6 +40,13 @@ function main(conf) {
}
bench.end(n);
break;
case 'slow-allocUnsafe':
bench.start();
for (let i = 0; i < n * 1024; i++) {
Buffer.allocUnsafeSlow(len);
}
bench.end(n);
break;
case 'slow':
bench.start();
for (let i = 0; i < n * 1024; i++) {
Expand Down
8 changes: 7 additions & 1 deletion common.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,16 @@
['GENERATOR == "ninja" or OS== "mac"', {
'OBJ_DIR': '<(PRODUCT_DIR)/obj',
'V8_BASE': '<(PRODUCT_DIR)/libv8_base.a',
}, {
}],
['GENERATOR != "ninja" and OS!= "mac" and target_arch not in "s390 s390x"', {

'OBJ_DIR': '<(PRODUCT_DIR)/obj.target',
'V8_BASE': '<(PRODUCT_DIR)/obj.target/deps/v8/tools/gyp/libv8_base.a',
}],
['GENERATOR != "ninja" and OS!= "mac" and target_arch in "s390 s390x"', {
'OBJ_DIR': '<(PRODUCT_DIR)/obj.target',
'V8_BASE': '<(PRODUCT_DIR)/obj.target/deps/v8z/tools/gyp/libv8_base.a',
}],
['openssl_fips != ""', {
'OPENSSL_PRODUCT': 'libcrypto.a',
}, {
Expand Down
5 changes: 5 additions & 0 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -733,6 +733,11 @@ def configure_node(o):
else:
o['variables']['node_enable_v8_vtunejit'] = 'false'

if target_arch in ('s390', 's390x'):
o['variables']['v8_parent_path'] = 'deps/v8z'
else:
o['variables']['v8_parent_path'] = 'deps/v8'

if flavor in ('solaris', 'mac', 'linux', 'freebsd'):
use_dtrace = not options.without_dtrace
# Don't enable by default on linux and freebsd
Expand Down
4 changes: 2 additions & 2 deletions deps/http_parser/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,14 @@ PLATFORM ?= $(shell sh -c 'uname -s | tr "[A-Z]" "[a-z]"')
HELPER ?=
BINEXT ?=
ifeq (darwin,$(PLATFORM))
SONAME ?= libhttp_parser.2.6.2.dylib
SONAME ?= libhttp_parser.2.7.0.dylib
SOEXT ?= dylib
else ifeq (wine,$(PLATFORM))
CC = winegcc
BINEXT = .exe.so
HELPER = wine
else
SONAME ?= libhttp_parser.so.2.6.2
SONAME ?= libhttp_parser.so.2.7.0
SOEXT ?= so
endif

Expand Down
3 changes: 3 additions & 0 deletions deps/http_parser/http_parser.c
Original file line number Diff line number Diff line change
Expand Up @@ -1812,6 +1812,9 @@ size_t http_parser_execute (http_parser *parser,
case 0:
break;

case 2:
parser->upgrade = 1;

case 1:
parser->flags |= F_SKIPBODY;
break;
Expand Down
9 changes: 7 additions & 2 deletions deps/http_parser/http_parser.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ extern "C" {

/* Also update SONAME in the Makefile whenever you change these. */
#define HTTP_PARSER_VERSION_MAJOR 2
#define HTTP_PARSER_VERSION_MINOR 6
#define HTTP_PARSER_VERSION_PATCH 2
#define HTTP_PARSER_VERSION_MINOR 7
#define HTTP_PARSER_VERSION_PATCH 0

#include <sys/types.h>
#if defined(_WIN32) && !defined(__MINGW32__) && \
Expand Down Expand Up @@ -77,6 +77,11 @@ typedef struct http_parser_settings http_parser_settings;
* HEAD request which may contain 'Content-Length' or 'Transfer-Encoding:
* chunked' headers that indicate the presence of a body.
*
* Returning `2` from on_headers_complete will tell parser that it should not
* expect neither a body nor any futher responses on this connection. This is
* useful for handling responses to a CONNECT request which may not contain
* `Upgrade` or `Connection: upgrade` headers.
*
* http_data_cb does not return data chunks. It will be called arbitrarily
* many times for each string. E.G. you might get 10 callbacks for "on_url"
* each providing just a few characters more data.
Expand Down
Loading