Compare commits

..

No commits in common. "rawhide" and "f25" have entirely different histories.

7 changed files with 58 additions and 2383 deletions

View file

@ -1,223 +0,0 @@
diff -up v8-3.14.5.10/src/arm/assembler-arm.cc.gcc7 v8-3.14.5.10/src/arm/assembler-arm.cc
diff -up v8-3.14.5.10/src/deoptimizer.cc.gcc7 v8-3.14.5.10/src/deoptimizer.cc
--- v8-3.14.5.10/src/deoptimizer.cc.gcc7 2012-10-22 09:09:53.000000000 -0400
+++ v8-3.14.5.10/src/deoptimizer.cc 2017-02-28 16:55:25.553045035 -0500
@@ -1141,7 +1141,7 @@ bool Deoptimizer::DoOsrTranslateCommand(
}
output->SetRegister(output_reg, static_cast<int32_t>(uint32_value));
}
-
+ // intentional fallthrough
case Translation::DOUBLE_REGISTER: {
// Abort OSR if we don't have a number.
diff -up v8-3.14.5.10/src/ia32/assembler-ia32.cc.gcc7 v8-3.14.5.10/src/ia32/assembler-ia32.cc
--- v8-3.14.5.10/src/ia32/assembler-ia32.cc.gcc7 2017-03-01 10:21:11.271775490 -0500
+++ v8-3.14.5.10/src/ia32/assembler-ia32.cc 2017-03-01 10:21:44.242983779 -0500
@@ -420,6 +420,7 @@ void Assembler::Nop(int bytes) {
switch (bytes) {
case 2:
EMIT(0x66);
+ // intentional fallthrough
case 1:
EMIT(0x90);
return;
@@ -436,6 +437,7 @@ void Assembler::Nop(int bytes) {
return;
case 6:
EMIT(0x66);
+ // intentional fallthrough
case 5:
EMIT(0xf);
EMIT(0x1f);
@@ -456,12 +458,15 @@ void Assembler::Nop(int bytes) {
case 11:
EMIT(0x66);
bytes--;
+ // intentional fallthrough
case 10:
EMIT(0x66);
bytes--;
+ // intentional fallthrough
case 9:
EMIT(0x66);
bytes--;
+ // intentional fallthrough
case 8:
EMIT(0xf);
EMIT(0x1f);
diff -up v8-3.14.5.10/src/ic.cc.gcc7 v8-3.14.5.10/src/ic.cc
--- v8-3.14.5.10/src/ic.cc.gcc7 2012-10-22 09:09:53.000000000 -0400
+++ v8-3.14.5.10/src/ic.cc 2017-02-28 16:55:25.554045011 -0500
@@ -1989,8 +1989,8 @@ void KeyedStoreIC::UpdateCaches(LookupRe
name, receiver, field_index, transition, strict_mode);
break;
}
- // fall through.
}
+ // intentional fallthrough
case NORMAL:
case CONSTANT_FUNCTION:
case CALLBACKS:
diff -up v8-3.14.5.10/src/objects.cc.gcc7 v8-3.14.5.10/src/objects.cc
--- v8-3.14.5.10/src/objects.cc.gcc7 2017-02-28 16:55:25.516045908 -0500
+++ v8-3.14.5.10/src/objects.cc 2017-02-28 16:55:25.555044988 -0500
@@ -10302,7 +10302,7 @@ void JSObject::GetElementsCapacityAndUsa
*used = Smi::cast(JSArray::cast(this)->length())->value();
break;
}
- // Fall through if packing is not guaranteed.
+ // intentional fallthrough
case FAST_HOLEY_SMI_ELEMENTS:
case FAST_HOLEY_ELEMENTS:
backing_store = FixedArray::cast(backing_store_base);
@@ -10324,7 +10324,7 @@ void JSObject::GetElementsCapacityAndUsa
*used = Smi::cast(JSArray::cast(this)->length())->value();
break;
}
- // Fall through if packing is not guaranteed.
+ // intentional fallthrough
case FAST_HOLEY_DOUBLE_ELEMENTS: {
FixedDoubleArray* elms = FixedDoubleArray::cast(elements());
*capacity = elms->length();
diff -up v8-3.14.5.10/src/objects.h.gcc7 v8-3.14.5.10/src/objects.h
--- v8-3.14.5.10/src/objects.h.gcc7 2017-02-28 16:55:25.517045885 -0500
+++ v8-3.14.5.10/src/objects.h 2017-02-28 16:55:25.556044964 -0500
@@ -2785,24 +2785,10 @@ class HashTable: public FixedArray {
USE_CUSTOM_MINIMUM_CAPACITY
};
- // 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 the number of elements in the hash table.
int NumberOfElements() {
diff -up v8-3.14.5.10/src/objects-inl.h.gcc7 v8-3.14.5.10/src/objects-inl.h
--- v8-3.14.5.10/src/objects-inl.h.gcc7 2017-02-28 16:55:25.517045885 -0500
+++ v8-3.14.5.10/src/objects-inl.h 2017-02-28 16:55:25.556044964 -0500
@@ -52,6 +52,26 @@
namespace v8 {
namespace internal {
+template<typename Shape, typename Key>
+uint32_t HashTable<Shape, Key>::Hash(Key key) {
+ if (Shape::UsesSeed) {
+ return Shape::SeededHash(key,
+ GetHeap()->HashSeed());
+ } else {
+ return Shape::Hash(key);
+ }
+}
+
+template<typename Shape, typename Key>
+uint32_t HashTable<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();
}
diff -up v8-3.14.5.10/src/parser.cc.gcc7 v8-3.14.5.10/src/parser.cc
--- v8-3.14.5.10/src/parser.cc.gcc7 2017-02-28 16:55:25.450047466 -0500
+++ v8-3.14.5.10/src/parser.cc 2017-02-28 16:55:25.557044941 -0500
@@ -3649,8 +3649,7 @@ Expression* Parser::ParsePrimaryExpressi
result = ParseV8Intrinsic(CHECK_OK);
break;
}
- // If we're not allowing special syntax we fall-through to the
- // default case.
+ // intentional fallthrough
default: {
Token::Value tok = Next();
@@ -5376,8 +5375,8 @@ RegExpTree* RegExpParser::ParseDisjuncti
if (ParseIntervalQuantifier(&dummy, &dummy)) {
ReportError(CStrVector("Nothing to repeat") CHECK_FAILED);
}
- // fallthrough
}
+ // intentional fallthrough
default:
builder->AddCharacter(current());
Advance();
diff -up v8-3.14.5.10/src/spaces.h.gcc7 v8-3.14.5.10/src/spaces.h
--- v8-3.14.5.10/src/spaces.h.gcc7 2012-10-22 09:09:53.000000000 -0400
+++ v8-3.14.5.10/src/spaces.h 2017-02-28 16:55:25.557044941 -0500
@@ -2613,15 +2613,15 @@ class PointerChunkIterator BASE_EMBEDDED
return old_pointer_iterator_.next();
}
state_ = kMapState;
- // Fall through.
}
+ // intentional fallthrough
case kMapState: {
if (map_iterator_.has_next()) {
return map_iterator_.next();
}
state_ = kLargeObjectState;
- // Fall through.
}
+ // intentional fallthrough
case kLargeObjectState: {
HeapObject* heap_object;
do {
diff -up v8-3.14.5.10/src/x64/assembler-x64.cc.gcc7 v8-3.14.5.10/src/x64/assembler-x64.cc
--- v8-3.14.5.10/src/x64/assembler-x64.cc.gcc7 2017-03-01 10:19:40.086088012 -0500
+++ v8-3.14.5.10/src/x64/assembler-x64.cc 2017-03-01 10:20:51.859241627 -0500
@@ -1800,6 +1800,7 @@ void Assembler::Nop(int n) {
switch (n) {
case 2:
emit(0x66);
+ // intentional fallthrough
case 1:
emit(0x90);
return;
@@ -1816,6 +1817,7 @@ void Assembler::Nop(int n) {
return;
case 6:
emit(0x66);
+ // intentional fallthrough
case 5:
emit(0x0f);
emit(0x1f);
@@ -1836,12 +1838,15 @@ void Assembler::Nop(int n) {
case 11:
emit(0x66);
n--;
+ // intentional fallthrough
case 10:
emit(0x66);
n--;
+ // intentional fallthrough
case 9:
emit(0x66);
n--;
+ // intentional fallthrough
case 8:
emit(0x0f);
emit(0x1f);

View file

@ -1,12 +0,0 @@
diff -up v8-3.14.5.10/src/frames.h.gcc8 v8-3.14.5.10/src/frames.h
--- v8-3.14.5.10/src/frames.h.gcc8 2018-05-18 14:41:15.119069125 -0400
+++ v8-3.14.5.10/src/frames.h 2018-05-18 14:42:07.421810155 -0400
@@ -67,7 +67,7 @@ class InnerPointerToCodeCache {
Code* GcSafeCastToCode(HeapObject* object, Address inner_pointer);
void Flush() {
- memset(&cache_[0], 0, sizeof(cache_));
+ memset(static_cast<void*>(&cache_[0]), 0, sizeof(cache_));
}
InnerPointerToCodeCacheEntry* GetCacheEntry(Address inner_pointer);

View file

@ -1,20 +0,0 @@
diff -up v8-3.14.5.10/SConstruct.no-error v8-3.14.5.10/SConstruct
--- v8-3.14.5.10/SConstruct.no-error 2024-02-10 07:02:57.426704910 -0500
+++ v8-3.14.5.10/SConstruct 2024-02-10 07:03:16.481987300 -0500
@@ -307,7 +307,6 @@ V8_EXTRA_FLAGS = {
'gcc': {
'all': {
'WARNINGFLAGS': ['-Wall',
- '-Werror',
'-W',
'-Wno-unused-parameter',
'-Woverloaded-virtual',
@@ -410,7 +409,7 @@ MKSNAPSHOT_EXTRA_FLAGS = {
DTOA_EXTRA_FLAGS = {
'gcc': {
'all': {
- 'WARNINGFLAGS': ['-Werror', '-Wno-uninitialized'],
+ 'WARNINGFLAGS': ['-Wno-uninitialized'],
'CCFLAGS': GCC_DTOA_EXTRA_CCFLAGS
}
},

View file

@ -1,53 +0,0 @@
diff --git a/src/parser.cc b/src/parser.cc
index 76ed9da..e97e91e 100644
--- a/src/parser.cc
+++ b/src/parser.cc
@@ -4110,7 +4110,7 @@ Expression* Parser::ParseObjectLiteral(bool* ok) {
// Validate the property.
checker.CheckProperty(property, loc, CHECK_OK);
properties->Add(property, zone());
- if (peek() != Token::RBRACE) Expect(Token::COMMA, CHECK_OK);
+ if (peek() != Token::RBRACE) { Expect(Token::COMMA, CHECK_OK); }
if (fni_ != NULL) {
fni_->Infer();
@@ -4180,7 +4180,7 @@ Expression* Parser::ParseObjectLiteral(bool* ok) {
properties->Add(property, zone());
// TODO(1240767): Consider allowing trailing comma.
- if (peek() != Token::RBRACE) Expect(Token::COMMA, CHECK_OK);
+ if (peek() != Token::RBRACE) { Expect(Token::COMMA, CHECK_OK); }
if (fni_ != NULL) {
fni_->Infer();
@@ -4249,7 +4249,7 @@ ZoneList<Expression*>* Parser::ParseArguments(bool* ok) {
return NULL;
}
done = (peek() == Token::RPAREN);
- if (!done) Expect(Token::COMMA, CHECK_OK);
+ if (!done) { Expect(Token::COMMA, CHECK_OK); }
}
Expect(Token::RPAREN, CHECK_OK);
return result;
@@ -4426,7 +4426,7 @@ FunctionLiteral* Parser::ParseFunctionLiteral(Handle<String> function_name,
return NULL;
}
done = (peek() == Token::RPAREN);
- if (!done) Expect(Token::COMMA, CHECK_OK);
+ if (!done) { Expect(Token::COMMA, CHECK_OK); }
}
Expect(Token::RPAREN, CHECK_OK);
diff --git a/src/preparser.cc b/src/preparser.cc
index 21da4f8..7769130 100644
--- a/src/preparser.cc
+++ b/src/preparser.cc
@@ -1306,7 +1306,7 @@ PreParser::Expression PreParser::ParseObjectLiteral(bool* ok) {
ParseAssignmentExpression(true, CHECK_OK);
// TODO(1240767): Consider allowing trailing comma.
- if (peek() != i::Token::RBRACE) Expect(i::Token::COMMA, CHECK_OK);
+ if (peek() != i::Token::RBRACE) { Expect(i::Token::COMMA, CHECK_OK); }
}
Expect(i::Token::RBRACE, CHECK_OK);

View file

@ -1,215 +0,0 @@
diff -up v8-3.14.5.10/SConstruct.python3 v8-3.14.5.10/SConstruct
--- v8-3.14.5.10/SConstruct.python3 2020-02-06 15:59:54.384811798 -0500
+++ v8-3.14.5.10/SConstruct 2020-02-06 16:28:20.272457921 -0500
@@ -31,7 +31,6 @@ import subprocess
import sys
import os
from os.path import join, dirname, abspath
-from types import DictType, StringTypes
root_dir = dirname(File('SConstruct').rfile().abspath)
src_dir = join(root_dir, 'src')
sys.path.insert(0, join(root_dir, 'tools'))
@@ -948,7 +947,7 @@ SUFFIXES = {
def Abort(message):
- print message
+ print(message)
sys.exit(1)
@@ -993,7 +992,7 @@ def GuessStrictAliasing(env):
# but when scons detects msvc this value is not set.
version = subprocess.Popen([env['CC'], '-dumpversion'],
stdout=subprocess.PIPE).communicate()[0]
- if version.find('4.5') == 0:
+ if version.find(b'4.5') == 0:
return 'off'
return 'default'
@@ -1104,7 +1103,7 @@ SIMPLE_OPTIONS = {
'(if available on the current architecture/platform)'
},
'sourcesignatures': {
- 'values': ['MD5', 'timestamp'],
+ 'values': ['MD5', 'MD5-timestamp'],
'default': 'MD5',
'help': 'set how the build system detects file changes'
},
@@ -1176,7 +1175,7 @@ ALL_OPTIONS = dict(PLATFORM_OPTIONS, **S
def AddOptions(options, result):
guess_env = Environment(options=result)
- for (name, option) in options.iteritems():
+ for (name, option) in options.items():
if 'guess' in option:
# Option has a guess function
guess = option.get('guess')
@@ -1189,7 +1188,7 @@ def AddOptions(options, result):
def GetOptions():
- result = Options()
+ result = Variables()
result.Add('mode', 'compilation mode (debug, release)', 'release')
result.Add('sample', 'build sample (shell, process, lineprocessor)', '')
result.Add('cache', 'directory to use for scons build cache', '')
@@ -1269,7 +1268,7 @@ def IsLegal(env, option, values):
def WarnAboutDeprecation():
- print """
+ print("""
#####################################################################
# #
# LAST WARNING: Building V8 with SCons is deprecated. #
@@ -1281,7 +1280,7 @@ def WarnAboutDeprecation():
# Instructions: http://code.google.com/p/v8/wiki/BuildingWithGYP. #
# #
#####################################################################
- """
+ """)
def VerifyOptions(env):
@@ -1316,12 +1315,12 @@ def VerifyOptions(env):
if env['cache'] and not os.path.isdir(env['cache']):
Abort("The specified cache directory does not exist.")
if not (env['arch'] == 'arm' or env['simulator'] == 'arm') and ('unalignedaccesses' in ARGUMENTS):
- print env['arch']
- print env['simulator']
+ print(env['arch'])
+ print(env['simulator'])
Abort("Option unalignedaccesses only supported for the ARM architecture.")
if env['os'] != 'linux' and env['compress_startup_data'] != 'off':
Abort("Startup data compression is only available on Linux")
- for (name, option) in ALL_OPTIONS.iteritems():
+ for (name, option) in ALL_OPTIONS.items():
if (not name in env):
message = ("A value for option %s must be specified (%s)." %
(name, ", ".join(option['values'])))
@@ -1368,7 +1367,7 @@ class BuildContext(object):
def GetRelevantSources(self, source):
result = []
result += source.get('all', [])
- for (name, value) in self.options.iteritems():
+ for (name, value) in self.options.items():
source_value = source.get(name + ':' + value, [])
if type(source_value) == dict:
result += self.GetRelevantSources(source_value)
@@ -1379,7 +1378,7 @@ class BuildContext(object):
def AppendFlags(self, options, added):
if not added:
return
- for (key, value) in added.iteritems():
+ for (key, value) in added.items():
if key.find(':') != -1:
self.AddRelevantSubFlags(options, { key: value })
else:
@@ -1387,11 +1386,11 @@ class BuildContext(object):
options[key] = value
else:
prefix = options[key]
- if isinstance(prefix, StringTypes): prefix = prefix.split()
+ if isinstance(prefix, str): prefix = prefix.split()
options[key] = prefix + value
def ConfigureObject(self, env, input, **kw):
- if (kw.has_key('CPPPATH') and env.has_key('CPPPATH')):
+ if ('CPPPATH' in kw and 'CPPPATH' in env):
kw['CPPPATH'] += env['CPPPATH']
if self.options['library'] == 'static':
return env.StaticObject(input, **kw)
@@ -1401,7 +1400,7 @@ class BuildContext(object):
def ApplyEnvOverrides(self, env):
if not self.env_overrides:
return
- if type(env['ENV']) == DictType:
+ if type(env['ENV']) == dict:
env['ENV'].update(**self.env_overrides)
else:
env['ENV'] = self.env_overrides
@@ -1412,22 +1411,22 @@ def PostprocessOptions(options, os):
if (options['simulator'] != 'none') and (options['arch'] != options['simulator']):
if 'arch' in ARGUMENTS:
# Print a warning if arch has explicitly been set
- print "Warning: forcing architecture to match simulator (%s)" % options['simulator']
+ print("Warning: forcing architecture to match simulator ({})".format(options['simulator']))
options['arch'] = options['simulator']
if (options['prof'] != 'off') and (options['profilingsupport'] == 'off'):
# Print a warning if profiling is enabled without profiling support
- print "Warning: forcing profilingsupport on when prof is on"
+ print("Warning: forcing profilingsupport on when prof is on")
options['profilingsupport'] = 'on'
if os == 'win32' and options['pgo'] != 'off' and options['msvcltcg'] == 'off':
if 'msvcltcg' in ARGUMENTS:
- print "Warning: forcing msvcltcg on as it is required for pgo (%s)" % options['pgo']
+ print("Warning: forcing msvcltcg on as it is required for pgo ({})".format(options['pgo']))
options['msvcltcg'] = 'on'
if (options['mipsabi'] != 'none') and (options['arch'] != 'mips') and (options['simulator'] != 'mips'):
options['mipsabi'] = 'none'
if options['liveobjectlist'] == 'on':
if (options['debuggersupport'] != 'on') or (options['mode'] == 'release'):
# Print a warning that liveobjectlist will implicitly enable the debugger
- print "Warning: forcing debuggersupport on for liveobjectlist"
+ print("Warning: forcing debuggersupport on for liveobjectlist")
options['debuggersupport'] = 'on'
options['inspector'] = 'on'
options['objectprint'] = 'on'
@@ -1559,7 +1558,7 @@ def BuildSpecific(env, mode, env_overrid
sample_env.Depends(sample_program, library)
context.sample_targets.append(sample_program)
- cctest_env = env.Copy()
+ cctest_env = env.Clone()
cctest_env.Prepend(LIBS=[library_name])
cctest_program = cctest_env.SConscript(
join('test', 'cctest', 'SConscript'),
@@ -1569,7 +1568,7 @@ def BuildSpecific(env, mode, env_overrid
)
context.cctest_targets.append(cctest_program)
- preparser_env = env.Copy()
+ preparser_env = env.Clone()
preparser_env.Replace(**context.flags['preparser'])
preparser_env.Prepend(LIBS=[preparser_library_name])
context.ApplyEnvOverrides(preparser_env)
@@ -1596,7 +1595,7 @@ def Build():
VerifyOptions(env)
env_overrides = ParseEnvOverrides(env['env'], env['importenv'])
- SourceSignatures(env['sourcesignatures'])
+ Decider(env['sourcesignatures'])
libraries = []
mksnapshots = []
@@ -1606,7 +1605,7 @@ def Build():
d8s = []
modes = SplitList(env['mode'])
for mode in modes:
- context = BuildSpecific(env.Copy(), mode, env_overrides, tools)
+ context = BuildSpecific(env.Clone(), mode, env_overrides, tools)
libraries += context.library_targets
mksnapshots += context.mksnapshot_targets
cctests += context.cctest_targets
diff -up v8-3.14.5.10/src/SConscript.python3 v8-3.14.5.10/src/SConscript
--- v8-3.14.5.10/src/SConscript.python3 2020-02-06 16:22:40.599976105 -0500
+++ v8-3.14.5.10/src/SConscript 2020-02-06 16:25:09.388681125 -0500
@@ -376,7 +376,7 @@ collection.js
def Abort(message):
- print message
+ print(message)
sys.exit(1)
@@ -435,7 +435,7 @@ def ConfigureObjectFiles():
# directory. Then rebuild the VM with the cross compiler and specify
# snapshot=nobuild on the scons command line.
empty_snapshot_obj = context.ConfigureObject(env, 'snapshot-empty.cc')
- mksnapshot_env = env.Copy()
+ mksnapshot_env = env.Clone()
mksnapshot_env.Replace(**context.flags['mksnapshot'])
mksnapshot_src = 'mksnapshot.cc'
mksnapshot = mksnapshot_env.Program('mksnapshot', [mksnapshot_src, libraries_obj, experimental_libraries_obj, non_snapshot_files, empty_snapshot_obj], PDB='mksnapshot.exe.pdb')

View file

@ -10,9 +10,6 @@
# All copyrightable work in these spec files and patches is Copyright 2011
# Tom Callaway <spot@fedoraproject.org>
# This package is like a horrible time capsule. If you're reading this, it
# is never too late to turn back.
# 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.
@ -28,9 +25,10 @@
Name: %{truename}-314
Version: %{somajor}.%{sominor}.%{sobuild}.%{sotiny}
Release: 44%{?dist}
Release: 3%{?dist}
Summary: JavaScript Engine
License: BSD-3-Clause
Group: System Environment/Libraries
License: BSD
URL: https://developers.google.com/v8/
# Once found at http://commondatastorage.googleapis.com/chromium-browser-official/
# Now, we're the canonical source for the tarball. :/
@ -38,7 +36,6 @@ Source0: v8-%{version}.tar.bz2
ExclusiveArch: %{ix86} x86_64 %{arm} mips mipsel ppc ppc64
BuildRequires: scons, readline-devel, libicu-devel
BuildRequires: valgrind-devel
BuildRequires: gcc, gcc-c++
#backport fix for CVE-2013-2634 (RHBZ#924495)
Patch1: v8-3.14.5.8-CVE-2013-2634.patch
@ -150,25 +147,6 @@ Patch26: v8-3.14.5.10-CVE-2016-1669.patch
# https://github.com/nodejs/node/commit/5a60e0d904c38c2bdb04785203b1b784967c870d
Patch27: v8-3.14.5.10-report-builtins-by-name.patch
# Fix compile with gcc7
# (thanks to Ben Noordhuis)
Patch28: v8-3.14.5.10-gcc7.patch
# MOAR PPC
Patch29: v8-powerpc-support-SConstruct.patch
# GCC8 HAPPY FUN TIME
Patch30: v8-3.14.5.10-gcc8.patch
# Python3
Patch31: v8-314-python3.patch
# gcc-11 diagnostics
Patch32: v8-314-gcc11.patch
# Disable -Werror
Patch33: v8-3.14.5.10-no-Werror.patch
%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
@ -176,6 +154,7 @@ as specified in ECMA-262, 3rd edition. This is version 3.14, which is no longer
maintained by Google, but was adopted by a lot of other software.
%package devel
Group: Development/Libraries
Summary: Development headers and libraries for v8
Requires: %{name}%{?_isa} = %{version}-%{release}
@ -193,39 +172,33 @@ Python libraries from v8.
%prep
%setup -q -n %{truename}-%{version}
%patch -P1 -p1
%patch -P2 -p1
%patch -P3 -p1
%patch -P4 -p1
%patch -P5 -p1
%patch -P6 -p1
%patch -P7 -p1
%patch -P8 -p1
%patch -P9 -p1
%patch -P10 -p1
%patch -P11 -p1
%patch -P12 -p1
%patch -P13 -p1
%patch -P14 -p1 -b .system-valgrind
%patch -P15 -p1 -b .abort-uncaught-exception
%patch -P16 -p1 -b .unhandled-ReferenceError
%patch -P17 -p1 -b .busy-loop
%patch -P18 -p1 -b .profiler-log
%patch -P19 -p1 -b .cve20143152
%patch -P20 -p1 -b .riu
%patch -P21 -p1 -b .mips
%patch -P22 -p1 -b .r15102
%patch -P23 -p1 -b .r19121
%patch -P24 -p1 -b .loongson
%patch -P25 -p1 -b .ppc
%patch -P26 -p1 -b .CVE-2016-1669
%patch -P27 -p1 -b .builtinname
%patch -P28 -p1 -b .gcc7
%patch -P29 -p1 -b .ppc-harder
%patch -P30 -p1 -b .gcc8
%patch -P31 -p1 -b .python3
%patch -P32 -p1 -b .gcc11
%patch -P33 -p1 -b .no-error
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1 -b .system-valgrind
%patch15 -p1 -b .abort-uncaught-exception
%patch16 -p1 -b .unhandled-ReferenceError
%patch17 -p1 -b .busy-loop
%patch18 -p1 -b .profiler-log
%patch19 -p1 -b .cve20143152
%patch20 -p1 -b .riu
%patch21 -p1 -b .mips
%patch22 -p1 -b .r15102
%patch23 -p1 -b .r19121
%patch24 -p1 -b .loongson
%patch25 -p1 -b .ppc
%patch26 -p1 -b .CVE-2016-1669
%patch27 -p1 -b .builtinname
# Do not need this lying about.
rm -rf src/third_party/valgrind
@ -238,7 +211,7 @@ rm -rf src/third_party/valgrind
%endif
# -fno-strict-aliasing is needed with gcc 4.4 to get past some ugly code
PARSED_OPT_FLAGS=`echo \'$RPM_OPT_FLAGS %{lrt} -fPIC -fno-strict-aliasing -Wno-unused-parameter -Wno-error=strict-overflow -Wno-unused-but-set-variable -Wno-error=cast-function-type -Wno-error=class-memaccess -Wno-error=stringop-overflow= -Wno-error=array-bounds -Wno-error=dangling-pointer= -Wno-error=use-after-free -fno-delete-null-pointer-checks\'| sed "s/ /',/g" | sed "s/',/', '/g"`
PARSED_OPT_FLAGS=`echo \'$RPM_OPT_FLAGS %{lrt} -fPIC -fno-strict-aliasing -Wno-unused-parameter -Wno-error=strict-overflow -Wno-unused-but-set-variable -fno-delete-null-pointer-checks\'| sed "s/ /',/g" | sed "s/',/', '/g"`
sed -i "s|'-O3',|$PARSED_OPT_FLAGS,|g" SConstruct
# clear spurious executable bits
@ -258,12 +231,6 @@ scons library=shared snapshots=on \
%ifarch x86_64
arch=x64 \
%endif
%ifarch ppc64
arch=ppc64 \
%endif
%ifarch ppc
arch=ppc \
%endif
%ifarch armv7hl armv7hnl
armeabi=hard \
%endif
@ -285,43 +252,43 @@ export ICU_LINK_FLAGS=`pkg-config --libs-only-l icu`
rm -rf libv8.so libv8preparser.so
# Now, lets make it right.
g++ $RPM_OPT_FLAGS -fPIC -o libv8preparser.so.%{sover} -shared -Wl,-soname,libv8preparser.so.%{somajor} \
src/allocation.os \
src/bignum.os \
src/bignum-dtoa.os \
src/cached-powers.os \
src/diy-fp.os \
src/dtoa.os \
src/fast-dtoa.os \
src/fixed-dtoa.os \
src/preparse-data.os \
src/preparser-api.os \
src/preparser.os \
src/scanner.os \
src/strtod.os \
src/token.os \
src/unicode.os \
src/utils.os
obj/release/allocation.os \
obj/release/bignum.os \
obj/release/bignum-dtoa.os \
obj/release/cached-powers.os \
obj/release/diy-fp.os \
obj/release/dtoa.os \
obj/release/fast-dtoa.os \
obj/release/fixed-dtoa.os \
obj/release/preparse-data.os \
obj/release/preparser-api.os \
obj/release/preparser.os \
obj/release/scanner.os \
obj/release/strtod.os \
obj/release/token.os \
obj/release/unicode.os \
obj/release/utils.os
# "obj/release/preparser-api.os" should not be included in the libv8.so file.
export RELEASE_BUILD_OBJS=`echo src/*.os | sed 's|src/preparser-api.os||g'`
export RELEASE_BUILD_OBJS=`echo obj/release/*.os | sed 's|obj/release/preparser-api.os||g'`
%ifarch %{arm}
g++ $RPM_OPT_FLAGS -fPIC -o libv8.so.%{sover} -shared -Wl,-soname,libv8.so.%{somajor} $RELEASE_BUILD_OBJS src/extensions/*.os src/arm/*.os $ICU_LINK_FLAGS
g++ $RPM_OPT_FLAGS -fPIC -o libv8.so.%{sover} -shared -Wl,-soname,libv8.so.%{somajor} $RELEASE_BUILD_OBJS obj/release/extensions/*.os obj/release/arm/*.os $ICU_LINK_FLAGS
%endif
%ifarch %{ix86}
g++ $RPM_OPT_FLAGS -fPIC -o libv8.so.%{sover} -shared -Wl,-soname,libv8.so.%{somajor} $RELEASE_BUILD_OBJS src/extensions/*.os src/ia32/*.os $ICU_LINK_FLAGS
g++ $RPM_OPT_FLAGS -fPIC -o libv8.so.%{sover} -shared -Wl,-soname,libv8.so.%{somajor} $RELEASE_BUILD_OBJS obj/release/extensions/*.os obj/release/ia32/*.os $ICU_LINK_FLAGS
%endif
%ifarch x86_64
g++ $RPM_OPT_FLAGS -fPIC -o libv8.so.%{sover} -shared -Wl,-soname,libv8.so.%{somajor} $RELEASE_BUILD_OBJS src/extensions/*.os src/x64/*.os $ICU_LINK_FLAGS
g++ $RPM_OPT_FLAGS -fPIC -o libv8.so.%{sover} -shared -Wl,-soname,libv8.so.%{somajor} $RELEASE_BUILD_OBJS obj/release/extensions/*.os obj/release/x64/*.os $ICU_LINK_FLAGS
%endif
%ifarch mips
g++ $RPM_OPT_FLAGS -fPIC -o libv8.so.%{sover} -shared -Wl,-soname,libv8.so.%{somajor} $RELEASE_BUILD_OBJS src/extensions/*.os src/mips/*.os $ICU_LINK_FLAGS
g++ $RPM_OPT_FLAGS -fPIC -o libv8.so.%{sover} -shared -Wl,-soname,libv8.so.%{somajor} $RELEASE_BUILD_OBJS obj/release/extensions/*.os obj/release/mips/*.os $ICU_LINK_FLAGS
%endif
%ifarch mipsel
g++ $RPM_OPT_FLAGS -fPIC -o libv8.so.%{sover} -shared -Wl,-soname,libv8.so.%{somajor} $RELEASE_BUILD_OBJS src/extensions/*.os src/mipsel/*.os $ICU_LINK_FLAGS
g++ $RPM_OPT_FLAGS -fPIC -o libv8.so.%{sover} -shared -Wl,-soname,libv8.so.%{somajor} $RELEASE_BUILD_OBJS obj/release/extensions/*.os obj/release/mipsel/*.os $ICU_LINK_FLAGS
%endif
%ifarch ppc ppc64
g++ $RPM_OPT_FLAGS -fPIC -o libv8.so.%{sover} -shared -Wl,-soname,libv8.so.%{somajor} $RELEASE_BUILD_OBJS src/extensions/*.os src/ppc/*.os $ICU_LINK_FLAGS
g++ $RPM_OPT_FLAGS -fPIC -o libv8.so.%{sover} -shared -Wl,-soname,libv8.so.%{somajor} $RELEASE_BUILD_OBJS obj/release/extensions/*.os obj/release/ppc/*.os $ICU_LINK_FLAGS
%endif
@ -344,12 +311,6 @@ armeabi=hard \
%ifarch armv5tel armv6l armv7l
armeabi=soft \
%endif
%ifarch ppc64
arch=ppc64 \
%endif
%ifarch ppc
arch=ppc \
%endif
snapshots=on console=readline visibility=default || :
# library=shared snapshots=on console=readline visibility=default || :
@ -395,7 +356,8 @@ install -p -m0744 tools/js2c.py %{buildroot}%{python_sitelib}/
chmod -R -x %{buildroot}%{python_sitelib}/*.py*
%endif
%ldconfig_scriptlets
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%doc AUTHORS ChangeLog
@ -409,134 +371,10 @@ chmod -R -x %{buildroot}%{python_sitelib}/*.py*
%if 0%{?with_python}
%files python
%{python2_sitelib}/j*.py*
%{python_sitelib}/j*.py*
%endif
%changelog
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.5.10-44
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Mon Jun 08 2026 František Zatloukal <fzatlouk@redhat.com> - 3.14.5.10-43
- Rebuilt for icu 78.3
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.5.10-42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Wed Aug 06 2025 František Zatloukal <fzatlouk@redhat.com> - 3.14.5.10-41
- Rebuilt for icu 77.1
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.5.10-40
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.5.10-39
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Sun Dec 08 2024 Pete Walter <pwalter@fedoraproject.org> - 3.14.5.10-38
- Rebuild for ICU 76
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.5.10-37
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sat Feb 10 2024 Tom Callaway <spot@fedoraproject.org> - 3.14.5.10-36
- disable -Werror. This package is filled with worms, we know it.
- fix license tag
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.5.10-35
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.5.10-34
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jul 11 2023 František Zatloukal <fzatlouk@redhat.com> - 3.14.5.10-33
- Rebuilt for ICU 73.2
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.5.10-32
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Dec 31 2022 Pete Walter <pwalter@fedoraproject.org> - 3.14.5.10-31
- Rebuild for ICU 72
* Mon Aug 01 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 3.14.5.10-30
- Rebuilt for ICU 71.1
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.5.10-29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 27 2022 Tom Callaway <spot@fedoraproject.org> - 3.14.5.10-28
- "fix" FTBFS
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.5.10-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.5.10-26
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu May 20 2021 Pete Walter <pwalter@fedoraproject.org> - 3.14.5.10-25
- Rebuild for ICU 69
* Wed May 19 2021 Pete Walter <pwalter@fedoraproject.org> - 3.14.5.10-24
- Rebuild for ICU 69
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.5.10-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sun Oct 18 2020 Jeff Law <law@redhat.com> - 3.14.5.10-22
- Fix diagnostics reported by gcc-11
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.5.10-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri May 15 2020 Pete Walter <pwalter@fedoraproject.org> - 3.14.5.10-20
- Rebuild for ICU 67
* Thu Feb 6 2020 Tom Callaway <spot@fedoraproject.org> - 3.14.5.10-19
- it is alive! (what have i done)
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.5.10-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.5.10-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.14.5.10-16
- Rebuild for readline 8.0
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.5.10-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Jan 23 2019 Pete Walter <pwalter@fedoraproject.org> - 3.14.5.10-14
- Rebuild for ICU 63
* Tue Jul 24 2018 Tom Callaway <spot@fedoraproject.org> - 3.14.5.10-13
- add BuildRequires: gcc, gcc-c++
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.5.10-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jul 10 2018 Pete Walter <pwalter@fedoraproject.org> - 3.14.5.10-11
- Rebuild for ICU 62
* Fri May 18 2018 Tom Callaway <spot@fedoraproject.org> - 3.14.5.10-10
- fix build of this dinosaur with gcc8, mostly by telling the compiler to ignore all the nasty code errors
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.5.10-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Nov 30 2017 Pete Walter <pwalter@fedoraproject.org> - 3.14.5.10-8
- Rebuild for ICU 60.1
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.5.10-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.5.10-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Tue Feb 28 2017 Tom Callaway <spot@fedoraproject.org> - 3.14.5.10-5
- fix FTBFS (thanks to Ben Noordhuis)
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.5.10-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Jul 25 2016 Tom Callaway <spot@fedoraproject.org> - 3.14.5.10-3
- drop epoch (new package, doesn't need it)

File diff suppressed because it is too large Load diff