Ich baue eine alte Version von js v8 https://github.com/v8/v8/wiki/Building-with-GN, genau für diesen Zweck https://github.com/tunz/js-vuln-db/blob/master/v8/CVE-2017-5070.md. Ich versuche zu einem alten Zweig über 17. Mai 2017 von einem Zweig commit (git reset --hard a8424d592feff907c3f9a47310765c81321abe7b
), und verwenden Sie den Befehl tools/dev/v8gen.py -b "V8 Linux64 - debug builder" -m client.v8 CVE-2017-5070 -vv
zu bauen damit zur Kasse, aber Fehler aufgetreten:Wie man alte Version von js v8 baut?
################################################################################
/usr/bin/python -u tools/mb/mb.py gen -f infra/mb/mb_config.pyl -m client.v8 -b V8 Linux64 - debug builder out.gn/CVE-2017-5070
Writing """\
is_component_build = true
is_debug = true
target_cpu = "x64"
use_goma = true
v8_enable_backtrace = true
v8_enable_slow_dchecks = true
v8_has_valgrind = true
v8_test_isolation_mode = "prepare"
""" to /home/cui/github/v8/v8/out.gn/CVE-2017-5070/args.gn.
/home/cui/github/v8/v8/buildtools/linux64/gn gen out.gn/CVE-2017-5070 --check
-> returned 1
ERROR at //gni/v8.gni:121:3: Dependency not allowed.
executable(target_name) {
^------------------------
The item //:mksnapshot
can not depend on //build/config/sanitizers:deps
because it is not in //build/config/sanitizers:deps's visibility list: [
//build/config:exe_and_shlib_deps
]
GN gen failed: 1
Traceback (most recent call last):
File "tools/dev/v8gen.py", line 304, in <module>
sys.exit(gen.main())
File "tools/dev/v8gen.py", line 298, in main
return self._options.func()
File "tools/dev/v8gen.py", line 166, in cmd_gen
gn_outdir,
File "tools/dev/v8gen.py", line 208, in _call_cmd
stderr=subprocess.STDOUT,
File "/usr/lib/python2.7/subprocess.py", line 219, in check_output
raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '['/usr/bin/python', '-u', 'tools/mb/mb.py', 'gen', '-f', 'infra/mb/mb_config.pyl', '-m', 'client.v8', '-b', 'V8 Linux64 - debug builder', 'out.gn/CVE-2017-5070']' returned non-zero exit status 1
Ich weiß nicht, wie alt zu bauen Version von js v8, können Sie mir einen Rat geben? ich brauche zu bauen diese alte Version nicht die neueste Version
Ja, ich habe das auch versucht, aber keine Verwendung, die Shell blockiert nur dort. Ich versuche, den Grund dafür zu finden, es ist, weil das Werkzeug "gn" nichts tun wird, nur dort blockieren. – margular
'gclient sync' ruft' gn' nicht auf und ist unbedingt erforderlich, bevor Sie ein Build erstellen können. Wenn Sie eine langsame Internetverbindung haben, kann es eine Weile dauern. – jmrk
Ja, ich habe den Befehl 'gclient sync' ausgeführt, und gn wird beim Befehl' v8gen.py x64.release' blockieren. Dann trenne ich diesen Befehl, schließlich habe ich festgestellt, dass er beim Aufruf von gn blockiert wird. – margular