@@ -17,7 +17,7 @@ use std::mem::{size_of, zeroed};
1717macro_rules! print_inst_label {
1818 ( $name: ident, $real_name: ident, $code: expr) => {
1919 println!(
20- "\t .long\t .CKB_VM_ASM_LABEL_OP_{} - .CKB_VM_ASM_LABEL_TABLE " ,
20+ "\t .long\t .CKB_VM_ASM_LABEL_OP_{} - .CKB_VM_X64_EXECUTE " ,
2121 stringify!( $real_name)
2222 ) ;
2323 } ;
@@ -222,20 +222,26 @@ fn main() {
222222
223223 println ! ( "#ifdef CKB_VM_ASM_GENERATE_LABEL_TABLES" ) ;
224224 println ! ( "#ifdef __APPLE__" ) ;
225+ println ! ( ".section __DATA,__const" ) ;
226+ println ! ( ".p2align 3" ) ;
225227 println ! ( ".global _ckb_vm_asm_labels" ) ;
226228 println ! ( "_ckb_vm_asm_labels:" ) ;
227229 println ! ( "#elif __riscv" ) ;
230+ println ! ( ".section .rodata" ) ;
228231 println ! ( ".p2align 3" ) ;
229232 println ! ( ".global ckb_vm_asm_labels" ) ;
230233 println ! ( "ckb_vm_asm_labels:" ) ;
231234 println ! ( "#else" ) ;
235+ println ! ( ".section .rodata" ) ;
236+ println ! ( ".p2align 3" ) ;
232237 println ! ( ".global ckb_vm_asm_labels" ) ;
233238 println ! ( "ckb_vm_asm_labels:" ) ;
234239 println ! ( "#endif" ) ;
235240 println ! ( ".CKB_VM_ASM_LABEL_TABLE:" ) ;
236241 for _ in 0 ..0x10 {
237- println ! ( "\t .long\t .exit_slowpath - .CKB_VM_ASM_LABEL_TABLE " ) ;
242+ println ! ( "\t .long\t .exit_slowpath - .CKB_VM_X64_EXECUTE " ) ;
238243 }
239244 for_each_inst ! ( print_inst_label) ;
240245 println ! ( "#endif /* CKB_VM_ASM_GENERATE_LABEL_TABLES */" ) ;
246+ println ! ( ".text" ) ;
241247}
0 commit comments