Modifikasi opsi kompilasi CFLAGS dalam file CMakeLists.txt dan Makefile untuk melakukan migrasi build dari x86 ke instance YiTian ECS.
Tambahkan opsi -mabi=lp64 dalam C dan C++
Opsi x86 -m64 mengompilasi kode sebagai 64-bit, tetapi tidak didukung pada instance YiTian. Gantilah -m64 dengan -mabi=lp64.
Gunakan C dan C++ untuk menambahkan paksa opsi kompilasi -fsigned-char
Pada x86, tipe char default adalah signed char, sedangkan pada instance YiTian nilai default-nya adalah unsigned char. Tambahkan opsi -fsigned-char untuk memaksa penggunaan signed char selama migrasi.
Gunakan C dan C++ untuk menentukan opsi arsitektur prosesor
Ganti opsi x86 march mtune mcpu dengan -march=armv8-a+sve2 -mcpu=neoverse-n1 untuk menghasilkan biner yang dioptimalkan bagi set instruksi YiTian.
Contoh
Berikut contoh CFLAGS sebelum dan sesudah migrasi dari x86 ke YiTian:
Kode sebelum modifikasi:
CFLAGS=-g3 -O2 -DNDEBUG -m64 -Wall -march=corei7
Kode setelah modifikasi:
# GNU Compiler Collection (GCC) 10 (suitable for Neoverse N1)
CFLAGS=-g3 -O2 -DNDEBUG -mabi=lp64 -Wall -march=armv8-a+crc+sve2 -mcpu=neoverse-n1 -fsigned-char
# GCC 11 (suitable for Neoverse N2)
CFLAGS=-g3 -O2 -DNDEBUG -mabi=lp64 -Wall -march=armv8-a+crc+sve2 -mcpu=neoverse-n2 -fsigned-char