// loads an object file from disk
// returns NULL on error (check lto_get_error_message() for details)
//
-lto_module_t lto_module_create_from_fd(int fd, const char *path, off_t size)
+lto_module_t lto_module_create_from_fd(int fd, const char *path, size_t size)
{
return LTOModule::makeLTOModule(fd, path, size, sLastErrorString);
}
+//
+// loads an object file from disk
+// returns NULL on error (check lto_get_error_message() for details)
+//
+lto_module_t lto_module_create_from_fd_at_offset(int fd, const char *path,
+ size_t file_size,
+ size_t map_size,
+ off_t offset)
+{
+ return LTOModule::makeLTOModule(fd, path, file_size, map_size,
+ offset, sLastErrorString);
+}
+
//
// loads an object file from memory
// returns NULL on error (check lto_get_error_message() for details)
//
void lto_codegen_set_assembler_path(lto_code_gen_t cg, const char* path)
{
- cg->setAssemblerPath(path);
+ // In here only for backwards compatibility. We use MC now.
}
void lto_codegen_set_assembler_args(lto_code_gen_t cg, const char** args,
int nargs)
{
- cg->setAssemblerArgs(args, nargs);
+ // In here only for backwards compatibility. We use MC now.
}
//
//
// Generates code for all added modules into one native object file.
-// On sucess returns a pointer to a generated mach-o/ELF buffer and
+// On success returns a pointer to a generated mach-o/ELF buffer and
// length set to the buffer size. The buffer is owned by the
// lto_code_gen_t and will be freed when lto_codegen_dispose()
// is called, or lto_codegen_compile() is called again.
return cg->compile(length, sLastErrorString);
}
+extern bool
+lto_codegen_compile_to_file(lto_code_gen_t cg, const char **name)
+{
+ return cg->compile_to_file(name, sLastErrorString);
+}
+
//
// Used to pass extra options to the code generator