I am trying to cross-compile V8 for ARM on MacOS. At some point of the compilation process, mksnapshot is used to create the snapshot_blob.bin file:
python ../../tools/run.py ./clang_x86_v8_arm/mksnapshot --turbo_instruction_scheduling --embedded_src gen/embedded.S --embedded_variant Default --random-seed 314159265 --startup_blob snapshot_blob.bin The resulting embedded.S seems invalid because all label names are prefixed with _ .text .balign 32 _v8_Default_embedded_blob_data_: .octa 0x3200000030c0000000000d96c5c,0x3a0000000380000036000000038 .... _Builtins_AdaptorWithExitFrame: .octa 0xe24dd004e1a04080e2800005e591700f, 0xee0eca10e51acfc3e52d3004e92d0012 ... _Builtins_AdaptorWithBuiltinExitFrame: .octa 0xe24dd004e1a04080e2800005e591700f, 0xee0eca10e51acfc3e52d3004e92d0012 ... _Builtins_ArgumentsAdaptorTrampoline: .octa 0xe15000020a000034e152000ce30fcfff, 0xe92d4813e3a04024e0800000ba000012 ... As a result, a compilation error is emitted: FAILED: obj/v8_external_snapshot/embedded.o ../../third_party/llvm-build/Release+Asserts/bin/clang -MMD -MF obj/ v8_external_snapshot/embedded.o.d -DV8_DEPRECATION_WARNINGS -DNO_TCMALLOC -DSAFE_BROWSING_DB_REMOTE -DOFFICIAL_BUILD -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -D_GNU_SOURCE -DANDROID -DHAVE_SYS_UIO_H -DANDROID_NDK_VERSION_ROLL=r16_1 - DCR_CLANG_REVISION=\"346388-5\" -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -D__GNU_SOURCE=1 -DCHROMIUM_CXX_TWEAK_INLINES -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -DENABLE_MINOR_MC -DV8_DEPRECATION_WARNINGS -DV8_IMMINENT_DEPRECATION_WARNINGS -DV8_USE_SNAPSHOT -DV8_USE_EXTERNAL_STARTUP_DATA -DV8_CONCURRENT_MARKING -DV8_EMBEDDED_BUILTINS -DV8_TARGET_ARCH_ARM -DCAN_USE_ARMV7_INSTRUCTIONS -DCAN_USE_VFP3_INSTRUCTIONS -DCAN_USE_VFP32DREGS -DCAN_USE_NEON -I../.. -Igen -I../.. -Igen -fPIC -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -fcolor-diagnostics -fmerge-all-constants -Xclang -mllvm -Xclang -instcombine-lower-dbg-declare=0 -no-canonical-prefixes -std=c11 -ffunction-sections -fno-short-enums --target=arm-linux-androideabi -isystem../../third_party/android_ndk/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=16 -DHAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC=1 -march=armv7-a -mfloat-abi=softfp -mtune=generic-armv7-a -mfpu=neon -g0 --sysroot=../../third_party/android_ndk/sysroot -c gen/embedded.S -o obj/v8_external_snapshot/embedded.o gen/embedded.S:41481:17: error: unable to emit symbol attribute in directive .private_extern _v8_Default_embedded_blob_ ^ gen/embedded.S:41486:1: error: unknown directive .const_data ^ gen/embedded.S:41487:17: error: unable to emit symbol attribute in directive .private_extern _v8_Default_embedded_blob_size_ ^ ninja: build stopped: subcommand failed. The same process works fine on Ubuntu where the embedded.S labels are not prefixed with underscores. Do you have any idea where this difference in the generated embedded.S might come from? NOTE: I am building from the 7.2.502.24 tag. -- -- v8-users mailing list v8-users@googlegroups.com http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.