Skip to content

Commit b93414f

Browse files
committed
Objcopy replaces - with _ in the generated symbols
1 parent 98a33dc commit b93414f

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

build.rs

+5-3
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ fn main() {
2020
process::exit(1);
2121
}
2222
});
23+
2324
let kernel_file_name = kernel.file_name().expect("KERNEL has no valid file name").to_str().expect("kernel file name not valid utf8");
25+
let kernel_file_name_replaced = kernel_file_name.replace('-', "_");
2426
let kernel_out_path = out_dir.join(format!("kernel_bin-{}.o", kernel_file_name));
2527
let kernel_archive_path = out_dir.join(format!("libkernel_bin-{}.a", kernel_file_name));
2628

@@ -44,9 +46,9 @@ fn main() {
4446
cmd.arg("-O").arg("elf64-x86-64");
4547
cmd.arg("--binary-architecture=i386:x86-64");
4648
cmd.arg("--rename-section").arg(".data=.kernel");
47-
cmd.arg("--redefine-sym").arg(format!("_binary_{}_start=_kernel_start_addr", kernel_file_name));
48-
cmd.arg("--redefine-sym").arg(format!("_binary_{}_end=_kernel_end_addr", kernel_file_name));
49-
cmd.arg("--redefine-sym").arg(format!("_binary_{}_size=_kernel_size", kernel_file_name));
49+
cmd.arg("--redefine-sym").arg(format!("_binary_{}_start=_kernel_start_addr", kernel_file_name_replaced));
50+
cmd.arg("--redefine-sym").arg(format!("_binary_{}_end=_kernel_end_addr", kernel_file_name_replaced));
51+
cmd.arg("--redefine-sym").arg(format!("_binary_{}_size=_kernel_size", kernel_file_name_replaced));
5052
cmd.current_dir(kernel.parent().expect("KERNEL has no valid parent dir"));
5153
cmd.arg(&kernel_file_name);
5254
cmd.arg(&kernel_out_path);

0 commit comments

Comments
 (0)