Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -651,6 +651,20 @@ foreach target : target_dirs
]
)
test('latx-aot-file-publish', aot_file_publish_test)

aot_pe_load_address_test = executable(
'test-latx-aot-pe-load-address',
files(
'target/i386/latx/sbt/tests/aot-pe-load-address-test.c',
'target/i386/latx/sbt/segment.c',
'target/i386/latx/sbt/aot_lib.c'
),
c_args: smc_reload_test_c_args,
dependencies: [glib],
include_directories: target_inc,
link_args: smc_reload_test_link_args
)
test('latx-aot-pe-load-address', aot_pe_load_address_test)
endif

execs = [{
Expand Down
6 changes: 4 additions & 2 deletions target/i386/latx/include/aot.h
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,8 @@ extern seg_info **seg_info_vector;
void mk_aot_dir(char * pathname);
void dump_aot_buffer(aot_header *p_header);
void dump_seg(aot_segment *p_segment, aot_header *p_header);
lib_info *aot_load(char *lib_name, void **curr_aot_buffer);
lib_info *aot_load(char *lib_name, char *aot_file_name,
void **curr_aot_buffer);
void aot_tb_register(TranslationBlock *tb);
void aot_do_tb_reloc(TranslationBlock *tb, struct aot_tb *stb,
target_ulong seg_begin, target_ulong seg_end);
Expand Down Expand Up @@ -339,7 +340,8 @@ extern aot_rel *aot_rel_table;
extern aot_file_info *aot_buffer_all;
extern int aot_buffer_all_num;

void get_aot_path(const char *lib_name, char *file_path);
int get_aot_path(const char *lib_name, char *file_path,
size_t file_path_size);
char in_share_list(char *lib);
char in_black_list(char *lib);
char in_white_list(char *lib);
Expand Down
4 changes: 3 additions & 1 deletion target/i386/latx/include/aot_lib.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,14 @@
typedef struct lib_info {
char *name;
void *buffer;
size_t map_len;
bool is_unmapped;
} lib_info;

void lib_tree_init(void);

lib_info *lib_tree_insert(char *name, void *buffer);
lib_info *lib_tree_insert(char *name, void *buffer, size_t map_len);
bool lib_tree_remove(char *name);

gint get_lib_num(void);
void do_lib_record(lib_info **lib_info_vector);
Expand Down
4 changes: 4 additions & 0 deletions target/i386/latx/include/segment.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ typedef struct seg_info {
};
#define SEG_RUNNING 0x1
#define IS_ELF_SEG 0x2
#define SEG_AOT_LOADED 0x4
uint8_t seg_flag;
uint8_t aot_file_type;
} seg_info;

typedef struct wine_sec_info {
Expand Down Expand Up @@ -85,5 +87,7 @@ void segment_tree_remove(seg_info *val);
bool segment_tree_winepe_lookup(target_ulong pc);
gint get_segment_num(void);
void do_segment_record(seg_info **seg_info_vector);
int segment_get_aot_file_name(const seg_info *seg, char *name,
size_t name_size);

#endif
Loading