webbuilder_pel7ppc64lebuilder0
5 years ago
16 changed files with 2050 additions and 0 deletions
@ -0,0 +1,235 @@
@@ -0,0 +1,235 @@
|
||||
# Copyright 2016 The Chromium Authors. All rights reserved. |
||||
# Use of this source code is governed by a BSD-style license that can be |
||||
# found in the LICENSE file. |
||||
|
||||
import("//build/config/linux/pkg_config.gni") |
||||
import("//build/shim_headers.gni") |
||||
|
||||
group("icu") { |
||||
public_deps = [ |
||||
":icui18n", |
||||
":icuuc", |
||||
] |
||||
} |
||||
|
||||
config("icu_config") { |
||||
defines = [ |
||||
"USING_SYSTEM_ICU=1", |
||||
"ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC", |
||||
] |
||||
} |
||||
|
||||
pkg_config("system_icui18n") { |
||||
packages = [ "icu-i18n" ] |
||||
} |
||||
|
||||
pkg_config("system_icuuc") { |
||||
packages = [ "icu-uc" ] |
||||
} |
||||
|
||||
source_set("icui18n") { |
||||
deps = [ |
||||
":icui18n_shim", |
||||
] |
||||
public_configs = [ |
||||
":icu_config", |
||||
":system_icui18n", |
||||
] |
||||
} |
||||
|
||||
source_set("icuuc") { |
||||
deps = [ |
||||
":icuuc_shim", |
||||
] |
||||
public_configs = [ |
||||
":icu_config", |
||||
":system_icuuc", |
||||
] |
||||
} |
||||
|
||||
shim_headers("icui18n_shim") { |
||||
root_path = "source/i18n" |
||||
headers = [ |
||||
# This list can easily be updated using the command below: |
||||
# find third_party/icu/source/i18n/unicode \ |
||||
# -iname '*.h' -printf '"%p",\n' | \ |
||||
# sed -e 's|third_party/icu/i18n/common/||' | sort -u |
||||
"unicode/alphaindex.h", |
||||
"unicode/basictz.h", |
||||
"unicode/calendar.h", |
||||
"unicode/choicfmt.h", |
||||
"unicode/coleitr.h", |
||||
"unicode/coll.h", |
||||
"unicode/compactdecimalformat.h", |
||||
"unicode/curramt.h", |
||||
"unicode/currpinf.h", |
||||
"unicode/currunit.h", |
||||
"unicode/datefmt.h", |
||||
"unicode/dcfmtsym.h", |
||||
"unicode/decimfmt.h", |
||||
"unicode/dtfmtsym.h", |
||||
"unicode/dtitvfmt.h", |
||||
"unicode/dtitvinf.h", |
||||
"unicode/dtptngen.h", |
||||
"unicode/dtrule.h", |
||||
"unicode/fieldpos.h", |
||||
"unicode/fmtable.h", |
||||
"unicode/format.h", |
||||
"unicode/fpositer.h", |
||||
"unicode/gender.h", |
||||
"unicode/gregocal.h", |
||||
"unicode/locdspnm.h", |
||||
"unicode/measfmt.h", |
||||
"unicode/measunit.h", |
||||
"unicode/measure.h", |
||||
"unicode/msgfmt.h", |
||||
"unicode/numfmt.h", |
||||
"unicode/numsys.h", |
||||
"unicode/plurfmt.h", |
||||
"unicode/plurrule.h", |
||||
"unicode/rbnf.h", |
||||
"unicode/rbtz.h", |
||||
"unicode/regex.h", |
||||
"unicode/region.h", |
||||
"unicode/reldatefmt.h", |
||||
"unicode/scientificnumberformatter.h", |
||||
"unicode/search.h", |
||||
"unicode/selfmt.h", |
||||
"unicode/simpletz.h", |
||||
"unicode/smpdtfmt.h", |
||||
"unicode/sortkey.h", |
||||
"unicode/stsearch.h", |
||||
"unicode/tblcoll.h", |
||||
"unicode/timezone.h", |
||||
"unicode/tmunit.h", |
||||
"unicode/tmutamt.h", |
||||
"unicode/tmutfmt.h", |
||||
"unicode/translit.h", |
||||
"unicode/tzfmt.h", |
||||
"unicode/tznames.h", |
||||
"unicode/tzrule.h", |
||||
"unicode/tztrans.h", |
||||
"unicode/ucal.h", |
||||
"unicode/ucol.h", |
||||
"unicode/ucoleitr.h", |
||||
"unicode/ucsdet.h", |
||||
"unicode/ucurr.h", |
||||
"unicode/udat.h", |
||||
"unicode/udateintervalformat.h", |
||||
"unicode/udatpg.h", |
||||
"unicode/udisplaycontext.h", |
||||
"unicode/ufieldpositer.h", |
||||
"unicode/uformattable.h", |
||||
"unicode/ugender.h", |
||||
"unicode/uldnames.h", |
||||
"unicode/ulocdata.h", |
||||
"unicode/umsg.h", |
||||
"unicode/unirepl.h", |
||||
"unicode/unum.h", |
||||
"unicode/unumsys.h", |
||||
"unicode/upluralrules.h", |
||||
"unicode/uregex.h", |
||||
"unicode/uregion.h", |
||||
"unicode/usearch.h", |
||||
"unicode/uspoof.h", |
||||
"unicode/utmscale.h", |
||||
"unicode/utrans.h", |
||||
"unicode/vtzone.h", |
||||
] |
||||
} |
||||
|
||||
shim_headers("icuuc_shim") { |
||||
root_path = "source/common" |
||||
headers = [ |
||||
# This list can easily be updated using the command below: |
||||
# find third_party/icu/source/common/unicode \ |
||||
# -iname '*.h' -printf '"%p",\n' | \ |
||||
# sed -e 's|third_party/icu/source/common/||' | sort -u |
||||
"unicode/appendable.h", |
||||
"unicode/brkiter.h", |
||||
"unicode/bytestream.h", |
||||
"unicode/bytestrie.h", |
||||
"unicode/bytestriebuilder.h", |
||||
"unicode/caniter.h", |
||||
"unicode/chariter.h", |
||||
"unicode/dbbi.h", |
||||
"unicode/docmain.h", |
||||
"unicode/dtintrv.h", |
||||
"unicode/enumset.h", |
||||
"unicode/errorcode.h", |
||||
"unicode/filteredbrk.h", |
||||
"unicode/icudataver.h", |
||||
"unicode/icuplug.h", |
||||
"unicode/idna.h", |
||||
"unicode/listformatter.h", |
||||
"unicode/localpointer.h", |
||||
"unicode/locid.h", |
||||
"unicode/messagepattern.h", |
||||
"unicode/normalizer2.h", |
||||
"unicode/normlzr.h", |
||||
"unicode/parseerr.h", |
||||
"unicode/parsepos.h", |
||||
"unicode/platform.h", |
||||
"unicode/ptypes.h", |
||||
"unicode/putil.h", |
||||
"unicode/rbbi.h", |
||||
"unicode/rep.h", |
||||
"unicode/resbund.h", |
||||
"unicode/schriter.h", |
||||
"unicode/std_string.h", |
||||
"unicode/strenum.h", |
||||
"unicode/stringpiece.h", |
||||
"unicode/stringtriebuilder.h", |
||||
"unicode/symtable.h", |
||||
"unicode/ubidi.h", |
||||
"unicode/ubrk.h", |
||||
"unicode/ucasemap.h", |
||||
"unicode/ucat.h", |
||||
"unicode/uchar.h", |
||||
"unicode/ucharstrie.h", |
||||
"unicode/ucharstriebuilder.h", |
||||
"unicode/uchriter.h", |
||||
"unicode/uclean.h", |
||||
"unicode/ucnv.h", |
||||
"unicode/ucnv_cb.h", |
||||
"unicode/ucnv_err.h", |
||||
"unicode/ucnvsel.h", |
||||
"unicode/uconfig.h", |
||||
"unicode/udata.h", |
||||
"unicode/uenum.h", |
||||
"unicode/uidna.h", |
||||
"unicode/uiter.h", |
||||
"unicode/ulistformatter.h", |
||||
"unicode/uloc.h", |
||||
"unicode/umachine.h", |
||||
"unicode/umisc.h", |
||||
"unicode/unifilt.h", |
||||
"unicode/unifunct.h", |
||||
"unicode/unimatch.h", |
||||
"unicode/uniset.h", |
||||
"unicode/unistr.h", |
||||
"unicode/unorm.h", |
||||
"unicode/unorm2.h", |
||||
"unicode/uobject.h", |
||||
"unicode/urename.h", |
||||
"unicode/urep.h", |
||||
"unicode/ures.h", |
||||
"unicode/uscript.h", |
||||
"unicode/uset.h", |
||||
"unicode/usetiter.h", |
||||
"unicode/ushape.h", |
||||
"unicode/usprep.h", |
||||
"unicode/ustring.h", |
||||
"unicode/ustringtrie.h", |
||||
"unicode/utext.h", |
||||
"unicode/utf.h", |
||||
"unicode/utf16.h", |
||||
"unicode/utf32.h", |
||||
"unicode/utf8.h", |
||||
"unicode/utf_old.h", |
||||
"unicode/utrace.h", |
||||
"unicode/utypes.h", |
||||
"unicode/uvernum.h", |
||||
"unicode/uversion.h", |
||||
] |
||||
} |
@ -0,0 +1,14 @@
@@ -0,0 +1,14 @@
|
||||
diff -up v8-4.10.91/Makefile.system_icu v8-4.10.91/Makefile |
||||
--- v8-4.10.91/Makefile.system_icu 2016-01-27 17:20:20.554136527 -0500 |
||||
+++ v8-4.10.91/Makefile 2016-01-27 17:21:03.377907390 -0500 |
||||
@@ -44,6 +44,10 @@ endif |
||||
ifdef component |
||||
GYPFLAGS += -Dcomponent=$(component) |
||||
endif |
||||
+# system_icu=on |
||||
+ifeq ($(system_icu), on) |
||||
+ GYPFLAGS += -Duse_system_icu=1 |
||||
+endif |
||||
# disassembler=on |
||||
ifeq ($(disassembler), on) |
||||
GYPFLAGS += -Dv8_enable_disassembler=1 |
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
diff -up v8-5.2.197/test/cctest/interpreter/generate-bytecode-expectations.cc.readdir v8-5.2.197/test/cctest/interpreter/generate-bytecode-expectations.cc |
||||
--- v8-5.2.197/test/cctest/interpreter/generate-bytecode-expectations.cc.readdir 2016-05-02 09:47:32.000000000 -0400 |
||||
+++ v8-5.2.197/test/cctest/interpreter/generate-bytecode-expectations.cc 2016-05-02 15:42:49.961046560 -0400 |
||||
@@ -20,6 +20,8 @@ |
||||
#include <dirent.h> |
||||
#endif |
||||
|
||||
+#include <errno.h> |
||||
+ |
||||
using v8::internal::interpreter::BytecodeExpectationsPrinter; |
||||
|
||||
#define REPORT_ERROR(MESSAGE) (((std::cerr << "ERROR: ") << MESSAGE) << '\n') |
||||
@@ -174,10 +176,12 @@ bool CollectGoldenFiles(std::vector<std: |
||||
DIR* directory = opendir(directory_path); |
||||
if (!directory) return false; |
||||
|
||||
- dirent entry_buffer; |
||||
dirent* entry; |
||||
|
||||
- while (readdir_r(directory, &entry_buffer, &entry) == 0 && entry) { |
||||
+ errno = 0; |
||||
+ entry = readdir(directory); |
||||
+ |
||||
+ while (errno != 0) { |
||||
if (StrEndsWith(entry->d_name, ".golden")) { |
||||
std::string golden_filename(kGoldenFilesPath); |
||||
golden_filename += entry->d_name; |
@ -0,0 +1,16 @@
@@ -0,0 +1,16 @@
|
||||
diff -up v8-5.2.258/Makefile.bb v8-5.2.258/Makefile |
||||
--- v8-5.2.258/Makefile.bb 2016-10-10 14:57:17.275968725 -0400 |
||||
+++ v8-5.2.258/Makefile 2016-10-10 14:58:37.012406994 -0400 |
||||
@@ -37,6 +37,12 @@ NACL_SDK_ROOT ?= |
||||
|
||||
# Special build flags. Use them like this: "make library=shared" |
||||
|
||||
+# bundledbinutils=off |
||||
+ifeq ($(bundledbinutils), off) |
||||
+ GYPFLAGS += -Dlinux_use_bundled_binutils=0 |
||||
+else |
||||
+ GYPFLAGS += -Dlinux_use_bundled_binutils=1 |
||||
+endif |
||||
# library=shared || component=shared_library |
||||
ifeq ($(library), shared) |
||||
GYPFLAGS += -Dcomponent=shared_library |
@ -0,0 +1,119 @@
@@ -0,0 +1,119 @@
|
||||
diff -up v8-5.2.258/samples/shell.cc.gcc7 v8-5.2.258/samples/shell.cc |
||||
--- v8-5.2.258/samples/shell.cc.gcc7 2017-02-28 15:33:38.931424708 -0500 |
||||
+++ v8-5.2.258/samples/shell.cc 2017-02-28 15:34:00.759853299 -0500 |
||||
@@ -361,6 +361,8 @@ bool ExecuteString(v8::Isolate* isolate, |
||||
} else { |
||||
v8::Local<v8::Value> result; |
||||
if (!script->Run(context).ToLocal(&result)) { |
||||
+#pragma GCC diagnostic push |
||||
+#pragma GCC diagnostic ignored "-Wgnu" |
||||
assert(try_catch.HasCaught()); |
||||
// Print errors that happened during execution. |
||||
if (report_exceptions) |
||||
@@ -368,6 +370,7 @@ bool ExecuteString(v8::Isolate* isolate, |
||||
return false; |
||||
} else { |
||||
assert(!try_catch.HasCaught()); |
||||
+#pragma GCC diagnostic pop |
||||
if (print_result && !result->IsUndefined()) { |
||||
// If all went well and the result wasn't undefined then print |
||||
// the returned value. |
||||
diff -up v8-5.2.258/src/crankshaft/lithium.cc.gcc7 v8-5.2.258/src/crankshaft/lithium.cc |
||||
--- v8-5.2.258/src/crankshaft/lithium.cc.gcc7 2016-05-09 10:28:43.000000000 -0400 |
||||
+++ v8-5.2.258/src/crankshaft/lithium.cc 2017-02-28 14:42:17.188361709 -0500 |
||||
@@ -128,11 +128,6 @@ void LOperand::PrintTo(StringStream* str |
||||
|
||||
|
||||
template<LOperand::Kind kOperandKind, int kNumCachedOperands> |
||||
-LSubKindOperand<kOperandKind, kNumCachedOperands>* |
||||
-LSubKindOperand<kOperandKind, kNumCachedOperands>::cache = NULL; |
||||
- |
||||
- |
||||
-template<LOperand::Kind kOperandKind, int kNumCachedOperands> |
||||
void LSubKindOperand<kOperandKind, kNumCachedOperands>::SetUpCache() { |
||||
if (cache) return; |
||||
cache = new LSubKindOperand[kNumCachedOperands]; |
||||
diff -up v8-5.2.258/src/crankshaft/lithium.h.gcc7 v8-5.2.258/src/crankshaft/lithium.h |
||||
--- v8-5.2.258/src/crankshaft/lithium.h.gcc7 2016-05-09 10:28:43.000000000 -0400 |
||||
+++ v8-5.2.258/src/crankshaft/lithium.h 2017-02-28 14:42:17.188361709 -0500 |
||||
@@ -338,6 +338,9 @@ class LSubKindOperand final : public LOp |
||||
explicit LSubKindOperand(int index) : LOperand(kOperandKind, index) { } |
||||
}; |
||||
|
||||
+template<LOperand::Kind kOperandKind, int kNumCachedOperands> |
||||
+LSubKindOperand<kOperandKind, kNumCachedOperands>* |
||||
+LSubKindOperand<kOperandKind, kNumCachedOperands>::cache = NULL; |
||||
|
||||
#define LITHIUM_TYPEDEF_SUBKIND_OPERAND_CLASS(name, type, number) \ |
||||
typedef LSubKindOperand<LOperand::type, number> L##name; |
||||
diff -up v8-5.2.258/src/objects-body-descriptors.h.gcc7 v8-5.2.258/src/objects-body-descriptors.h |
||||
--- v8-5.2.258/src/objects-body-descriptors.h.gcc7 2016-05-09 10:28:43.000000000 -0400 |
||||
+++ v8-5.2.258/src/objects-body-descriptors.h 2017-02-28 14:42:17.189361685 -0500 |
||||
@@ -99,7 +99,7 @@ class FixedBodyDescriptor final : public |
||||
|
||||
template <typename StaticVisitor> |
||||
static inline void IterateBody(HeapObject* obj, int object_size) { |
||||
- IterateBody(obj); |
||||
+ IterateBody<StaticVisitor>(obj); |
||||
} |
||||
}; |
||||
|
||||
diff -up v8-5.2.258/src/objects.h.gcc7 v8-5.2.258/src/objects.h |
||||
--- v8-5.2.258/src/objects.h.gcc7 2016-05-09 10:28:43.000000000 -0400 |
||||
+++ v8-5.2.258/src/objects.h 2017-02-28 14:42:17.190361661 -0500 |
||||
@@ -3182,22 +3182,10 @@ class HashTableBase : public FixedArray |
||||
template <typename Derived, typename Shape, typename Key> |
||||
class HashTable : public HashTableBase { |
||||
public: |
||||
- // Wrapper methods |
||||
- inline uint32_t Hash(Key key) { |
||||
- if (Shape::UsesSeed) { |
||||
- return Shape::SeededHash(key, GetHeap()->HashSeed()); |
||||
- } else { |
||||
- return Shape::Hash(key); |
||||
- } |
||||
- } |
||||
- |
||||
- inline uint32_t HashForObject(Key key, Object* object) { |
||||
- if (Shape::UsesSeed) { |
||||
- return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object); |
||||
- } else { |
||||
- return Shape::HashForObject(key, object); |
||||
- } |
||||
- } |
||||
+ // Wrapper methods. Defined in src/objects-inl.h |
||||
+ // to break a cycle with src/heap/heap.h. |
||||
+ inline uint32_t Hash(Key key); |
||||
+ inline uint32_t HashForObject(Key key, Object* object); |
||||
|
||||
// Returns a new HashTable object. |
||||
MUST_USE_RESULT static Handle<Derived> New( |
||||
diff -up v8-5.2.258/src/objects-inl.h.gcc7 v8-5.2.258/src/objects-inl.h |
||||
--- v8-5.2.258/src/objects-inl.h.gcc7 2016-05-09 10:28:43.000000000 -0400 |
||||
+++ v8-5.2.258/src/objects-inl.h 2017-02-28 14:42:17.191361638 -0500 |
||||
@@ -35,6 +35,25 @@ |
||||
namespace v8 { |
||||
namespace internal { |
||||
|
||||
+template <typename Derived, typename Shape, typename Key> |
||||
+uint32_t HashTable<Derived, Shape, Key>::Hash(Key key) { |
||||
+ if (Shape::UsesSeed) { |
||||
+ return Shape::SeededHash(key, GetHeap()->HashSeed()); |
||||
+ } else { |
||||
+ return Shape::Hash(key); |
||||
+ } |
||||
+} |
||||
+ |
||||
+template <typename Derived, typename Shape, typename Key> |
||||
+uint32_t HashTable<Derived, Shape, Key>::HashForObject(Key key, |
||||
+ Object* object) { |
||||
+ if (Shape::UsesSeed) { |
||||
+ return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object); |
||||
+ } else { |
||||
+ return Shape::HashForObject(key, object); |
||||
+ } |
||||
+} |
||||
+ |
||||
PropertyDetails::PropertyDetails(Smi* smi) { |
||||
value_ = smi->value(); |
||||
} |
@ -0,0 +1,21 @@
@@ -0,0 +1,21 @@
|
||||
diff -up v8-5.2.258/gypfiles/standalone.gypi.ppcfix v8-5.2.258/gypfiles/standalone.gypi |
||||
--- v8-5.2.258/gypfiles/standalone.gypi.ppcfix 2017-03-01 11:15:17.516268618 -0500 |
||||
+++ v8-5.2.258/gypfiles/standalone.gypi 2017-03-01 11:16:34.750282604 -0500 |
||||
@@ -225,7 +225,7 @@ |
||||
}, { |
||||
'v8_enable_gdbjit%': 0, |
||||
}], |
||||
- ['(OS=="linux" or OS=="mac") and (target_arch=="ia32" or target_arch=="x64") and \ |
||||
+ ['(OS=="linux" or OS=="mac") and (target_arch=="ia32" or target_arch=="x64" or target_arch=="ppc64le") and \ |
||||
(v8_target_arch!="x87" and v8_target_arch!="x32")', { |
||||
'clang%': 1, |
||||
}, { |
||||
@@ -735,7 +735,7 @@ |
||||
or v8_target_arch=="mips64el")', { |
||||
'cflags': [ '-Wshorten-64-to-32' ], |
||||
}], |
||||
- [ 'host_arch=="ppc64" and OS!="aix"', { |
||||
+ [ 'host_arch=="ppc64le" and OS!="aix" and clang==0', { |
||||
'cflags': [ '-mminimal-toc' ], |
||||
}], |
||||
[ 'visibility=="hidden" and v8_enable_backtrace==0', { |
@ -0,0 +1,15 @@
@@ -0,0 +1,15 @@
|
||||
diff -up v8-6.2.91/tools/gn/bootstrap/bootstrap.py.fabi11 v8-6.2.91/tools/gn/bootstrap/bootstrap.py |
||||
--- v8-6.2.91/tools/gn/bootstrap/bootstrap.py.fabi11 2018-02-19 17:11:22.650679128 -0500 |
||||
+++ v8-6.2.91/tools/gn/bootstrap/bootstrap.py 2018-02-19 17:11:46.579128407 -0500 |
||||
@@ -314,6 +314,11 @@ def write_gn_ninja(path, root_gen_dir, o |
||||
cflags = os.environ.get('CFLAGS', '').split() |
||||
cflags_cc = os.environ.get('CXXFLAGS', '').split() |
||||
ldflags = os.environ.get('LDFLAGS', '').split() |
||||
+ |
||||
+ # Work around GCC8 bug gcc#84286 |
||||
+ cflags.extend(['-fabi-version=11']) |
||||
+ cflags_cc.extend(['-fabi-version=11']) |
||||
+ |
||||
include_dirs = [root_gen_dir, SRC_ROOT] |
||||
libs = [] |
||||
|
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
diff -up v8-6.2.91/build/config/compiler/BUILD.gn.nolambda v8-6.2.91/build/config/compiler/BUILD.gn |
||||
--- v8-6.2.91/build/config/compiler/BUILD.gn.nolambda 2017-08-01 14:28:53.499913889 -0400 |
||||
+++ v8-6.2.91/build/config/compiler/BUILD.gn 2017-08-01 14:29:03.242607676 -0400 |
||||
@@ -1171,7 +1171,7 @@ config("default_warnings") { |
||||
"-Wno-address-of-packed-member", |
||||
|
||||
# TODO(hans): https://crbug.com/681136 |
||||
- "-Wno-unused-lambda-capture", |
||||
+ # "-Wno-unused-lambda-capture", |
||||
|
||||
# TODO(thakis ): https://crbug.com/683349 |
||||
"-Wno-user-defined-warnings", |
@ -0,0 +1,19 @@
@@ -0,0 +1,19 @@
|
||||
diff -up v8-6.2.91/build/config/compiler/BUILD.gn.oldclang v8-6.2.91/build/config/compiler/BUILD.gn |
||||
--- v8-6.2.91/build/config/compiler/BUILD.gn.oldclang 2017-08-31 21:05:13.342875120 -0400 |
||||
+++ v8-6.2.91/build/config/compiler/BUILD.gn 2017-08-31 21:05:40.092124090 -0400 |
||||
@@ -1168,13 +1168,13 @@ config("default_warnings") { |
||||
"-Wno-nonportable-include-path", |
||||
|
||||
# TODO(hans): https://crbug.com/637306 |
||||
- "-Wno-address-of-packed-member", |
||||
+ # "-Wno-address-of-packed-member", |
||||
|
||||
# TODO(hans): https://crbug.com/681136 |
||||
# "-Wno-unused-lambda-capture", |
||||
|
||||
# TODO(thakis ): https://crbug.com/683349 |
||||
- "-Wno-user-defined-warnings", |
||||
+ # "-Wno-user-defined-warnings", |
||||
] |
||||
} else if (use_xcode_clang && xcode_version_int >= 830) { |
||||
# This is necessary to allow a progressive transition from using xcode 8.0 |
@ -0,0 +1,28 @@
@@ -0,0 +1,28 @@
|
||||
diff -up v8-6.2.91/BUILD.gn.sover v8-6.2.91/BUILD.gn |
||||
--- v8-6.2.91/BUILD.gn.sover 2017-07-31 11:24:31.000000000 -0400 |
||||
+++ v8-6.2.91/BUILD.gn 2017-08-02 12:10:57.825931436 -0400 |
||||
@@ -2422,6 +2422,7 @@ v8_component("v8_libbase") { |
||||
|
||||
if (is_component_build) { |
||||
defines = [ "BUILDING_V8_BASE_SHARED" ] |
||||
+ output_extension = "so.6" |
||||
} |
||||
|
||||
if (is_posix) { |
||||
@@ -2532,6 +2533,7 @@ v8_component("v8_libplatform") { |
||||
|
||||
if (is_component_build) { |
||||
defines = [ "BUILDING_V8_PLATFORM_SHARED" ] |
||||
+ output_extension = "so.6" |
||||
} |
||||
|
||||
public_configs = [ ":libplatform_config" ] |
||||
@@ -2682,6 +2684,8 @@ if (is_component_build) { |
||||
"src/v8dll-main.cc", |
||||
] |
||||
|
||||
+ output_extension = "so.6" |
||||
+ |
||||
public_deps = [ |
||||
":v8_base", |
||||
":v8_maybe_snapshot", |
@ -0,0 +1,236 @@
@@ -0,0 +1,236 @@
|
||||
diff -Nru v8-6.7.17.orig/buildtools/third_party/libc++abi/trunk/src/cxa_default_handlers.cpp v8-6.7.17/buildtools/third_party/libc++abi/trunk/src/cxa_default_handlers.cpp |
||||
--- v8-6.7.17.orig/buildtools/third_party/libc++abi/trunk/src/cxa_default_handlers.cpp 2018-03-06 14:20:54.000000000 -0500 |
||||
+++ v8-6.7.17/buildtools/third_party/libc++abi/trunk/src/cxa_default_handlers.cpp 2018-05-07 11:01:44.464845299 -0400 |
||||
@@ -36,13 +36,10 @@ |
||||
{ |
||||
_Unwind_Exception* unwind_exception = |
||||
reinterpret_cast<_Unwind_Exception*>(exception_header + 1) - 1; |
||||
- bool native_exception = |
||||
- (unwind_exception->exception_class & get_vendor_and_language) == |
||||
- (kOurExceptionClass & get_vendor_and_language); |
||||
- if (native_exception) |
||||
+ if (__isOurExceptionClass(unwind_exception)) |
||||
{ |
||||
void* thrown_object = |
||||
- unwind_exception->exception_class == kOurDependentExceptionClass ? |
||||
+ __getExceptionClass(unwind_exception) == kOurDependentExceptionClass ? |
||||
((__cxa_dependent_exception*)exception_header)->primaryException : |
||||
exception_header + 1; |
||||
const __shim_type_info* thrown_type = |
||||
diff -Nru v8-6.7.17.orig/buildtools/third_party/libc++abi/trunk/src/cxa_exception.cpp v8-6.7.17/buildtools/third_party/libc++abi/trunk/src/cxa_exception.cpp |
||||
--- v8-6.7.17.orig/buildtools/third_party/libc++abi/trunk/src/cxa_exception.cpp 2018-03-06 14:20:54.000000000 -0500 |
||||
+++ v8-6.7.17/buildtools/third_party/libc++abi/trunk/src/cxa_exception.cpp 2018-05-07 11:01:44.472845276 -0400 |
||||
@@ -78,22 +78,37 @@ |
||||
alignof(__cxa_exception)); |
||||
} |
||||
|
||||
-static void setExceptionClass(_Unwind_Exception* unwind_exception) { |
||||
- unwind_exception->exception_class = kOurExceptionClass; |
||||
+void __setExceptionClass(_Unwind_Exception* unwind_exception, uint64_t newValue) { |
||||
+ ::memcpy(&unwind_exception->exception_class, &newValue, sizeof(newValue)); |
||||
+ } |
||||
+ |
||||
+ |
||||
+static void setOurExceptionClass(_Unwind_Exception* unwind_exception) { |
||||
+ __setExceptionClass(unwind_exception, kOurExceptionClass); |
||||
} |
||||
|
||||
static void setDependentExceptionClass(_Unwind_Exception* unwind_exception) { |
||||
- unwind_exception->exception_class = kOurDependentExceptionClass; |
||||
+ __setExceptionClass(unwind_exception, kOurDependentExceptionClass); |
||||
} |
||||
|
||||
// Is it one of ours? |
||||
-static bool isOurExceptionClass(const _Unwind_Exception* unwind_exception) { |
||||
- return (unwind_exception->exception_class & get_vendor_and_language) == |
||||
- (kOurExceptionClass & get_vendor_and_language); |
||||
+uint64_t __getExceptionClass(const _Unwind_Exception* unwind_exception) { |
||||
+// On x86 and some ARM unwinders, unwind_exception->exception_class is |
||||
+// a uint64_t. On other ARM unwinders, it is a char[8] |
||||
+// See: http://infocenter.arm.com/help/topic/com.arm.doc.ihi0038b/IHI0038B_ehabi.pdf |
||||
+// So we just copy it into a uint64_t to be sure. |
||||
+ uint64_t exClass; |
||||
+ ::memcpy(&exClass, &unwind_exception->exception_class, sizeof(exClass)); |
||||
+ return exClass; |
||||
+} |
||||
+ |
||||
+bool __isOurExceptionClass(const _Unwind_Exception* unwind_exception) { |
||||
+ return (__getExceptionClass(unwind_exception) & get_vendor_and_language) == |
||||
+ (kOurExceptionClass & get_vendor_and_language); |
||||
} |
||||
|
||||
static bool isDependentException(_Unwind_Exception* unwind_exception) { |
||||
- return (unwind_exception->exception_class & 0xFF) == 0x01; |
||||
+ return (__getExceptionClass(unwind_exception) & 0xFF) == 0x01; |
||||
} |
||||
|
||||
// This does not need to be atomic |
||||
@@ -248,7 +263,7 @@ |
||||
exception_header->terminateHandler = std::get_terminate(); |
||||
exception_header->exceptionType = tinfo; |
||||
exception_header->exceptionDestructor = dest; |
||||
- setExceptionClass(&exception_header->unwindHeader); |
||||
+ setOurExceptionClass(&exception_header->unwindHeader); |
||||
exception_header->referenceCount = 1; // This is a newly allocated exception, no need for thread safety. |
||||
globals->uncaughtExceptions += 1; // Not atomically, since globals are thread-local |
||||
|
||||
@@ -299,7 +314,7 @@ |
||||
__cxa_exception* exception_header = |
||||
cxa_exception_from_exception_unwind_exception(unwind_exception); |
||||
|
||||
- if (isOurExceptionClass(unwind_exception)) |
||||
+ if (__isOurExceptionClass(unwind_exception)) |
||||
{ |
||||
if (0 == exception_header->propagationCount) |
||||
{ |
||||
@@ -342,7 +357,7 @@ |
||||
std::terminate(); |
||||
} |
||||
|
||||
- if (isOurExceptionClass(&exception_header->unwindHeader)) |
||||
+ if (__isOurExceptionClass(&exception_header->unwindHeader)) |
||||
{ |
||||
--exception_header->propagationCount; |
||||
if (0 == exception_header->propagationCount) |
||||
@@ -407,7 +422,7 @@ |
||||
__cxa_begin_catch(void* unwind_arg) throw() |
||||
{ |
||||
_Unwind_Exception* unwind_exception = static_cast<_Unwind_Exception*>(unwind_arg); |
||||
- bool native_exception = isOurExceptionClass(unwind_exception); |
||||
+ bool native_exception = __isOurExceptionClass(unwind_exception); |
||||
__cxa_eh_globals* globals = __cxa_get_globals(); |
||||
// exception_header is a hackish offset from a foreign exception, but it |
||||
// works as long as we're careful not to try to access any __cxa_exception |
||||
@@ -484,7 +499,7 @@ |
||||
// nothing more to be done. Do nothing! |
||||
if (NULL != exception_header) |
||||
{ |
||||
- bool native_exception = isOurExceptionClass(&exception_header->unwindHeader); |
||||
+ bool native_exception = __isOurExceptionClass(&exception_header->unwindHeader); |
||||
if (native_exception) |
||||
{ |
||||
// This is a native exception |
||||
@@ -549,7 +564,7 @@ |
||||
__cxa_exception *exception_header = globals->caughtExceptions; |
||||
if (NULL == exception_header) |
||||
return NULL; // No current exception |
||||
- if (!isOurExceptionClass(&exception_header->unwindHeader)) |
||||
+ if (!__isOurExceptionClass(&exception_header->unwindHeader)) |
||||
return NULL; |
||||
return exception_header->exceptionType; |
||||
} |
||||
@@ -571,7 +586,7 @@ |
||||
__cxa_exception* exception_header = globals->caughtExceptions; |
||||
if (NULL == exception_header) |
||||
std::terminate(); // throw; called outside of a exception handler |
||||
- bool native_exception = isOurExceptionClass(&exception_header->unwindHeader); |
||||
+ bool native_exception = __isOurExceptionClass(&exception_header->unwindHeader); |
||||
if (native_exception) |
||||
{ |
||||
// Mark the exception as being rethrown (reverse the effects of __cxa_begin_catch) |
||||
@@ -660,7 +675,7 @@ |
||||
__cxa_exception* exception_header = globals->caughtExceptions; |
||||
if (NULL == exception_header) |
||||
return NULL; // No current exception |
||||
- if (!isOurExceptionClass(&exception_header->unwindHeader)) |
||||
+ if (!__isOurExceptionClass(&exception_header->unwindHeader)) |
||||
return NULL; // Can't capture a foreign exception (no way to refcount it) |
||||
if (isDependentException(&exception_header->unwindHeader)) { |
||||
__cxa_dependent_exception* dep_exception_header = |
||||
diff -Nru v8-6.7.17.orig/buildtools/third_party/libc++abi/trunk/src/cxa_exception.hpp v8-6.7.17/buildtools/third_party/libc++abi/trunk/src/cxa_exception.hpp |
||||
--- v8-6.7.17.orig/buildtools/third_party/libc++abi/trunk/src/cxa_exception.hpp 2018-03-06 14:20:54.000000000 -0500 |
||||
+++ v8-6.7.17/buildtools/third_party/libc++abi/trunk/src/cxa_exception.hpp 2018-05-07 13:09:05.371652989 -0400 |
||||
@@ -24,6 +24,17 @@ |
||||
static const uint64_t kOurDependentExceptionClass = 0x434C4E47432B2B01; // CLNGC++\1 |
||||
static const uint64_t get_vendor_and_language = 0xFFFFFFFFFFFFFF00; // mask for CLNGC++ |
||||
|
||||
+uint64_t __getExceptionClass (const _Unwind_Exception*); |
||||
+void __setExceptionClass ( _Unwind_Exception*, uint64_t); |
||||
+bool __isOurExceptionClass(const _Unwind_Exception*); |
||||
+ |
||||
+#if defined(__arm__) && defined(__GNUC__) |
||||
+// missing values from _Unwind_Reason_Code enum |
||||
+#define _URC_FATAL_PHASE2_ERROR ((_Unwind_Reason_Code)2) |
||||
+#define _URC_FATAL_PHASE1_ERROR ((_Unwind_Reason_Code)3) |
||||
+#define _URC_NORMAL_STOP ((_Unwind_Reason_Code)4) |
||||
+#endif |
||||
+ |
||||
struct _LIBCXXABI_HIDDEN __cxa_exception { |
||||
#if defined(__LP64__) || defined(_LIBCXXABI_ARM_EHABI) |
||||
// This is a new field to support C++ 0x exception_ptr. |
||||
diff -Nru v8-6.7.17.orig/buildtools/third_party/libc++abi/trunk/src/cxa_handlers.cpp v8-6.7.17/buildtools/third_party/libc++abi/trunk/src/cxa_handlers.cpp |
||||
--- v8-6.7.17.orig/buildtools/third_party/libc++abi/trunk/src/cxa_handlers.cpp 2018-03-06 14:20:54.000000000 -0500 |
||||
+++ v8-6.7.17/buildtools/third_party/libc++abi/trunk/src/cxa_handlers.cpp 2018-05-07 11:01:44.474845270 -0400 |
||||
@@ -89,10 +89,7 @@ |
||||
{ |
||||
_Unwind_Exception* unwind_exception = |
||||
reinterpret_cast<_Unwind_Exception*>(exception_header + 1) - 1; |
||||
- bool native_exception = |
||||
- (unwind_exception->exception_class & get_vendor_and_language) == |
||||
- (kOurExceptionClass & get_vendor_and_language); |
||||
- if (native_exception) |
||||
+ if (__isOurExceptionClass(unwind_exception)) |
||||
__terminate(exception_header->terminateHandler); |
||||
} |
||||
} |
||||
diff -Nru v8-6.7.17.orig/buildtools/third_party/libc++abi/trunk/src/cxa_personality.cpp v8-6.7.17/buildtools/third_party/libc++abi/trunk/src/cxa_personality.cpp |
||||
--- v8-6.7.17.orig/buildtools/third_party/libc++abi/trunk/src/cxa_personality.cpp 2018-03-06 14:20:54.000000000 -0500 |
||||
+++ v8-6.7.17/buildtools/third_party/libc++abi/trunk/src/cxa_personality.cpp 2018-05-07 15:08:40.666231128 -0400 |
||||
@@ -492,7 +492,7 @@ |
||||
// Even for foreign exceptions, the exception object is *probably* at unwind_exception + 1 |
||||
// Regardless, this library is prohibited from touching a foreign exception |
||||
void* adjustedPtr = unwind_exception + 1; |
||||
- if (unwind_exception->exception_class == kOurDependentExceptionClass) |
||||
+ if (__getExceptionClass(unwind_exception) == kOurDependentExceptionClass) |
||||
adjustedPtr = ((__cxa_dependent_exception*)adjustedPtr - 1)->primaryException; |
||||
return adjustedPtr; |
||||
} |
||||
@@ -1073,8 +1073,7 @@ |
||||
if (unwind_exception == 0 || context == 0) |
||||
return _URC_FATAL_PHASE1_ERROR; |
||||
|
||||
- bool native_exception = (unwind_exception->exception_class & get_vendor_and_language) == |
||||
- (kOurExceptionClass & get_vendor_and_language); |
||||
+ bool native_exception = __isOurExceptionClass(unwind_exception); |
||||
|
||||
#if !defined(LIBCXXABI_USE_LLVM_UNWINDER) |
||||
// Copy the address of _Unwind_Control_Block to r12 so that |
||||
@@ -1085,7 +1084,7 @@ |
||||
|
||||
// Check the undocumented force unwinding behavior |
||||
bool is_force_unwinding = state & _US_FORCE_UNWIND; |
||||
- state &= ~_US_FORCE_UNWIND; |
||||
+ state = (_Unwind_State)(state & ~_US_FORCE_UNWIND); |
||||
|
||||
scan_results results; |
||||
switch (state) { |
||||
@@ -1178,9 +1177,7 @@ |
||||
if (unwind_exception == 0) |
||||
call_terminate(false, unwind_exception); |
||||
__cxa_begin_catch(unwind_exception); |
||||
- bool native_old_exception = |
||||
- (unwind_exception->exception_class & get_vendor_and_language) == |
||||
- (kOurExceptionClass & get_vendor_and_language); |
||||
+ bool native_old_exception = __isOurExceptionClass(unwind_exception); |
||||
std::unexpected_handler u_handler; |
||||
std::terminate_handler t_handler; |
||||
__cxa_exception* old_exception_header = 0; |
||||
@@ -1242,16 +1239,14 @@ |
||||
if (new_exception_header == 0) |
||||
// This shouldn't be able to happen! |
||||
std::__terminate(t_handler); |
||||
- bool native_new_exception = |
||||
- (new_exception_header->unwindHeader.exception_class & get_vendor_and_language) == |
||||
- (kOurExceptionClass & get_vendor_and_language); |
||||
+ bool native_new_exception = __isOurExceptionClass(&new_exception_header->unwindHeader); |
||||
void* adjustedPtr; |
||||
if (native_new_exception && (new_exception_header != old_exception_header)) |
||||
{ |
||||
const __shim_type_info* excpType = |
||||
static_cast<const __shim_type_info*>(new_exception_header->exceptionType); |
||||
adjustedPtr = |
||||
- new_exception_header->unwindHeader.exception_class == kOurDependentExceptionClass ? |
||||
+ __getExceptionClass(&new_exception_header->unwindHeader) == kOurDependentExceptionClass ? |
||||
((__cxa_dependent_exception*)new_exception_header)->primaryException : |
||||
new_exception_header + 1; |
||||
if (!exception_spec_can_catch(ttypeIndex, classInfo, ttypeEncoding, |
@ -0,0 +1,335 @@
@@ -0,0 +1,335 @@
|
||||
diff -up v8-6.7.17/build/config/compiler/BUILD.gn.fixme v8-6.7.17/build/config/compiler/BUILD.gn |
||||
--- v8-6.7.17/build/config/compiler/BUILD.gn.fixme 2018-03-14 11:47:13.723221338 -0400 |
||||
+++ v8-6.7.17/build/config/compiler/BUILD.gn 2018-03-14 11:47:13.712221590 -0400 |
||||
@@ -185,7 +185,7 @@ config("compiler") { |
||||
ldflags = [] |
||||
defines = [] |
||||
configs = [] |
||||
- inputs = [] |
||||
+ # inputs = [] |
||||
|
||||
# System-specific flags. If your compiler flags apply to one of the |
||||
# categories here, add it to the associated file to keep this shared config |
||||
@@ -1278,6 +1278,9 @@ config("default_warnings") { |
||||
# [1] https://gcc.gnu.org/gcc-6/porting_to.html#this-cannot-be-null |
||||
# [2] https://crbug.com/784492#c13 |
||||
cflags += [ "-fno-delete-null-pointer-checks" ] |
||||
+ |
||||
+ # workaround tests |
||||
+ cflags += [ "-Wno-error=subobject-linkage" ] |
||||
} |
||||
} |
||||
|
||||
diff -up v8-6.7.17/src/base/file-utils.cc.fixme v8-6.7.17/src/base/file-utils.cc |
||||
--- v8-6.7.17/src/base/file-utils.cc.fixme 2018-03-06 13:58:16.000000000 -0500 |
||||
+++ v8-6.7.17/src/base/file-utils.cc 2018-03-14 11:47:12.586247445 -0400 |
||||
@@ -25,7 +25,7 @@ char* RelativePath(char** buffer, const |
||||
reinterpret_cast<char*>(calloc(path_separator + name_length + 2, 1)); |
||||
*buffer[0] = '\0'; |
||||
strncat(*buffer, exec_path, path_separator + 1); |
||||
- strncat(*buffer, name, name_length); |
||||
+ strncat(*buffer, name, name_length + 1); |
||||
} else { |
||||
*buffer = strdup(name); |
||||
} |
||||
diff -up v8-6.7.17/src/base/macros.h.fixme v8-6.7.17/src/base/macros.h |
||||
--- v8-6.7.17/src/base/macros.h.fixme 2018-03-06 13:58:16.000000000 -0500 |
||||
+++ v8-6.7.17/src/base/macros.h 2018-03-14 11:47:12.587247422 -0400 |
||||
@@ -102,7 +102,7 @@ V8_INLINE Dest bit_cast(Source const& so |
||||
static_assert(sizeof(Dest) == sizeof(Source), |
||||
"source and dest must be same size"); |
||||
Dest dest; |
||||
- memcpy(&dest, &source, sizeof(dest)); |
||||
+ memcpy(static_cast<void*>(&dest), &source, sizeof(dest)); |
||||
return dest; |
||||
} |
||||
|
||||
@@ -387,10 +387,10 @@ bool is_inbounds(float_t v) { |
||||
static_cast<float_t>(std::numeric_limits<int_t>::min()) - 1; |
||||
constexpr float_t kUpperBound = |
||||
static_cast<float_t>(std::numeric_limits<int_t>::max()) + 1; |
||||
- constexpr bool kLowerBoundIsMin = |
||||
+ constexpr bool kLowerBoundIsMin __attribute__((unused)) = |
||||
static_cast<biggest_int_t>(kLowerBound) == |
||||
static_cast<biggest_int_t>(std::numeric_limits<int_t>::min()); |
||||
- constexpr bool kUpperBoundIsMax = |
||||
+ constexpr bool kUpperBoundIsMax __attribute__((unused)) = |
||||
static_cast<biggest_int_t>(kUpperBound) == |
||||
static_cast<biggest_int_t>(std::numeric_limits<int_t>::max()); |
||||
return (kLowerBoundIsMin ? (kLowerBound <= v) : (kLowerBound < v)) && |
||||
diff -up v8-6.7.17/src/compiler/node-cache.cc.fixme v8-6.7.17/src/compiler/node-cache.cc |
||||
--- v8-6.7.17/src/compiler/node-cache.cc.fixme 2018-03-06 13:58:16.000000000 -0500 |
||||
+++ v8-6.7.17/src/compiler/node-cache.cc 2018-03-14 11:47:12.587247422 -0400 |
||||
@@ -38,7 +38,7 @@ bool NodeCache<Key, Hash, Pred>::Resize( |
||||
size_ *= 4; |
||||
size_t num_entries = size_ + kLinearProbe; |
||||
entries_ = zone->NewArray<Entry>(num_entries); |
||||
- memset(entries_, 0, sizeof(Entry) * num_entries); |
||||
+ memset(static_cast<void*>(entries_), 0, sizeof(Entry) * num_entries); |
||||
|
||||
// Insert the old entries into the new block. |
||||
for (size_t i = 0; i < old_size; ++i) { |
||||
@@ -69,7 +69,7 @@ Node** NodeCache<Key, Hash, Pred>::Find( |
||||
size_t num_entries = kInitialSize + kLinearProbe; |
||||
entries_ = zone->NewArray<Entry>(num_entries); |
||||
size_ = kInitialSize; |
||||
- memset(entries_, 0, sizeof(Entry) * num_entries); |
||||
+ memset(static_cast<void*>(entries_), 0, sizeof(Entry) * num_entries); |
||||
Entry* entry = &entries_[hash & (kInitialSize - 1)]; |
||||
entry->key_ = key; |
||||
return &entry->value_; |
||||
diff -up v8-6.7.17/src/compiler/simd-scalar-lowering.cc.fixme v8-6.7.17/src/compiler/simd-scalar-lowering.cc |
||||
--- v8-6.7.17/src/compiler/simd-scalar-lowering.cc.fixme 2018-03-06 13:58:16.000000000 -0500 |
||||
+++ v8-6.7.17/src/compiler/simd-scalar-lowering.cc 2018-03-14 11:47:12.587247422 -0400 |
||||
@@ -38,7 +38,7 @@ SimdScalarLowering::SimdScalarLowering( |
||||
DCHECK_NOT_NULL(graph()); |
||||
DCHECK_NOT_NULL(graph()->end()); |
||||
replacements_ = zone()->NewArray<Replacement>(graph()->NodeCount()); |
||||
- memset(replacements_, 0, sizeof(Replacement) * graph()->NodeCount()); |
||||
+ memset(static_cast<void*>(replacements_), 0, sizeof(Replacement) * graph()->NodeCount()); |
||||
} |
||||
|
||||
void SimdScalarLowering::LowerGraph() { |
||||
diff -up v8-6.7.17/src/d8.cc.fixme v8-6.7.17/src/d8.cc |
||||
--- v8-6.7.17/src/d8.cc.fixme 2018-03-06 13:58:16.000000000 -0500 |
||||
+++ v8-6.7.17/src/d8.cc 2018-03-14 11:47:12.588247399 -0400 |
||||
@@ -2691,7 +2691,10 @@ void Worker::ExecuteInThread() { |
||||
if (Shell::DeserializeValue(isolate, std::move(data)) |
||||
.ToLocal(&value)) { |
||||
Local<Value> argv[] = {value}; |
||||
- (void)onmessage_fun->Call(context, global, 1, argv); |
||||
+ MaybeLocal<Value> result = onmessage_fun->Call(context, global, 1, argv); |
||||
+ if (result.IsEmpty()) { |
||||
+ Shell::ReportException(isolate, &try_catch); |
||||
+ } |
||||
} |
||||
if (try_catch.HasCaught()) { |
||||
Shell::ReportException(isolate, &try_catch); |
||||
diff -up v8-6.7.17/src/flags.cc.fixme v8-6.7.17/src/flags.cc |
||||
--- v8-6.7.17/src/flags.cc.fixme 2018-03-06 13:58:16.000000000 -0500 |
||||
+++ v8-6.7.17/src/flags.cc 2018-03-14 11:47:12.588247399 -0400 |
||||
@@ -557,6 +557,7 @@ static char* SkipBlackSpace(char* p) { |
||||
// static |
||||
int FlagList::SetFlagsFromString(const char* str, int len) { |
||||
// make a 0-terminated copy of str |
||||
+ assert(len > 0); |
||||
ScopedVector<char> copy0(len + 1); |
||||
MemCopy(copy0.start(), str, len); |
||||
copy0[len] = '\0'; |
||||
diff -up v8-6.7.17/src/frames.h.fixme v8-6.7.17/src/frames.h |
||||
--- v8-6.7.17/src/frames.h.fixme 2018-03-06 13:58:16.000000000 -0500 |
||||
+++ v8-6.7.17/src/frames.h 2018-03-14 11:47:12.589247376 -0400 |
||||
@@ -44,7 +44,7 @@ class InnerPointerToCodeCache { |
||||
} |
||||
|
||||
void Flush() { |
||||
- memset(&cache_[0], 0, sizeof(cache_)); |
||||
+ memset(static_cast<void*>(&cache_[0]), 0, sizeof(cache_)); |
||||
} |
||||
|
||||
InnerPointerToCodeCacheEntry* GetCacheEntry(Address inner_pointer); |
||||
diff -up v8-6.7.17/src/libplatform/tracing/trace-object.cc.fixme v8-6.7.17/src/libplatform/tracing/trace-object.cc |
||||
--- v8-6.7.17/src/libplatform/tracing/trace-object.cc.fixme 2018-03-06 13:58:16.000000000 -0500 |
||||
+++ v8-6.7.17/src/libplatform/tracing/trace-object.cc 2018-03-14 11:47:12.589247376 -0400 |
||||
@@ -25,7 +25,7 @@ V8_INLINE static void CopyTraceObjectPar |
||||
const char** member) { |
||||
if (*member) { |
||||
size_t length = strlen(*member) + 1; |
||||
- strncpy(*buffer, *member, length); |
||||
+ memcpy(*buffer, *member, length); |
||||
*member = *buffer; |
||||
*buffer += length; |
||||
} |
||||
diff -up v8-6.7.17/src/log.cc.fixme v8-6.7.17/src/log.cc |
||||
--- v8-6.7.17/src/log.cc.fixme 2018-03-06 13:58:16.000000000 -0500 |
||||
+++ v8-6.7.17/src/log.cc 2018-03-14 11:47:12.590247353 -0400 |
||||
@@ -531,7 +531,7 @@ void JitLogger::LogRecordedBuffer(Abstra |
||||
SharedFunctionInfo* shared, const char* name, |
||||
int length) { |
||||
JitCodeEvent event; |
||||
- memset(&event, 0, sizeof(event)); |
||||
+ memset(static_cast<void*>(&event), 0, sizeof(event)); |
||||
event.type = JitCodeEvent::CODE_ADDED; |
||||
event.code_start = code->instruction_start(); |
||||
event.code_len = code->instruction_size(); |
||||
@@ -548,7 +548,7 @@ void JitLogger::LogRecordedBuffer(Abstra |
||||
void JitLogger::LogRecordedBuffer(const InstructionStream* stream, |
||||
const char* name, int length) { |
||||
JitCodeEvent event; |
||||
- memset(&event, 0, sizeof(event)); |
||||
+ memset(static_cast<void*>(&event), 0, sizeof(event)); |
||||
event.type = JitCodeEvent::CODE_ADDED; |
||||
event.code_start = stream->bytes(); |
||||
event.code_len = stream->byte_length(); |
||||
@@ -562,7 +562,7 @@ void JitLogger::LogRecordedBuffer(const |
||||
void JitLogger::LogRecordedBuffer(wasm::WasmCode* code, const char* name, |
||||
int length) { |
||||
JitCodeEvent event; |
||||
- memset(&event, 0, sizeof(event)); |
||||
+ memset(static_cast<void*>(&event), 0, sizeof(event)); |
||||
event.type = JitCodeEvent::CODE_ADDED; |
||||
event.code_start = code->instructions().start(); |
||||
event.code_len = code->instructions().length(); |
||||
@@ -594,7 +594,7 @@ void JitLogger::AddCodeLinePosInfoEvent( |
||||
int position, |
||||
JitCodeEvent::PositionType position_type) { |
||||
JitCodeEvent event; |
||||
- memset(&event, 0, sizeof(event)); |
||||
+ memset(static_cast<void*>(&event), 0, sizeof(event)); |
||||
event.type = JitCodeEvent::CODE_ADD_LINE_POS_INFO; |
||||
event.user_data = jit_handler_data; |
||||
event.line_info.offset = pc_offset; |
||||
@@ -607,7 +607,7 @@ void JitLogger::AddCodeLinePosInfoEvent( |
||||
|
||||
void* JitLogger::StartCodePosInfoEvent() { |
||||
JitCodeEvent event; |
||||
- memset(&event, 0, sizeof(event)); |
||||
+ memset(static_cast<void*>(&event), 0, sizeof(event)); |
||||
event.type = JitCodeEvent::CODE_START_LINE_INFO_RECORDING; |
||||
|
||||
code_event_handler_(&event); |
||||
@@ -617,7 +617,7 @@ void* JitLogger::StartCodePosInfoEvent() |
||||
void JitLogger::EndCodePosInfoEvent(Address start_address, |
||||
void* jit_handler_data) { |
||||
JitCodeEvent event; |
||||
- memset(&event, 0, sizeof(event)); |
||||
+ memset(static_cast<void*>(&event), 0, sizeof(event)); |
||||
event.type = JitCodeEvent::CODE_END_LINE_INFO_RECORDING; |
||||
event.code_start = start_address; |
||||
event.user_data = jit_handler_data; |
||||
diff -up v8-6.7.17/src/parsing/parser-base.h.fixme v8-6.7.17/src/parsing/parser-base.h |
||||
--- v8-6.7.17/src/parsing/parser-base.h.fixme 2018-03-06 13:58:16.000000000 -0500 |
||||
+++ v8-6.7.17/src/parsing/parser-base.h 2018-03-14 11:47:12.591247330 -0400 |
||||
@@ -2163,7 +2163,8 @@ template <class Impl> |
||||
typename ParserBase<Impl>::ExpressionT ParserBase<Impl>::ParsePropertyName( |
||||
IdentifierT* name, PropertyKind* kind, bool* is_generator, bool* is_get, |
||||
bool* is_set, bool* is_async, bool* is_computed_name, bool* ok) { |
||||
- DCHECK_EQ(*kind, PropertyKind::kNotSet); |
||||
+ PropertyKind kindns = PropertyKind::kNotSet; |
||||
+ DCHECK_EQ(*kind, kindns); |
||||
DCHECK(!*is_generator); |
||||
DCHECK(!*is_get); |
||||
DCHECK(!*is_set); |
||||
diff -up v8-6.7.17/src/wasm/wasm-module-builder.h.fixme v8-6.7.17/src/wasm/wasm-module-builder.h |
||||
diff -up v8-6.7.17/src/zone/zone-segment.cc.fixme v8-6.7.17/src/zone/zone-segment.cc |
||||
--- v8-6.7.17/src/zone/zone-segment.cc.fixme 2018-03-06 13:58:16.000000000 -0500 |
||||
+++ v8-6.7.17/src/zone/zone-segment.cc 2018-03-14 11:47:12.591247330 -0400 |
||||
@@ -15,7 +15,7 @@ void Segment::ZapContents() { |
||||
|
||||
void Segment::ZapHeader() { |
||||
#ifdef DEBUG |
||||
- memset(this, kZapDeadByte, sizeof(Segment)); |
||||
+ memset(static_cast<void*>(this), kZapDeadByte, sizeof(Segment)); |
||||
#endif |
||||
} |
||||
|
||||
diff -up v8-6.7.17/test/cctest/compiler/graph-builder-tester.h.fixme v8-6.7.17/test/cctest/compiler/graph-builder-tester.h |
||||
--- v8-6.7.17/test/cctest/compiler/graph-builder-tester.h.fixme 2018-03-06 13:58:16.000000000 -0500 |
||||
+++ v8-6.7.17/test/cctest/compiler/graph-builder-tester.h 2018-03-14 11:47:12.591247330 -0400 |
||||
@@ -164,9 +164,6 @@ class GraphBuilderTester : public Handle |
||||
Node* ChangeUint32ToTagged(Node* a) { |
||||
return NewNode(simplified()->ChangeUint32ToTagged(), a); |
||||
} |
||||
- Node* ChangeFloat64ToTagged(Node* a) { |
||||
- return NewNode(simplified()->ChangeFloat64ToTagged(), a); |
||||
- } |
||||
Node* ChangeTaggedToBit(Node* a) { |
||||
return NewNode(simplified()->ChangeTaggedToBit(), a); |
||||
} |
||||
diff -up v8-6.7.17/test/cctest/interpreter/bytecode-expectations-printer.cc.fixme v8-6.7.17/test/cctest/interpreter/bytecode-expectations-printer.cc |
||||
--- v8-6.7.17/test/cctest/interpreter/bytecode-expectations-printer.cc.fixme 2018-03-06 13:58:16.000000000 -0500 |
||||
+++ v8-6.7.17/test/cctest/interpreter/bytecode-expectations-printer.cc 2018-03-14 11:47:12.591247330 -0400 |
||||
@@ -81,7 +81,8 @@ v8::Local<v8::Module> BytecodeExpectatio |
||||
} |
||||
|
||||
void BytecodeExpectationsPrinter::Run(v8::Local<v8::Script> script) const { |
||||
- (void)script->Run(isolate_->GetCurrentContext()); |
||||
+ Local<Value> result = script->Run(isolate_->GetCurrentContext()).ToLocalChecked(); |
||||
+ CHECK(!result.IsEmpty()); |
||||
} |
||||
|
||||
i::Handle<v8::internal::BytecodeArray> |
||||
diff -up v8-6.7.17/test/cctest/parsing/test-scanner-streams.cc.fixme v8-6.7.17/test/cctest/parsing/test-scanner-streams.cc |
||||
--- v8-6.7.17/test/cctest/parsing/test-scanner-streams.cc.fixme 2018-03-06 13:58:16.000000000 -0500 |
||||
+++ v8-6.7.17/test/cctest/parsing/test-scanner-streams.cc 2018-03-14 11:47:12.592247307 -0400 |
||||
@@ -194,7 +194,7 @@ TEST(Utf8ChunkBoundaries) { |
||||
for (size_t i = 1; i < len; i++) { |
||||
// Copy source string into buffer, splitting it at i. |
||||
// Then add three chunks, 0..i-1, i..strlen-1, empty. |
||||
- strncpy(buffer, unicode_utf8, i); |
||||
+ memcpy(buffer, unicode_utf8, i); |
||||
strncpy(buffer + i + 1, unicode_utf8 + i, len - i); |
||||
buffer[i] = '\0'; |
||||
buffer[len + 1] = '\0'; |
||||
@@ -220,8 +220,8 @@ TEST(Utf8SingleByteChunks) { |
||||
char buffer[arraysize(unicode_utf8) + 4]; |
||||
for (size_t i = 1; i < len - 1; i++) { |
||||
// Copy source string into buffer, make a single-byte chunk at i. |
||||
- strncpy(buffer, unicode_utf8, i); |
||||
- strncpy(buffer + i + 3, unicode_utf8 + i + 1, len - i - 1); |
||||
+ memcpy(buffer, unicode_utf8, i); |
||||
+ memcpy(buffer + i + 3, unicode_utf8 + i + 1, len - i - 1); |
||||
buffer[i] = '\0'; |
||||
buffer[i + 1] = unicode_utf8[i]; |
||||
buffer[i + 2] = '\0'; |
||||
diff -up v8-6.7.17/testing/gtest/include/gtest/internal/gtest-param-util.h.fixme v8-6.7.17/testing/gtest/include/gtest/internal/gtest-param-util.h |
||||
--- v8-6.7.17/testing/gtest/include/gtest/internal/gtest-param-util.h.fixme 2018-03-14 12:49:02.620027123 -0400 |
||||
+++ v8-6.7.17/testing/gtest/include/gtest/internal/gtest-param-util.h 2018-03-14 12:51:50.095577470 -0400 |
||||
@@ -34,6 +34,8 @@ |
||||
#ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_H_ |
||||
#define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_H_ |
||||
|
||||
+#pragma GCC diagnostic warning "-Wsubobject-linkage" |
||||
+ |
||||
#include <ctype.h> |
||||
|
||||
#include <iterator> |
||||
diff -up v8-6.7.17/test/unittests/base/functional-unittest.cc.fixme v8-6.7.17/test/unittests/base/functional-unittest.cc |
||||
--- v8-6.7.17/test/unittests/base/functional-unittest.cc.fixme 2018-03-06 13:58:17.000000000 -0500 |
||||
+++ v8-6.7.17/test/unittests/base/functional-unittest.cc 2018-03-14 11:47:12.592247307 -0400 |
||||
@@ -74,7 +74,9 @@ TYPED_TEST(FunctionalTest, EqualToImplie |
||||
this->rng()->NextBytes(values, sizeof(values)); |
||||
TRACED_FOREACH(TypeParam, v1, values) { |
||||
TRACED_FOREACH(TypeParam, v2, values) { |
||||
- if (e(v1, v2)) EXPECT_EQ(h(v1), h(v2)); |
||||
+ if (e(v1, v2)) { |
||||
+ EXPECT_EQ(h(v1), h(v2)); |
||||
+ } |
||||
} |
||||
} |
||||
} |
||||
@@ -143,7 +145,9 @@ TYPED_TEST(FunctionalTest, BitEqualToImp |
||||
this->rng()->NextBytes(&values, sizeof(values)); |
||||
TRACED_FOREACH(TypeParam, v1, values) { |
||||
TRACED_FOREACH(TypeParam, v2, values) { |
||||
- if (e(v1, v2)) EXPECT_EQ(h(v1), h(v2)); |
||||
+ if (e(v1, v2)) { |
||||
+ EXPECT_EQ(h(v1), h(v2)); |
||||
+ } |
||||
} |
||||
} |
||||
} |
||||
diff -up v8-6.7.17/test/unittests/detachable-vector-unittest.cc.fixme v8-6.7.17/test/unittests/detachable-vector-unittest.cc |
||||
--- v8-6.7.17/test/unittests/detachable-vector-unittest.cc.fixme 2018-03-06 13:58:17.000000000 -0500 |
||||
+++ v8-6.7.17/test/unittests/detachable-vector-unittest.cc 2018-03-14 11:47:12.592247307 -0400 |
||||
@@ -52,7 +52,7 @@ TEST(DetachableVector, DetachLeaksBackin |
||||
// Force allocation of the backing store. |
||||
v.push_back(1); |
||||
// Bit-copy the data structure. |
||||
- memcpy(&v2, &v, sizeof(DetachableVector<int>)); |
||||
+ memcpy(static_cast<void*>(&v2), &v, sizeof(DetachableVector<int>)); |
||||
// The backing store should be leaked here - free was not called. |
||||
v.detach(); |
||||
|
||||
diff -up v8-6.7.17/test/unittests/wasm/wasm-module-builder-unittest.cc.fixme v8-6.7.17/test/unittests/wasm/wasm-module-builder-unittest.cc |
||||
--- v8-6.7.17/test/unittests/wasm/wasm-module-builder-unittest.cc.fixme 2018-03-14 12:44:18.816950209 -0400 |
||||
+++ v8-6.7.17/test/unittests/wasm/wasm-module-builder-unittest.cc 2018-03-14 12:44:26.911778869 -0400 |
||||
@@ -28,7 +28,7 @@ TEST_F(WasmModuleBuilderTest, Regression |
||||
// Test crashed with asan. |
||||
ZoneBuffer buffer(zone()); |
||||
const size_t kSize = ZoneBuffer::kInitialSize * 3 + 4096 + 100; |
||||
- byte data[kSize]; |
||||
+ byte data[kSize] = {}; |
||||
buffer.write(data, kSize); |
||||
} |
||||
|
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
diff -up v8-6.7.17/build/config/compiler/BUILD.gn.memexhaust v8-6.7.17/build/config/compiler/BUILD.gn |
||||
--- v8-6.7.17/build/config/compiler/BUILD.gn.memexhaust 2018-03-15 10:19:59.313283572 -0400 |
||||
+++ v8-6.7.17/build/config/compiler/BUILD.gn 2018-03-15 10:20:09.750008452 -0400 |
||||
@@ -2010,7 +2010,7 @@ config("symbols") { |
||||
# [1] crrev.com/a81d5ade0b043208e06ad71a38bcf9c348a1a52f |
||||
cflags += [ "-gdwarf-3" ] |
||||
} |
||||
- cflags += [ "-g2" ] |
||||
+ cflags += [ "-g1" ] |
||||
} |
||||
if (use_debug_fission && !is_nacl) { |
||||
cflags += [ "-gsplit-dwarf" ] |
@ -0,0 +1,141 @@
@@ -0,0 +1,141 @@
|
||||
diff -up v8-6.7.17/build/toolchain/linux/BUILD.gn.notcross v8-6.7.17/build/toolchain/linux/BUILD.gn |
||||
--- v8-6.7.17/build/toolchain/linux/BUILD.gn.notcross 2018-03-06 14:20:53.000000000 -0500 |
||||
+++ v8-6.7.17/build/toolchain/linux/BUILD.gn 2018-03-06 14:37:22.505146107 -0500 |
||||
@@ -6,7 +6,6 @@ import("//build/config/sysroot.gni") |
||||
import("//build/toolchain/gcc_toolchain.gni") |
||||
|
||||
clang_toolchain("clang_arm") { |
||||
- toolprefix = "arm-linux-gnueabihf-" |
||||
toolchain_args = { |
||||
current_cpu = "arm" |
||||
current_os = "linux" |
||||
@@ -14,7 +13,6 @@ clang_toolchain("clang_arm") { |
||||
} |
||||
|
||||
clang_toolchain("clang_arm64") { |
||||
- toolprefix = "aarch64-linux-gnu-" |
||||
toolchain_args = { |
||||
current_cpu = "arm64" |
||||
current_os = "linux" |
||||
@@ -22,15 +20,13 @@ clang_toolchain("clang_arm64") { |
||||
} |
||||
|
||||
gcc_toolchain("arm64") { |
||||
- toolprefix = "aarch64-linux-gnu-" |
||||
- |
||||
- cc = "${toolprefix}gcc" |
||||
- cxx = "${toolprefix}g++" |
||||
+ cc = "gcc" |
||||
+ cxx = "g++" |
||||
|
||||
- ar = "${toolprefix}ar" |
||||
+ ar = "ar" |
||||
ld = cxx |
||||
- readelf = "${toolprefix}readelf" |
||||
- nm = "${toolprefix}nm" |
||||
+ readelf = "readelf" |
||||
+ nm = "nm" |
||||
|
||||
toolchain_args = { |
||||
current_cpu = "arm64" |
||||
@@ -40,15 +36,13 @@ gcc_toolchain("arm64") { |
||||
} |
||||
|
||||
gcc_toolchain("arm") { |
||||
- toolprefix = "arm-linux-gnueabihf-" |
||||
- |
||||
- cc = "${toolprefix}gcc" |
||||
- cxx = "${toolprefix}g++" |
||||
+ cc = "gcc" |
||||
+ cxx = "g++" |
||||
|
||||
- ar = "${toolprefix}ar" |
||||
+ ar = "ar" |
||||
ld = cxx |
||||
- readelf = "${toolprefix}readelf" |
||||
- nm = "${toolprefix}nm" |
||||
+ readelf = "readelf" |
||||
+ nm = "nm" |
||||
|
||||
toolchain_args = { |
||||
current_cpu = "arm" |
||||
@@ -178,14 +172,12 @@ clang_toolchain("clang_mips64el") { |
||||
} |
||||
|
||||
gcc_toolchain("mipsel") { |
||||
- toolprefix = "mipsel-linux-gnu-" |
||||
- |
||||
- cc = "${toolprefix}gcc" |
||||
- cxx = " ${toolprefix}g++" |
||||
- ar = "${toolprefix}ar" |
||||
+ cc = "gcc" |
||||
+ cxx = "g++" |
||||
+ ar = "ar" |
||||
ld = cxx |
||||
- readelf = "${toolprefix}readelf" |
||||
- nm = "${toolprefix}nm" |
||||
+ readelf = "readelf" |
||||
+ nm = "nm" |
||||
|
||||
toolchain_args = { |
||||
cc_wrapper = "" |
||||
@@ -197,14 +189,12 @@ gcc_toolchain("mipsel") { |
||||
} |
||||
|
||||
gcc_toolchain("mips64el") { |
||||
- toolprefix = "mips64el-linux-gnuabi64-" |
||||
- |
||||
- cc = "${toolprefix}gcc" |
||||
- cxx = "${toolprefix}g++" |
||||
- ar = "${toolprefix}ar" |
||||
+ cc = "gcc" |
||||
+ cxx = "g++" |
||||
+ ar = "ar" |
||||
ld = cxx |
||||
- readelf = "${toolprefix}readelf" |
||||
- nm = "${toolprefix}nm" |
||||
+ readelf = "readelf" |
||||
+ nm = "nm" |
||||
|
||||
toolchain_args = { |
||||
cc_wrapper = "" |
||||
@@ -248,14 +238,12 @@ gcc_toolchain("ppc64") { |
||||
} |
||||
|
||||
gcc_toolchain("mips") { |
||||
- toolprefix = "mips-linux-gnu-" |
||||
- |
||||
- cc = "${toolprefix}gcc" |
||||
- cxx = "${toolprefix}g++" |
||||
+ cc = "gcc" |
||||
+ cxx = "g++" |
||||
|
||||
- readelf = "${toolprefix}readelf" |
||||
- nm = "${toolprefix}nm" |
||||
- ar = "${toolprefix}ar" |
||||
+ readelf = "readelf" |
||||
+ nm = "nm" |
||||
+ ar = "ar" |
||||
ld = cxx |
||||
|
||||
toolchain_args = { |
||||
@@ -266,14 +254,12 @@ gcc_toolchain("mips") { |
||||
} |
||||
|
||||
gcc_toolchain("mips64") { |
||||
- toolprefix = "mips64-linux-gnuabi64-" |
||||
- |
||||
- cc = "${toolprefix}gcc" |
||||
- cxx = "${toolprefix}g++" |
||||
+ cc = "gcc" |
||||
+ cxx = "g++" |
||||
|
||||
- readelf = "${toolprefix}readelf" |
||||
- nm = "${toolprefix}nm" |
||||
- ar = "${toolprefix}ar" |
||||
+ readelf = "readelf" |
||||
+ nm = "nm" |
||||
+ ar = "ar" |
||||
ld = cxx |
||||
|
||||
toolchain_args = { |
@ -0,0 +1,21 @@
@@ -0,0 +1,21 @@
|
||||
diff -up v8-6.7.17/build/config/compiler/BUILD.gn.optflags v8-6.7.17/build/config/compiler/BUILD.gn |
||||
--- v8-6.7.17/build/config/compiler/BUILD.gn.optflags 2018-03-14 14:20:29.275684642 -0400 |
||||
+++ v8-6.7.17/build/config/compiler/BUILD.gn 2018-03-14 14:22:25.056966902 -0400 |
||||
@@ -1849,7 +1849,7 @@ config("optimize_speed") { |
||||
# "default_optimization", below. |
||||
configs = [ "//build/config/nacl:irt_optimize" ] |
||||
} else { |
||||
- ldflags = common_optimize_on_ldflags |
||||
+ ldflags = [ "$OPTLDFLAGS" ] + common_optimize_on_ldflags |
||||
if (is_win) { |
||||
# Favor speed over size, /O2 must be before the common flags. The GYP |
||||
# build also specifies /Ot, /Oi, and /GF, but these are implied by /O2. |
||||
@@ -1870,7 +1870,7 @@ config("optimize_speed") { |
||||
} else if (optimize_for_fuzzing) { |
||||
cflags = [ "-O1" ] + common_optimize_on_cflags |
||||
} else { |
||||
- cflags = [ "-O3" ] + common_optimize_on_cflags |
||||
+ cflags = [ "$OPTFLAGS" ] + common_optimize_on_cflags |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,799 @@
@@ -0,0 +1,799 @@
|
||||
# clang doesn't understand hardening, specifically "-specs=" |
||||
%global clang_optflags %(echo %{optflags} | sed 's|-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1||g') |
||||
%global clang_ldflags %(echo "%{__global_ldflags} -Wl,--build-id" | sed 's|-specs=/usr/lib/rpm/redhat/redhat-hardened-ld||g') |
||||
|
||||
# Hi Googlers! If you're looking in here for patches, nifty. |
||||
# You (and everyone else) are welcome to use any of my Chromium spec files and |
||||
# patches under the terms of the GPLv2 or later. |
||||
# You (and everyone else) are welcome to use any of my V8-specific spec files |
||||
# and patches under the terms of the BSD license. |
||||
# You (and everyone else) may NOT use my spec files or patches under any other |
||||
# terms. |
||||
# I hate to be a party-pooper here, but I really don't want to help Google |
||||
# make a proprietary browser. There are enough of those already. |
||||
# All copyrightable work in these spec files and patches is Copyright 2011 |
||||
# Tom Callaway <spot@fedoraproject.org> |
||||
|
||||
# For the 1.2 branch, we use 0s here |
||||
# For 1.3+, we use the three digit versions |
||||
# Hey, now there are four digits. What do they mean? Popsicle. |
||||
# Now there are three digits. Yeah. HOW ABOUT DEM APPLES?!? |
||||
%global somajor 6 |
||||
%global sominor 7 |
||||
%global sobuild 17 |
||||
%global sover %{somajor} |
||||
|
||||
Name: v8 |
||||
Version: %{somajor}.%{sominor}.%{sobuild} |
||||
Release: 7%{?dist} |
||||
Epoch: 1 |
||||
Summary: JavaScript Engine |
||||
Group: System Environment/Libraries |
||||
License: BSD |
||||
URL: https://chromium.googlesource.com/v8/v8/ |
||||
# To make the source, you need to have depot_tools installed and in your PATH |
||||
# https://chromium.googlesource.com/chromium/tools/depot_tools.git/+archive/7e7a454f9afdddacf63e10be48f0eab603be654e.tar.gz |
||||
# Note that the depot_tools tarball above does not unpack into its own directory. |
||||
# mkdir v8-tmp |
||||
# cd v8-tmp |
||||
# fetch v8 |
||||
# cd v8 |
||||
# git checkout 6.7.17 |
||||
# gclient sync |
||||
# cd .. |
||||
# mv v8 v8-6.7.17 |
||||
# tar -c --exclude=.git --exclude=build/linux -J -f v8-6.7.17.tar.xz v8-6.7.17 |
||||
Source0: v8-6.7.17.tar.xz |
||||
# https://chromium.googlesource.com/chromium/tools/depot_tools.git/+archive/7e7a454f9afdddacf63e10be48f0eab603be654e.tar.gz |
||||
Source1: depot_tools.git-master.tar.gz |
||||
# Taken from chromium-60.0.3112.78/build/linux/unbundle/icu.gn |
||||
Source2: icu.gn |
||||
# Needed to build gn. :P |
||||
# git clone https://chromium.googlesource.com/chromium/src/base |
||||
# tar cvfj chromium-base-git2d35e4d.tar.bz2 base/ |
||||
Source3: chromium-base-git2d35e4d.tar.bz2 |
||||
# git clone https://chromium.googlesource.com/chromium/src/tools/gn |
||||
# tar cvfj gn-source-gitf833e90.tar.bz2 gn/ |
||||
Source4: gn-source-gitf833e90.tar.bz2 |
||||
# Patch0: v8-4.10.91-system_icu.patch |
||||
# Patch2: v8-5.2.258-bundled-binutils.patch |
||||
Patch3: v8-5.2.258-gcc7.patch |
||||
Patch5: v8-6.2.91-nolambda.patch |
||||
Patch6: v8-6.2.91-sover.patch |
||||
# Patch7: v8-6.2.91-noxlocale.patch |
||||
# do not assume we are cross compiling |
||||
# silly google |
||||
Patch8: v8-6.7.17-notcross.patch |
||||
# On i686 and armv7hl, use -g1 to avoid mem exhaust |
||||
Patch9: v8-6.7.17-i686-g1-to-avoid-mem-exhaust.patch |
||||
# Fedora 25 and older need less flags |
||||
# and clang is not tolerant of flags it doesn't know about |
||||
Patch10: v8-6.2.91-oldclang-flags.patch |
||||
# Workaround gcc8 bug in gn |
||||
Patch11: v8-6.2.91-gcc8-gn-fabi11.patch |
||||
# So many gcc fixes |
||||
Patch12: v8-6.7.17-fixme.patch |
||||
# Use Fedora optflags |
||||
Patch13: v8-6.7.17-optflags.patch |
||||
# Reconcile libc++abi with unwind.h from gcc |
||||
# https://bugs.llvm.org/show_bug.cgi?id=35945 |
||||
# Modified patch from https://reviews.llvm.org/D42242 |
||||
Patch14: v8-6.7.17-fix-gcc-unwind-header.patch |
||||
|
||||
# PPC64 doesn't like libcxx code. |
||||
# error: '(9.223372036854775807e+18 / 1.0e+9)' is not a constant expression |
||||
# aarch64 doesn't work either. |
||||
# code does not compile on s390 |
||||
ExclusiveArch: %{ix86} x86_64 %{arm} ppc mipsel mips64el |
||||
BuildRequires: readline-devel, libicu-devel, ninja-build |
||||
BuildRequires: python2-devel, glib2-devel, libatomic |
||||
# BuildRequires: clang, llvm |
||||
BuildRequires: gcc, gcc-c++ |
||||
|
||||
%description |
||||
V8 is Google's open source JavaScript engine. V8 is written in C++ and is used |
||||
in Google Chrome, the open source browser from Google. V8 implements ECMAScript |
||||
as specified in ECMA-262, 3rd edition. |
||||
|
||||
%package devel |
||||
Group: Development/Libraries |
||||
Summary: Development headers and libraries for v8 |
||||
Requires: %{name} = %{epoch}:%{version}-%{release} |
||||
|
||||
%description devel |
||||
Development headers and libraries for v8. |
||||
|
||||
%package -n python2-v8 |
||||
%{?python_provide:%python_provide python2-v8} |
||||
# Remove before F30 |
||||
Provides: %{name}-python = %{version}-%{release} |
||||
Provides: %{name}-python%{?_isa} = %{version}-%{release} |
||||
Obsoletes: %{name}-python < %{version}-%{release} |
||||
Summary: Python libraries from v8 |
||||
Requires: %{name} = %{epoch}:%{version}-%{release} |
||||
|
||||
%description -n python2-v8 |
||||
Python libraries from v8. |
||||
|
||||
%prep |
||||
%setup -q -T -c -n depot_tools -a 1 |
||||
%setup -q -n %{name}-%{version} -a 3 |
||||
# %%patch0 -p1 -b .system_icu |
||||
# %%patch2 -p1 -b .bb |
||||
# %%patch3 -p1 -b .gcc7 |
||||
%patch5 -p1 -b .nolambda |
||||
%patch6 -p1 -b .sover |
||||
# %%patch7 -p1 -b .noxlocale |
||||
%patch8 -p1 -b .notcross |
||||
%ifarch i686 armv7hl |
||||
%patch9 -p1 -b .memexhaust |
||||
%endif |
||||
%if 0%{?fedora} <= 25 |
||||
%patch10 -p1 -b .oldflags |
||||
%endif |
||||
|
||||
cp -a %{SOURCE2} third_party/icu/BUILD.gn |
||||
|
||||
pushd tools |
||||
tar xvf %{SOURCE4} |
||||
popd |
||||
|
||||
%patch11 -p1 -b .fabi11 |
||||
%patch12 -p1 -b .fixme |
||||
%patch13 -p1 -b .optflags |
||||
%patch14 -p1 -b .unwind |
||||
|
||||
SPLITOPTFLAGS="" |
||||
for i in `echo %{optflags} | sed 's/ /\n/g'`; do |
||||
SPLITOPTFLAGS+="\"$i\", " |
||||
done |
||||
export SPLITOPTFLAGS |
||||
|
||||
SPLITLDFLAGS="" |
||||
for j in `echo %{build_ldflags} | sed 's/ /\n/g'`; do |
||||
SPLITLDFLAGS+="\"$j\", " |
||||
done |
||||
export SPLITLDFLAGS |
||||
|
||||
sed -i "s|\"\$OPTFLAGS\"|$SPLITOPTFLAGS|g" build/config/compiler/BUILD.gn |
||||
sed -i "s|\"\$OPTLDFLAGS\"|$SPLITLDFLAGS|g" build/config/compiler/BUILD.gn |
||||
|
||||
# Use system header ... except it doesn't work. |
||||
# rm -rf src/third_party/valgrind/valgrind.h |
||||
# ln -s /usr/include/valgrind/valgrind.h src/third_party/valgrind/valgrind.h |
||||
|
||||
# Don't make thin libraries. :( |
||||
for i in `find . -type f -name '*.mk'`; do sed -i 's|alink_thin|alink|g' $i; done |
||||
sed -i "s|'alink_thin'|'alink'|g" tools/gyp/pylib/gyp/generator/make.py |
||||
sed -i "s|'alink_thin'|'alink'|g" tools/gyp/pylib/gyp/generator/ninja.py |
||||
# sed -i "s|crsT|crs|g" out/Makefile |
||||
sed -i "s|crsT|crs|g" tools/gyp/pylib/gyp/generator/make.py |
||||
|
||||
|
||||
rm -rf third_party/binutils/Linux_x64/Release/bin/ld.gold |
||||
rm -rf third_party/llvm-build/Release+Asserts |
||||
mkdir -p third_party/llvm-build/Release+Asserts/bin |
||||
pushd third_party/llvm-build/Release+Asserts/bin |
||||
ln -s /usr/bin/clang clang |
||||
ln -s /usr/bin/clang++ clang++ |
||||
ln -s /usr/bin/llvm-ar llvm-ar |
||||
popd |
||||
|
||||
for i in `grep -rl "Wno-undefined-var-template" *`; do |
||||
sed -i 's|-Wno-undefined-var-template||g' $i |
||||
done |
||||
|
||||
# cleanup unversioned python parts |
||||
for i in `grep -r "/usr/bin/env python" * |grep -v "python3" |cut -d : -f 1`; do |
||||
sed -i 's|/usr/bin/env python|/usr/bin/env python2|g' $i |
||||
done |
||||
sed -i 's|exec python|exec python2|g' ../depot_tools/gn |
||||
sed -i 's|/usr/bin/env python|/usr/bin/env python2|g' ../depot_tools/gn.py |
||||
|
||||
%build |
||||
%ifarch x86_64 |
||||
%global v8arch x64 |
||||
%endif |
||||
%ifarch %{ix86} |
||||
%global v8arch x86 |
||||
%endif |
||||
%ifarch %{arm} |
||||
%global v8arch arm |
||||
%endif |
||||
%ifarch aarch64 |
||||
%global v8arch arm64 |
||||
%endif |
||||
%ifarch mipsel |
||||
%global v8arch mipsel |
||||
%endif |
||||
%ifarch mips64el |
||||
%global v8arch mips64el |
||||
%endif |
||||
%ifarch ppc |
||||
%global v8arch ppc |
||||
%endif |
||||
%ifarch ppc64 |
||||
%global v8arch ppc64 |
||||
%endif |
||||
%ifarch s390 |
||||
%global v8arch s390 |
||||
%endif |
||||
%ifarch s390x |
||||
%global v8arch s390x |
||||
%endif |
||||
|
||||
# DO THE HARLEM SHAKE |
||||
# err... I mean, build gn from source. |
||||
pushd tools/gn |
||||
./bootstrap/bootstrap.py -s |
||||
popd |
||||
rm -rf buildtools/linux64/gn* |
||||
# the tooling thinks all linux is "linux64" |
||||
cp -a out/Release/gn buildtools/linux64/gn |
||||
|
||||
# Replace ninja in depot_tools |
||||
rm -rf ../depot_tools/ninja |
||||
ln -s /usr/bin/ninja ../depot_tools/ninja |
||||
|
||||
V8_GN_DEFINES="" |
||||
V8_GN_DEFINES+=' use_sysroot=false use_gold=false enable_nacl=false linux_use_bundled_binutils=false is_component_build=true clang_use_chrome_plugins=false' |
||||
V8_GN_DEFINES+=' libcpp_is_static=true v8_use_external_startup_data=false' |
||||
V8_GN_DEFINES+=' v8_target_cpu="%{v8arch}"' |
||||
V8_GN_DEFINES+=' is_clang=false' |
||||
V8_GN_DEFINES+=' use_rtti=true' |
||||
%ifarch armv7hl armv7hnl |
||||
V8_GN_DEFINES+=' arm_float_abi="hard"' |
||||
%endif |
||||
%ifarch armv5tel armv6l armv7l |
||||
V8_GN_DEFINES+=' arm_float_abi="softfp"' |
||||
%endif |
||||
|
||||
export PATH=$PATH:%{_builddir}/depot_tools |
||||
CHROMIUM_BUILDTOOLS_PATH=./buildtools/ gn --script-executable=/usr/bin/python2 gen out.gn/%{v8arch}.release --args="$V8_GN_DEFINES" |
||||
mkdir -p out.gn/%{v8arch}.release/gen/shim_headers/icui18n_shim/third_party/icu/source/i18n/unicode |
||||
mkdir -p out.gn/%{v8arch}.release/gen/shim_headers/icuuc_shim/third_party/icu/source/common/unicode |
||||
../depot_tools/ninja -vvv -C out.gn/%{v8arch}.release |
||||
|
||||
%install |
||||
pushd out.gn/%{v8arch}.release |
||||
# library first |
||||
mkdir -p %{buildroot}%{_libdir} |
||||
cp -a libv8*.so.%{somajor} %{buildroot}%{_libdir} |
||||
# Next, binaries |
||||
mkdir -p %{buildroot}%{_bindir} |
||||
install -p -m0755 d8 %{buildroot}%{_bindir} |
||||
install -p -m0755 mksnapshot %{buildroot}%{_bindir} |
||||
# install -p -m0755 parser_fuzzer %{buildroot}%{_bindir} |
||||
%if 0 |
||||
# BLOBS! (Don't stress. They get built out of source code.) |
||||
install -p natives_blob.bin snapshot_blob.bin %{buildroot}%{_libdir} |
||||
%endif |
||||
popd |
||||
|
||||
# Now, headers |
||||
mkdir -p %{buildroot}%{_includedir} |
||||
install -p include/*.h %{buildroot}%{_includedir} |
||||
cp -a include/libplatform %{buildroot}%{_includedir} |
||||
# Are these still useful? |
||||
mkdir -p %{buildroot}%{_includedir}/v8/extensions/ |
||||
install -p src/extensions/*.h %{buildroot}%{_includedir}/v8/extensions/ |
||||
|
||||
# Make shared library links |
||||
pushd %{buildroot}%{_libdir} |
||||
ln -sf libv8.so.%{somajor} libv8.so |
||||
ln -sf libv8_libplatform.so.%{somajor} libv8_libplatform.so |
||||
ln -sf libv8_libbase.so.%{somajor} libv8_libbase.so |
||||
popd |
||||
|
||||
# install Python JS minifier scripts for nodejs |
||||
install -d %{buildroot}%{python2_sitelib} |
||||
sed -i 's|/usr/bin/python2.4|/usr/bin/env python2|g' tools/jsmin.py |
||||
sed -i 's|/usr/bin/python2.4|/usr/bin/env python2|g' tools/js2c.py |
||||
install -p -m0744 tools/jsmin.py %{buildroot}%{python2_sitelib}/ |
||||
install -p -m0744 tools/js2c.py %{buildroot}%{python2_sitelib}/ |
||||
chmod -R -x %{buildroot}%{python2_sitelib}/*.py* |
||||
|
||||
%post -p /sbin/ldconfig |
||||
|
||||
%postun -p /sbin/ldconfig |
||||
|
||||
%files |
||||
%license LICENSE |
||||
%doc AUTHORS ChangeLog |
||||
%{_bindir}/d8 |
||||
%{_bindir}/mksnapshot |
||||
%{_libdir}/*.so.* |
||||
%if 0 |
||||
%{_libdir}/*.bin |
||||
%endif |
||||
|
||||
%files devel |
||||
%{_includedir}/*.h |
||||
%{_includedir}/libplatform/ |
||||
%dir %{_includedir}/v8/ |
||||
%{_includedir}/v8/extensions/ |
||||
%{_libdir}/*.so |
||||
|
||||
%files -n python2-v8 |
||||
%{python2_sitelib}/j*.py* |
||||
|
||||
%changelog |
||||
* Tue Jul 24 2018 Tom Callaway <spot@fedoraproject.org> - 1:6.7.17-7 |
||||
- add use_rtti=true flag |
||||
- cleanup unversioned python bits |
||||
|
||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.7.17-6 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild |
||||
|
||||
* Tue Jul 10 2018 Pete Walter <pwalter@fedoraproject.org> - 1:6.7.17-5 |
||||
- Rebuild for ICU 62 |
||||
|
||||
* Tue May 15 2018 Sergey Avseyev <sergey.avseyev@gmail.com> - 1:6.7.17-4 |
||||
- Add libv8_libbase.so symlink to devel package. |
||||
|
||||
* Tue May 8 2018 Sergey Avseyev <sergey.avseyev@gmail.com> - 1:6.7.17-3 |
||||
- Fix ARM build. Integrate fix for https://bugs.llvm.org/show_bug.cgi?id=35945 |
||||
|
||||
* Mon Apr 30 2018 Pete Walter <pwalter@fedoraproject.org> - 1:6.7.17-2 |
||||
- Rebuild for ICU 61.1 |
||||
|
||||
* Wed Mar 14 2018 Tom Callaway <spot@fedoraproject.org> - 1:6.7.17-1 |
||||
- update to 6.7.17 |
||||
|
||||
* Wed Mar 07 2018 Adam Williamson <awilliam@redhat.com> - 1:6.2.91-8 |
||||
- Rebuild to fix GCC 8 mis-compilation |
||||
See https://da.gd/YJVwk ("GCC 8 ABI change on x86_64") |
||||
|
||||
* Mon Feb 19 2018 Tom Callaway <spot@fedoraproject.org> - 1:6.2.91-7 |
||||
- fix platform library symlink |
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.2.91-6 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild |
||||
|
||||
* Thu Nov 30 2017 Pete Walter <pwalter@fedoraproject.org> - 1:6.2.91-5 |
||||
- Rebuild for ICU 60.1 |
||||
|
||||
* Thu Aug 31 2017 Tom Callaway <spot@fedoraproject.org> - 1:6.2.91-4 |
||||
- disable some cflags on fedora 25 or older |
||||
|
||||
* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1:6.2.91-3 |
||||
- Add Provides for the old name without %%_isa |
||||
|
||||
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1:6.2.91-2 |
||||
- Python 2 binary package renamed to python2-v8 |
||||
See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 |
||||
|
||||
* Mon Jul 31 2017 Tom Callaway <spot@fedoraproject.org> - 1:6.2.91-1 |
||||
- 6.2.91 |
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:5.2.258-12 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild |
||||
|
||||
* Wed Mar 1 2017 Tom Callaway <spot@fedoraproject.org> - 1:5.2.258-11 |
||||
- fix ppc64 build |
||||
|
||||
* Tue Feb 28 2017 Tom Callaway <spot@fedoraproject.org> - 1:5.2.258-10 |
||||
- fix ftbfs (thanks to Ben Noordhuis) |
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:5.2.258-9 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild |
||||
|
||||
* Thu Jan 12 2017 Igor Gnatenko <ignatenko@redhat.com> - 1:5.2.258-8 |
||||
- Rebuild for readline 7.x |
||||
|
||||
* Mon Oct 17 2016 Tom Callaway <spot@fedoraproject.org> - 1:5.2.258-7 |
||||
- force v8 not to make thin libraries |
||||
|
||||
* Thu Oct 13 2016 Tom Callaway <spot@fedoraproject.org> - 1:5.2.258-6 |
||||
- use smaller, better compressed source tarball without unnecessary git bits |
||||
|
||||
* Mon Oct 10 2016 Tom Callaway <spot@fedoraproject.org> - 1:5.2.258-5 |
||||
- add bundledbinutils option to Makefile to disable "thin" static libs |
||||
|
||||
* Mon Sep 26 2016 Tom Callaway <spot@fedoraproject.org> - 1:5.2.258-4 |
||||
- set snapshot=external to enable blob creation |
||||
- include blobs, static libraries |
||||
|
||||
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:5.2.258-3 |
||||
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages |
||||
|
||||
* Fri May 13 2016 Tom Callaway <spot@fedoraproject.org> - 1:5.2.258-2 |
||||
- build with optflags, except for the hardening script which clang has no idea what to do with |
||||
|
||||
* Mon May 9 2016 Tom Callaway <spot@fedoraproject.org> - 1:5.2.258-1 |
||||
- update to 5.2.258 |
||||
|
||||
* Mon May 2 2016 Tom Callaway <spot@fedoraproject.org> - 1:5.2.197-1 |
||||
- update to 5.2.197 |
||||
- WELCOME TO THE WORLD OF TOMORROW |
||||
|
||||
* Fri Apr 15 2016 David Tardon <dtardon@redhat.com> - 1:3.14.5.10-24 |
||||
- rebuild for ICU 57.1 |
||||
|
||||
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.14.5.10-23 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild |
||||
|
||||
* Wed Oct 28 2015 David Tardon <dtardon@redhat.com> - 1:3.14.5.10-22 |
||||
- rebuild for ICU 56.1 |
||||
|
||||
* Mon Sep 21 2015 Tom Callaway <spot@fedoraproject.org> - 1:3.14.5.10-21 |
||||
- add REPLACE_INVALID_UTF8 code needed for nodejs |
||||
|
||||
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:3.14.5.10-20 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild |
||||
|
||||
* Mon Jun 8 2015 Tom Callaway <spot@fedoraproject.org> - 1:3.14.5.10-19 |
||||
- split off python subpackage (bz 959145) |
||||
|
||||
* Thu Apr 23 2015 Tom Callaway <spot@fedoraproject.org> - 1:3.14.5.10-18 |
||||
- backport security fix for ARM - CVE-2014-3152 |
||||
|
||||
* Thu Feb 19 2015 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1:3.14.5.10-17 |
||||
- backports for nodejs 0.10.36 |
||||
|
||||
* Mon Jan 26 2015 David Tardon <dtardon@redhat.com> - 1:3.14.5.10-16 |
||||
- rebuild for ICU 54.1 |
||||
|
||||
* Tue Dec 2 2014 Tom Callaway <spot@fedoraproject.org> - 1:3.14.5.10-15 |
||||
- use system valgrind header (bz1141483) |
||||
|
||||
* Wed Sep 17 2014 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1:3.14.5.10-14 |
||||
- backport bugfix that eliminates unused-local-typedefs warning |
||||
- backport security fix: Fix Hydrogen bounds check elimination (CVE-2013-6668; RHBZ#1086120) |
||||
- backport fix to segfault caused by the above patch |
||||
|
||||
* Tue Aug 26 2014 David Tardon <dtardon@redhat.com> - 1:3.14.5.10-13 |
||||
- rebuild for ICU 53.1 |
||||
|
||||
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:3.14.5.10-12 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild |
||||
|
||||
* Thu Jul 31 2014 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1:3.14.5.10-11 |
||||
- backport security fix for memory corruption and stack overflow (RHBZ#1125464) |
||||
https://groups.google.com/d/msg/nodejs/-siJEObdp10/2xcqqmTHiEMJ |
||||
- backport bug fix for x64 MathMinMax for negative untagged int32 arguments. |
||||
https://github.com/joyent/node/commit/3530fa9cd09f8db8101c4649cab03bcdf760c434 |
||||
|
||||
* Thu Jun 19 2014 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1:3.14.5.10-10 |
||||
- fix corner case in integer comparisons (v8 bug#2416; nodejs bug#7528) |
||||
|
||||
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:3.14.5.10-9 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild |
||||
|
||||
* Sat May 03 2014 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1:3.14.5.10-8 |
||||
- use clock_gettime() instead of gettimeofday(), which increases V8 performance |
||||
dramatically on virtual machines |
||||
|
||||
* Tue Mar 18 2014 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1:3.14.5.10-7 |
||||
- backport fix for unsigned integer arithmetic (RHBZ#1077136; CVE-2014-1704) |
||||
|
||||
* Mon Feb 24 2014 Tomas Hrcka <thrcka@redhat.com> - 1:3.14.5.10-6 |
||||
- Backport fix for incorrect handling of popular pages (RHBZ#1059070; CVE-2013-6640) |
||||
|
||||
* Fri Feb 14 2014 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1:3.14.5.10-5 |
||||
- rebuild for icu-52 |
||||
|
||||
* Mon Jan 27 2014 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1:3.14.5.10-4 |
||||
- backport fix for enumeration for objects with lots of properties |
||||
|
||||
* Fri Dec 13 2013 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1:3.14.5.10-3 |
||||
- backport fix for out-of-bounds read DoS (RHBZ#1039889; CVE-2013-6640) |
||||
|
||||
* Fri Aug 02 2013 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1:3.14.5.10-2 |
||||
- backport fix for remote DoS or unspecified other impact via type confusion |
||||
(RHBZ#991116; CVE-2013-2882) |
||||
|
||||
* Wed May 29 2013 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1:3.14.5.10-1 |
||||
- new upstream release 3.14.5.10 |
||||
|
||||
* Mon May 06 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1:3.14.5.8-2 |
||||
- Fix ownership of include directory (#958729) |
||||
|
||||
* Fri Mar 22 2013 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1:3.14.5.8-1 |
||||
- new upstream release 3.14.5.8 |
||||
- backport security fix for remote DoS via crafted javascript (RHBZ#924495; CVE-2013-2632) |
||||
|
||||
* Mon Mar 11 2013 Stephen Gallagher <sgallagh@redhat.com> - 1:3.14.5.7-3 |
||||
- Update to v8 3.14.5.7 for Node.js 0.10.0 |
||||
|
||||
* Sat Jan 26 2013 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1:3.13.7.5-2 |
||||
- rebuild for icu-50 |
||||
- ignore new GCC 4.8 warning |
||||
|
||||
* Tue Dec 4 2012 Tom Callaway <spot@fedoraproject.org> - 1:3.13.7.5-1 |
||||
- update to 3.13.7.5 (needed for chromium 23) |
||||
- Resolves multiple security issues (CVE-2012-5120, CVE-2012-5128) |
||||
- d8 is now using a static libv8, resolves bz 881973) |
||||
|
||||
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:3.10.8-2 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild |
||||
|
||||
* Fri Jul 6 2012 Tom Callaway <spot@fedoraproject.org> 1:3.10.8-1 |
||||
- update to 3.10.8 (chromium 20) |
||||
|
||||
* Tue Jun 12 2012 Tom Callaway <spot@fedoraproject.org> 1:3.9.24-1 |
||||
- update to 3.9.24 (chromium 19) |
||||
|
||||
* Mon Apr 23 2012 Thomas Spura <tomspur@fedoraproject.org> 1:3.7.12.6 |
||||
- rebuild for icu-49 |
||||
|
||||
* Fri Mar 30 2012 Dennis Gilmore <dennis@ausil.us> 1:3.7.12-5 |
||||
- make sure the right arm abi is used in the second call of scons |
||||
|
||||
* Thu Mar 29 2012 Dennis Gilmore <dennis@ausil.us> 1:3.7.12-4 |
||||
- use correct arm macros |
||||
- use the correct abis for hard and soft float |
||||
|
||||
* Tue Mar 20 2012 Tom Callaway <spot@fedoraproject.org> 3.7.12-3 |
||||
- merge changes from Fedora spec file, sync, add epoch |
||||
|
||||
* Fri Feb 17 2012 Tom Callaway <spot@fedoraproject.org> 3.7.12-2 |
||||
- add -Wno-error=strict-overflow for gcc 4.7 (hack, hack, hack) |
||||
|
||||
* Mon Feb 13 2012 Tom Callaway <spot@fedoraproject.org> 3.7.12-1 |
||||
- update to 3.7.12 |
||||
|
||||
* Thu Nov 3 2011 Tom Callaway <spot@fedoraproject.org> 3.5.10-1 |
||||
- update to 3.5.10 |
||||
|
||||
* Mon Sep 26 2011 Tom Callaway <spot@fedoraproject.org> 3.4.14-2 |
||||
- final 3.4.14 tag |
||||
- include JavaScript minifier scripts in -devel |
||||
|
||||
* Fri Jun 10 2011 Tom Callaway <spot@fedoraproject.org> 3.2.10-1 |
||||
- tag 3.2.10 |
||||
|
||||
* Thu Apr 28 2011 Tom Callaway <spot@fedoraproject.org> 3.1.8-1 |
||||
- "stable" v8 match for "stable" chromium (tag 3.1.8) |
||||
|
||||
* Tue Feb 22 2011 Tom Callaway <spot@fedoraproject.org> 3.1.5-1.20110222svn6902 |
||||
- update to 3.1.5 |
||||
- enable experimental i18n icu stuff for chromium |
||||
|
||||
* Tue Jan 11 2011 Tom Callaway <spot@fedoraproject.org> 3.0.7-1.20110111svn6276 |
||||
- update to 3.0.7 |
||||
|
||||
* Tue Dec 14 2010 Tom "spot" Callaway <tcallawa@redhat.com> 3.0.0-2.20101209svn5957 |
||||
- fix sloppy code where NULL is used |
||||
|
||||
* Thu Dec 9 2010 Tom "spot" Callaway <tcallawa@redhat.com> 3.0.0-1.20101209svn5957 |
||||
- update to 3.0.0 |
||||
|
||||
* Fri Oct 22 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.5.1-1.20101022svn5692 |
||||
- update to 2.5.1 |
||||
- fix another fwrite with no return checking case |
||||
|
||||
* Thu Oct 14 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.5.0-1.20101014svn5625 |
||||
- update to 2.5.0 |
||||
|
||||
* Mon Oct 4 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.4.8-1.20101004svn5585 |
||||
- update to 2.4.8 |
||||
|
||||
* Tue Sep 14 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.4.3-1.20100914svn5450 |
||||
- update to 2.4.3 |
||||
|
||||
* Tue Aug 31 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.3.11-1.20100831svn5385 |
||||
- update to svn5385 |
||||
|
||||
* Fri Aug 27 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.3.11-1.20100827svn5365 |
||||
- update to 2.3.11, svn5365 |
||||
|
||||
* Tue Aug 24 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.3.10-1.20100824svn5332 |
||||
- update to 2.3.10, svn5332 |
||||
|
||||
* Wed Aug 18 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.3.9-1.20100819svn5308 |
||||
- update to 2.3.9, svn5308 |
||||
|
||||
* Wed Aug 11 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.3.7-1.20100812svn5251 |
||||
- update to svn5251 |
||||
|
||||
* Wed Aug 11 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.3.7-1.20100811svn5248 |
||||
- update to 2.3.7, svn5248 |
||||
|
||||
* Tue Aug 10 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.3.6-1.20100809svn5217 |
||||
- update to 2.3.6, svn5217 |
||||
|
||||
* Fri Aug 6 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.3.5-1.20100806svn5198 |
||||
- update to 2.3.5, svn5198 |
||||
|
||||
* Mon Jul 26 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.3.3-1.20100726svn5134 |
||||
- update to 2.3.3, svn5134 |
||||
|
||||
* Fri Jul 16 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.3.0-1.20100716svn5088 |
||||
- update to 2.3.0, svn5088 |
||||
|
||||
* Tue Jul 6 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.2.22-1.20100706svn5023 |
||||
- update to 2.2.22, svn5023 |
||||
|
||||
* Fri Jul 2 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.2.21-1.20100702svn5010 |
||||
- update to svn5010 |
||||
|
||||
* Wed Jun 30 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.2.21-1.20100630svn4993 |
||||
- update to 2.2.21, svn4993 |
||||
- include checkout script |
||||
|
||||
* Thu Jun 3 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.2.14-1.20100603svn4792 |
||||
- update to 2.2.14, svn4792 |
||||
|
||||
* Tue Jun 1 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.2.13-1.20100601svn4772 |
||||
- update to 2.2.13, svn4772 |
||||
|
||||
* Thu May 27 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.2.12-1.20100527svn4747 |
||||
- update to 2.2.12, svn4747 |
||||
|
||||
* Tue May 25 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.2.11-1.20100525svn4718 |
||||
- update to 2.2.11, svn4718 |
||||
|
||||
* Thu May 20 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.2.10-1.20100520svn4684 |
||||
- update to svn4684 |
||||
|
||||
* Mon May 17 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.2.10-1.20100517svn4664 |
||||
- update to 2.2.10, svn4664 |
||||
|
||||
* Thu May 13 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.2.9-1.20100513svn4653 |
||||
- update to svn4653 |
||||
|
||||
* Mon May 10 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.2.9-1.20100510svn4636 |
||||
- update to 2.2.9, svn4636 |
||||
|
||||
* Tue May 4 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.2.7-1.20100504svn4581 |
||||
- update to 2.2.7, svn4581 |
||||
|
||||
* Mon Apr 19 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.2.3-1.20100419svn4440 |
||||
- update to 2.2.3, svn4440 |
||||
|
||||
* Tue Apr 13 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.2.2-1.20100413svn4397 |
||||
- update to 2.2.2, svn4397 |
||||
|
||||
* Thu Apr 8 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.2.1-1.20100408svn4359 |
||||
- update to 2.2.1, svn4359 |
||||
|
||||
* Mon Mar 29 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.2.0-1.20100329svn4309 |
||||
- update to 2.2.0, svn4309 |
||||
|
||||
* Thu Mar 25 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.1.8-1.20100325svn4273 |
||||
- update to 2.1.8, svn4273 |
||||
|
||||
* Mon Mar 22 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.1.5-1.20100322svn4204 |
||||
- update to 2.1.5, svn4204 |
||||
|
||||
* Mon Mar 15 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.1.4-1.20100315svn4129 |
||||
- update to 2.1.4, svn4129 |
||||
|
||||
* Wed Mar 10 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.1.0-1.20100310svn4088 |
||||
- update to 2.1.3, svn4088 |
||||
|
||||
* Thu Feb 18 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.1.0-1.20100218svn3902 |
||||
- update to 2.1.0, svn3902 |
||||
|
||||
* Fri Jan 22 2010 Tom "spot" Callaway <tcallawa@redhat.com> 2.0.6-1.20100122svn3681 |
||||
- update to 2.0.6, svn3681 |
||||
|
||||
* Tue Dec 29 2009 Tom "spot" Callaway <tcallawa@redhat.com> 2.0.5-1.20091229svn3528 |
||||
- svn3528 |
||||
|
||||
* Mon Dec 21 2009 Tom "spot" Callaway <tcallawa@redhat.com> 2.0.5-1.20091221svn3511 |
||||
- update to 2.0.5, svn3511 |
||||
|
||||
* Wed Dec 9 2009 Tom "spot" Callaway <tcallawa@redhat.com> 2.0.3-1.20091209svn3443 |
||||
- update to 2.0.3, svn3443 |
||||
|
||||
* Tue Nov 24 2009 Tom "spot" Callaway <tcallawa@redhat.com> 2.0.2-1.20091124svn3353 |
||||
- update to 2.0.2, svn3353 |
||||
|
||||
* Wed Nov 18 2009 Tom "spot" Callaway <tcallawa@redhat.com> 2.0.0-1.20091118svn3334 |
||||
- update to 2.0.0, svn3334 |
||||
|
||||
* Tue Oct 27 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.16-1.20091027svn3152 |
||||
- update to 1.3.16, svn3152 |
||||
|
||||
* Tue Oct 13 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.15-1.20091013svn3058 |
||||
- update to svn3058 |
||||
|
||||
* Thu Oct 8 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.15-1.20091008svn3036 |
||||
- update to 1.3.15, svn3036 |
||||
|
||||
* Tue Sep 29 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.13-1.20090929svn2985 |
||||
- update to svn2985 |
||||
- drop unused parameter patch, figured out how to work around it with optflag mangling |
||||
- have I mentioned lately that scons is garbage? |
||||
|
||||
* Mon Sep 28 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.13-1.20090928svn2980 |
||||
- update to 1.3.13, svn2980 |
||||
|
||||
* Wed Sep 16 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.11-1.20090916svn2903 |
||||
- update to 1.3.11, svn2903 |
||||
|
||||
* Wed Sep 9 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.9-1.20090909svn2862 |
||||
- update to 1.3.9, svn2862 |
||||
|
||||
* Thu Aug 27 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.8-1.20090827svn2777 |
||||
- update to 1.3.8, svn2777 |
||||
|
||||
* Mon Aug 24 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.6-1.20090824svn2747 |
||||
- update to 1.3.6, svn2747 |
||||
|
||||
* Tue Aug 18 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.4-1.20090818svn2708 |
||||
- update to svn2708, build and package d8 |
||||
|
||||
* Fri Aug 14 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.4-1.20090814svn2692 |
||||
- update to 1.3.4, svn2692 |
||||
|
||||
* Wed Aug 12 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.3-1.20090812svn2669 |
||||
- update to 1.3.3, svn2669 |
||||
|
||||
* Mon Aug 10 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.2-1.20090810svn2658 |
||||
- update to svn2658 |
||||
|
||||
* Fri Aug 7 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.2-1.20090807svn2653 |
||||
- update to svn2653 |
||||
|
||||
* Wed Aug 5 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.2-1.20090805svn2628 |
||||
- update to 1.3.2, svn2628 |
||||
|
||||
* Mon Aug 3 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.1-1.20090803svn2607 |
||||
- update to svn2607 |
||||
|
||||
* Fri Jul 31 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.1-1.20090731svn2602 |
||||
- update to svn2602 |
||||
|
||||
* Thu Jul 30 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.1-1.20090730svn2592 |
||||
- update to 1.3.1, svn 2592 |
||||
|
||||
* Mon Jul 27 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.0-1.20090727svn2543 |
||||
- update to 1.3.0, svn 2543 |
||||
|
||||
* Fri Jul 24 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.14-1.20090724svn2534 |
||||
- update to svn2534 |
||||
|
||||
* Mon Jul 20 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.14-1.20090720svn2510 |
||||
- update to svn2510 |
||||
|
||||
* Thu Jul 16 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.14-1.20090716svn2488 |
||||
- update to svn2488 |
||||
|
||||
* Wed Jul 15 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.14-1.20090715svn2477 |
||||
- update to 1.2.14, svn2477 |
||||
|
||||
* Mon Jul 13 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.13-1.20090713svn2434 |
||||
- update to svn2434 |
||||
|
||||
* Sat Jul 11 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.13-1.20090711svn2430 |
||||
- update to 1.2.13, svn2430 |
||||
|
||||
* Wed Jul 8 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.12-1.20090708svn2391 |
||||
- update to 1.2.12, svn2391 |
||||
|
||||
* Sat Jul 4 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.11-1.20090704svn2356 |
||||
- update to 1.2.11, svn2356 |
||||
|
||||
* Fri Jun 26 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.9-1.20090626svn2284 |
||||
- update to svn2284 |
||||
|
||||
* Wed Jun 24 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.9-1.20090624svn2262 |
||||
- update to 1.2.9, svn2262 |
||||
|
||||
* Thu Jun 18 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.7-2.20090618svn2219 |
||||
- fix unused-parameter patch |
||||
|
||||
* Thu Jun 18 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.7-1.20090618svn2219 |
||||
- update to 1.2.8, svn2219 |
||||
|
||||
* Mon Jun 8 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.7-2.20090608svn2123 |
||||
- fix gcc44 compile for Fedora 11 |
||||
|
||||
* Mon Jun 8 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.7-1.20090608svn2123 |
||||
- update to 1.2.7, svn2123 |
||||
|
||||
* Thu May 28 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.5-1.20090528svn2072 |
||||
- update to newer svn checkout |
||||
|
||||
* Sun Feb 22 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.0.1-1.20090222svn1332 |
||||
- update to newer svn checkout |
||||
|
||||
* Sun Sep 14 2008 Tom "spot" Callaway <tcallawa@redhat.com> 0.2-2.20080914svn300 |
||||
- make a versioned shared library properly |
||||
|
||||
* Sun Sep 14 2008 Tom "spot" Callaway <tcallawa@redhat.com> 0.2-1.20080914svn300 |
||||
- Initial package for Fedora |
||||
|
Loading…
Reference in new issue