webbuilder_pel7x64builder0
5 years ago
5 changed files with 374 additions and 0 deletions
@ -0,0 +1,33 @@ |
|||||||
|
From 443fef828092b315a207a194f5fe74e52e451996 Mon Sep 17 00:00:00 2001 |
||||||
|
From: Zuzana Svetlikova <zsvetlik@redhat.com> |
||||||
|
Date: Thu, 27 Apr 2017 14:25:42 +0200 |
||||||
|
Subject: [PATCH 1/3] Disable running gyp on shared deps |
||||||
|
|
||||||
|
--- |
||||||
|
Makefile | 7 +++---- |
||||||
|
1 file changed, 3 insertions(+), 4 deletions(-) |
||||||
|
|
||||||
|
diff --git a/Makefile b/Makefile |
||||||
|
index 3a343301d640bc7fd41e9680c74455bb260a950d..d2b9c13ee3e53d957ed32476e40fb09e41fcfded 100644 |
||||||
|
--- a/Makefile |
||||||
|
+++ b/Makefile |
||||||
|
@@ -121,14 +121,13 @@ with-code-cache: |
||||||
|
|
||||||
|
.PHONY: test-code-cache |
||||||
|
test-code-cache: with-code-cache |
||||||
|
$(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) code-cache |
||||||
|
|
||||||
|
-out/Makefile: common.gypi deps/uv/uv.gyp deps/http_parser/http_parser.gyp \ |
||||||
|
- deps/zlib/zlib.gyp deps/v8/gypfiles/toolchain.gypi \ |
||||||
|
- deps/v8/gypfiles/features.gypi deps/v8/gypfiles/v8.gyp node.gyp \ |
||||||
|
- config.gypi |
||||||
|
+out/Makefile: common.gypi deps/http_parser/http_parser.gyp \ |
||||||
|
+ deps/v8/gypfiles/toolchain.gypi deps/v8/gypfiles/features.gypi \ |
||||||
|
+ deps/v8/gypfiles/v8.gyp node.gyp config.gypi |
||||||
|
$(PYTHON) tools/gyp_node.py -f make |
||||||
|
|
||||||
|
config.gypi: configure configure.py |
||||||
|
@if [ -x config.status ]; then \ |
||||||
|
./config.status; \ |
||||||
|
-- |
||||||
|
2.20.1 |
@ -0,0 +1,86 @@ |
|||||||
|
From 0fd4649d1943f45cb06bda6febdc7ffa7d5859b2 Mon Sep 17 00:00:00 2001 |
||||||
|
From: Stephen Gallagher <sgallagh@redhat.com> |
||||||
|
Date: Tue, 1 May 2018 08:05:30 -0400 |
||||||
|
Subject: [PATCH 2/3] Suppress NPM message to run global update |
||||||
|
|
||||||
|
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com> |
||||||
|
--- |
||||||
|
deps/npm/bin/npm-cli.js | 54 ----------------------------------------- |
||||||
|
1 file changed, 54 deletions(-) |
||||||
|
|
||||||
|
diff --git a/deps/npm/bin/npm-cli.js b/deps/npm/bin/npm-cli.js |
||||||
|
index 6f76b23828531e7af98a7e3cd7d5abfaac09b40c..98edb6f45fe073e03794a2ae6e7aa7f5500723ee 100755 |
||||||
|
--- a/deps/npm/bin/npm-cli.js |
||||||
|
+++ b/deps/npm/bin/npm-cli.js |
||||||
|
@@ -67,69 +67,15 @@ |
||||||
|
if (conf.usage && npm.command !== 'help') { |
||||||
|
npm.argv.unshift(npm.command) |
||||||
|
npm.command = 'help' |
||||||
|
} |
||||||
|
|
||||||
|
- var isGlobalNpmUpdate = conf.global && ['install', 'update'].includes(npm.command) && npm.argv.includes('npm') |
||||||
|
- |
||||||
|
// now actually fire up npm and run the command. |
||||||
|
// this is how to use npm programmatically: |
||||||
|
conf._exit = true |
||||||
|
npm.load(conf, function (er) { |
||||||
|
if (er) return errorHandler(er) |
||||||
|
- if ( |
||||||
|
- !isGlobalNpmUpdate && |
||||||
|
- npm.config.get('update-notifier') && |
||||||
|
- !unsupported.checkVersion(process.version).unsupported |
||||||
|
- ) { |
||||||
|
- const pkg = require('../package.json') |
||||||
|
- let notifier = require('update-notifier')({pkg}) |
||||||
|
- const isCI = require('ci-info').isCI |
||||||
|
- if ( |
||||||
|
- notifier.update && |
||||||
|
- notifier.update.latest !== pkg.version && |
||||||
|
- !isCI |
||||||
|
- ) { |
||||||
|
- const color = require('ansicolors') |
||||||
|
- const useColor = npm.config.get('color') |
||||||
|
- const useUnicode = npm.config.get('unicode') |
||||||
|
- const old = notifier.update.current |
||||||
|
- const latest = notifier.update.latest |
||||||
|
- let type = notifier.update.type |
||||||
|
- if (useColor) { |
||||||
|
- switch (type) { |
||||||
|
- case 'major': |
||||||
|
- type = color.red(type) |
||||||
|
- break |
||||||
|
- case 'minor': |
||||||
|
- type = color.yellow(type) |
||||||
|
- break |
||||||
|
- case 'patch': |
||||||
|
- type = color.green(type) |
||||||
|
- break |
||||||
|
- } |
||||||
|
- } |
||||||
|
- const changelog = `https://github.com/npm/cli/releases/tag/v${latest}` |
||||||
|
- notifier.notify({ |
||||||
|
- message: `New ${type} version of ${pkg.name} available! ${ |
||||||
|
- useColor ? color.red(old) : old |
||||||
|
- } ${useUnicode ? '→' : '->'} ${ |
||||||
|
- useColor ? color.green(latest) : latest |
||||||
|
- }\n` + |
||||||
|
- `${ |
||||||
|
- useColor ? color.yellow('Changelog:') : 'Changelog:' |
||||||
|
- } ${ |
||||||
|
- useColor ? color.cyan(changelog) : changelog |
||||||
|
- }\n` + |
||||||
|
- `Run ${ |
||||||
|
- useColor |
||||||
|
- ? color.green(`npm install -g ${pkg.name}`) |
||||||
|
- : `npm i -g ${pkg.name}` |
||||||
|
- } to update!` |
||||||
|
- }) |
||||||
|
- } |
||||||
|
- } |
||||||
|
npm.commands[npm.command](npm.argv, function (err) { |
||||||
|
// https://genius.com/Lin-manuel-miranda-your-obedient-servant-lyrics |
||||||
|
if ( |
||||||
|
!err && |
||||||
|
npm.config.get('ham-it-up') && |
||||||
|
-- |
||||||
|
2.20.1 |
@ -0,0 +1,117 @@ |
|||||||
|
From 7108faf1bbcd1e542cd4c34bb57e76432da754f4 Mon Sep 17 00:00:00 2001 |
||||||
|
From: Milad Farazmand <miladfar@ca.ibm.com> |
||||||
|
Date: Wed, 30 Jan 2019 19:08:06 +0000 |
||||||
|
Subject: [PATCH 3/3] deps: V8: cherry-pick d0468de |
||||||
|
|
||||||
|
Original commit message: |
||||||
|
|
||||||
|
[heap] Fix StoreBuffer setup. |
||||||
|
|
||||||
|
- Solves a problem for PPC in a configuration where commit page size |
||||||
|
is 64K. https://chromium-review.googlesource.com/c/v8/v8/+/1149515 |
||||||
|
- Uses existing VM allocation code to get properly aligned memory. |
||||||
|
- Makes sure the size for SetPermissions is a multiple of system page |
||||||
|
size. |
||||||
|
|
||||||
|
Bug:chromium:756050 |
||||||
|
|
||||||
|
Change-Id: Ib3799ab7a3bb44b0091c234234c1cc47938379c2 |
||||||
|
Reviewed-on: https://chromium-review.googlesource.com/1161210 |
||||||
|
Commit-Queue: Bill Budge <bbudge@chromium.org> |
||||||
|
Reviewed-by: Michael Lippautz <mlippautz@chromium.org> |
||||||
|
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> |
||||||
|
Cr-Commit-Position: refs/heads/master@{#54930} |
||||||
|
|
||||||
|
Refs: https://github.com/v8/v8/commit/d0468dede05fcd57b5a96d0fbfa117a76795fa58 |
||||||
|
--- |
||||||
|
common.gypi | 2 +- |
||||||
|
deps/v8/src/heap/store-buffer.cc | 28 +++++++++++++++++----------- |
||||||
|
2 files changed, 18 insertions(+), 12 deletions(-) |
||||||
|
|
||||||
|
diff --git a/common.gypi b/common.gypi |
||||||
|
index 0a4ed881a5b92514d3df88ffc74555931eb71b7c..1405183bf61dfbab8c8b18a6233a08a7a1ad62ec 100644 |
||||||
|
--- a/common.gypi |
||||||
|
+++ b/common.gypi |
||||||
|
@@ -31,11 +31,11 @@ |
||||||
|
# Default to -O0 for debug builds. |
||||||
|
'v8_optimized_debug%': 0, |
||||||
|
|
||||||
|
# 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.12', |
||||||
|
+ 'v8_embedder_string': '-node.13', |
||||||
|
|
||||||
|
# Enable disassembler for `--print-code` v8 options |
||||||
|
'v8_enable_disassembler': 1, |
||||||
|
|
||||||
|
# Don't bake anything extra into the snapshot. |
||||||
|
diff --git a/deps/v8/src/heap/store-buffer.cc b/deps/v8/src/heap/store-buffer.cc |
||||||
|
index d73e3235c158df27756eb719643f81822d2bd015..657aa9212a6153f3bd1c44e519a3c8c7064c62b4 100644 |
||||||
|
--- a/deps/v8/src/heap/store-buffer.cc |
||||||
|
+++ b/deps/v8/src/heap/store-buffer.cc |
||||||
|
@@ -28,46 +28,52 @@ StoreBuffer::StoreBuffer(Heap* heap) |
||||||
|
insertion_callback = &InsertDuringRuntime; |
||||||
|
deletion_callback = &DeleteDuringRuntime; |
||||||
|
} |
||||||
|
|
||||||
|
void StoreBuffer::SetUp() { |
||||||
|
- // Allocate 3x the buffer size, so that we can start the new store buffer |
||||||
|
- // aligned to 2x the size. This lets us use a bit test to detect the end of |
||||||
|
- // the area. |
||||||
|
+ const size_t requested_size = kStoreBufferSize * kStoreBuffers; |
||||||
|
+ // Allocate buffer memory aligned at least to kStoreBufferSize. This lets us |
||||||
|
+ // use a bit test to detect the ends of the buffers. |
||||||
|
+ const size_t alignment = |
||||||
|
+ std::max<size_t>(kStoreBufferSize, AllocatePageSize()); |
||||||
|
+ void* hint = AlignedAddress(heap_->GetRandomMmapAddr(), alignment); |
||||||
|
VirtualMemory reservation; |
||||||
|
- if (!AllocVirtualMemory(kStoreBufferSize * 3, heap_->GetRandomMmapAddr(), |
||||||
|
- &reservation)) { |
||||||
|
+ if (!AlignedAllocVirtualMemory(requested_size, alignment, hint, |
||||||
|
+ &reservation)) { |
||||||
|
heap_->FatalProcessOutOfMemory("StoreBuffer::SetUp"); |
||||||
|
} |
||||||
|
+ |
||||||
|
Address start = reservation.address(); |
||||||
|
- start_[0] = reinterpret_cast<Address*>(::RoundUp(start, kStoreBufferSize)); |
||||||
|
+ const size_t allocated_size = reservation.size(); |
||||||
|
+ |
||||||
|
+ start_[0] = reinterpret_cast<Address*>(start); |
||||||
|
limit_[0] = start_[0] + (kStoreBufferSize / kPointerSize); |
||||||
|
start_[1] = limit_[0]; |
||||||
|
limit_[1] = start_[1] + (kStoreBufferSize / kPointerSize); |
||||||
|
|
||||||
|
- Address* vm_limit = reinterpret_cast<Address*>(start + reservation.size()); |
||||||
|
- |
||||||
|
+ // Sanity check the buffers. |
||||||
|
+ Address* vm_limit = reinterpret_cast<Address*>(start + allocated_size); |
||||||
|
USE(vm_limit); |
||||||
|
for (int i = 0; i < kStoreBuffers; i++) { |
||||||
|
DCHECK(reinterpret_cast<Address>(start_[i]) >= reservation.address()); |
||||||
|
DCHECK(reinterpret_cast<Address>(limit_[i]) >= reservation.address()); |
||||||
|
DCHECK(start_[i] <= vm_limit); |
||||||
|
DCHECK(limit_[i] <= vm_limit); |
||||||
|
DCHECK_EQ(0, reinterpret_cast<Address>(limit_[i]) & kStoreBufferMask); |
||||||
|
} |
||||||
|
|
||||||
|
- if (!reservation.SetPermissions(reinterpret_cast<Address>(start_[0]), |
||||||
|
- kStoreBufferSize * kStoreBuffers, |
||||||
|
+ // Set RW permissions only on the pages we use. |
||||||
|
+ const size_t used_size = RoundUp(requested_size, CommitPageSize()); |
||||||
|
+ if (!reservation.SetPermissions(start, used_size, |
||||||
|
PageAllocator::kReadWrite)) { |
||||||
|
heap_->FatalProcessOutOfMemory("StoreBuffer::SetUp"); |
||||||
|
} |
||||||
|
current_ = 0; |
||||||
|
top_ = start_[current_]; |
||||||
|
virtual_memory_.TakeControl(&reservation); |
||||||
|
} |
||||||
|
|
||||||
|
- |
||||||
|
void StoreBuffer::TearDown() { |
||||||
|
if (virtual_memory_.IsReserved()) virtual_memory_.Free(); |
||||||
|
top_ = nullptr; |
||||||
|
for (int i = 0; i < kStoreBuffers; i++) { |
||||||
|
start_[i] = nullptr; |
||||||
|
-- |
||||||
|
2.20.1 |
@ -0,0 +1,40 @@ |
|||||||
|
--- http_parser.gyp~ 2012-11-27 15:40:11.721398004 -0700 |
||||||
|
+++ http_parser.gyp 2012-11-27 15:40:11.721398004 -0700 |
||||||
|
@@ -12,7 +12,7 @@ |
||||||
|
# RuntimeLibrary MUST MATCH across the entire project |
||||||
|
'Debug': { |
||||||
|
'defines': [ 'DEBUG', '_DEBUG' ], |
||||||
|
- 'cflags': [ '-Wall', '-Wextra', '-O0', '-g', '-ftrapv' ], |
||||||
|
+ 'cflags': [ '-Wall', '-Wextra', '-g', '-ftrapv' ], |
||||||
|
'msvs_settings': { |
||||||
|
'VCCLCompilerTool': { |
||||||
|
'RuntimeLibrary': 1, # static debug |
||||||
|
@@ -21,7 +21,7 @@ |
||||||
|
}, |
||||||
|
'Release': { |
||||||
|
'defines': [ 'NDEBUG' ], |
||||||
|
- 'cflags': [ '-Wall', '-Wextra', '-O3' ], |
||||||
|
+ 'cflags': [ '-Wall', '-Wextra' ], |
||||||
|
'msvs_settings': { |
||||||
|
'VCCLCompilerTool': { |
||||||
|
'RuntimeLibrary': 0, # static release |
||||||
|
@@ -50,7 +50,8 @@ |
||||||
|
'targets': [ |
||||||
|
{ |
||||||
|
'target_name': 'http_parser', |
||||||
|
- 'type': 'static_library', |
||||||
|
+ 'type': 'shared_library', |
||||||
|
+ 'product_extension': 'so.2', |
||||||
|
'include_dirs': [ '.' ], |
||||||
|
'direct_dependent_settings': { |
||||||
|
'defines': [ 'HTTP_PARSER_STRICT=0' ], |
||||||
|
@@ -73,7 +74,8 @@ |
||||||
|
|
||||||
|
{ |
||||||
|
'target_name': 'http_parser_strict', |
||||||
|
- 'type': 'static_library', |
||||||
|
+ 'type': 'shared_library', |
||||||
|
+ 'product_extension': 'so.2', |
||||||
|
'include_dirs': [ '.' ], |
||||||
|
'direct_dependent_settings': { |
||||||
|
'defines': [ 'HTTP_PARSER_STRICT=1' ], |
@ -0,0 +1,98 @@ |
|||||||
|
From 335850f6b868d3411968cbf5a4d59fe619dee36f Mon Sep 17 00:00:00 2001 |
||||||
|
From: Nathaniel McCallum <npmccallum@redhat.com> |
||||||
|
Date: Thu, 6 Oct 2016 02:03:36 -0400 |
||||||
|
Subject: [PATCH] parser: HTTP_STATUS_MAP(XX) and enum http_status |
||||||
|
|
||||||
|
This patch provides an enum for the standardized HTTP status codes. |
||||||
|
Additionally, the HTTP_STATUS_MAP(XX) can be used for other purposes as |
||||||
|
well, such as code-to-name lookups and code-based switch statements. |
||||||
|
|
||||||
|
PR-URL: https://github.com/nodejs/http-parser/pull/337 |
||||||
|
Reviewed-By: Fedor Indutny <fedor@indutny.com> |
||||||
|
Reviewed-By: Brian White <mscdex@mscdex.net> |
||||||
|
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> |
||||||
|
--- |
||||||
|
http_parser.h | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
||||||
|
1 file changed, 70 insertions(+) |
||||||
|
|
||||||
|
diff --git a/http_parser.h b/http_parser.h |
||||||
|
index ea26394..45c72a0 100644 |
||||||
|
--- a/http_parser.h |
||||||
|
+++ b/http_parser.h |
||||||
|
@@ -90,6 +90,76 @@ typedef int (*http_data_cb) (http_parser*, const char *at, size_t length); |
||||||
|
typedef int (*http_cb) (http_parser*); |
||||||
|
|
||||||
|
|
||||||
|
+/* Status Codes */ |
||||||
|
+#define HTTP_STATUS_MAP(XX) \ |
||||||
|
+ XX(100, CONTINUE, Continue) \ |
||||||
|
+ XX(101, SWITCHING_PROTOCOLS, Switching Protocols) \ |
||||||
|
+ XX(102, PROCESSING, Processing) \ |
||||||
|
+ XX(200, OK, OK) \ |
||||||
|
+ XX(201, CREATED, Created) \ |
||||||
|
+ XX(202, ACCEPTED, Accepted) \ |
||||||
|
+ XX(203, NON_AUTHORITATIVE_INFORMATION, Non-Authoritative Information) \ |
||||||
|
+ XX(204, NO_CONTENT, No Content) \ |
||||||
|
+ XX(205, RESET_CONTENT, Reset Content) \ |
||||||
|
+ XX(206, PARTIAL_CONTENT, Partial Content) \ |
||||||
|
+ XX(207, MULTI_STATUS, Multi-Status) \ |
||||||
|
+ XX(208, ALREADY_REPORTED, Already Reported) \ |
||||||
|
+ XX(226, IM_USED, IM Used) \ |
||||||
|
+ XX(300, MULTIPLE_CHOICES, Multiple Choices) \ |
||||||
|
+ XX(301, MOVED_PERMANENTLY, Moved Permanently) \ |
||||||
|
+ XX(302, FOUND, Found) \ |
||||||
|
+ XX(303, SEE_OTHER, See Other) \ |
||||||
|
+ XX(304, NOT_MODIFIED, Not Modified) \ |
||||||
|
+ XX(305, USE_PROXY, Use Proxy) \ |
||||||
|
+ XX(307, TEMPORARY_REDIRECT, Temporary Redirect) \ |
||||||
|
+ XX(308, PERMANENT_REDIRECT, Permanent Redirect) \ |
||||||
|
+ XX(400, BAD_REQUEST, Bad Request) \ |
||||||
|
+ XX(401, UNAUTHORIZED, Unauthorized) \ |
||||||
|
+ XX(402, PAYMENT_REQUIRED, Payment Required) \ |
||||||
|
+ XX(403, FORBIDDEN, Forbidden) \ |
||||||
|
+ XX(404, NOT_FOUND, Not Found) \ |
||||||
|
+ XX(405, METHOD_NOT_ALLOWED, Method Not Allowed) \ |
||||||
|
+ XX(406, NOT_ACCEPTABLE, Not Acceptable) \ |
||||||
|
+ XX(407, PROXY_AUTHENTICATION_REQUIRED, Proxy Authentication Required) \ |
||||||
|
+ XX(408, REQUEST_TIMEOUT, Request Timeout) \ |
||||||
|
+ XX(409, CONFLICT, Conflict) \ |
||||||
|
+ XX(410, GONE, Gone) \ |
||||||
|
+ XX(411, LENGTH_REQUIRED, Length Required) \ |
||||||
|
+ XX(412, PRECONDITION_FAILED, Precondition Failed) \ |
||||||
|
+ XX(413, PAYLOAD_TOO_LARGE, Payload Too Large) \ |
||||||
|
+ XX(414, URI_TOO_LONG, URI Too Long) \ |
||||||
|
+ XX(415, UNSUPPORTED_MEDIA_TYPE, Unsupported Media Type) \ |
||||||
|
+ XX(416, RANGE_NOT_SATISFIABLE, Range Not Satisfiable) \ |
||||||
|
+ XX(417, EXPECTATION_FAILED, Expectation Failed) \ |
||||||
|
+ XX(421, MISDIRECTED_REQUEST, Misdirected Request) \ |
||||||
|
+ XX(422, UNPROCESSABLE_ENTITY, Unprocessable Entity) \ |
||||||
|
+ XX(423, LOCKED, Locked) \ |
||||||
|
+ XX(424, FAILED_DEPENDENCY, Failed Dependency) \ |
||||||
|
+ XX(426, UPGRADE_REQUIRED, Upgrade Required) \ |
||||||
|
+ XX(428, PRECONDITION_REQUIRED, Precondition Required) \ |
||||||
|
+ XX(429, TOO_MANY_REQUESTS, Too Many Requests) \ |
||||||
|
+ XX(431, REQUEST_HEADER_FIELDS_TOO_LARGE, Request Header Fields Too Large) \ |
||||||
|
+ XX(451, UNAVAILABLE_FOR_LEGAL_REASONS, Unavailable For Legal Reasons) \ |
||||||
|
+ XX(500, INTERNAL_SERVER_ERROR, Internal Server Error) \ |
||||||
|
+ XX(501, NOT_IMPLEMENTED, Not Implemented) \ |
||||||
|
+ XX(502, BAD_GATEWAY, Bad Gateway) \ |
||||||
|
+ XX(503, SERVICE_UNAVAILABLE, Service Unavailable) \ |
||||||
|
+ XX(504, GATEWAY_TIMEOUT, Gateway Timeout) \ |
||||||
|
+ XX(505, HTTP_VERSION_NOT_SUPPORTED, HTTP Version Not Supported) \ |
||||||
|
+ XX(506, VARIANT_ALSO_NEGOTIATES, Variant Also Negotiates) \ |
||||||
|
+ XX(507, INSUFFICIENT_STORAGE, Insufficient Storage) \ |
||||||
|
+ XX(508, LOOP_DETECTED, Loop Detected) \ |
||||||
|
+ XX(510, NOT_EXTENDED, Not Extended) \ |
||||||
|
+ XX(511, NETWORK_AUTHENTICATION_REQUIRED, Network Authentication Required) \ |
||||||
|
+ |
||||||
|
+enum http_status |
||||||
|
+ { |
||||||
|
+#define XX(num, name, string) HTTP_STATUS_##name = num, |
||||||
|
+ HTTP_STATUS_MAP(XX) |
||||||
|
+#undef XX |
||||||
|
+ }; |
||||||
|
+ |
||||||
|
+ |
||||||
|
/* Request Methods */ |
||||||
|
#define HTTP_METHOD_MAP(XX) \ |
||||||
|
XX(0, DELETE, DELETE) \ |
Loading…
Reference in new issue