diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2017-03-29 21:01:51 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2017-03-29 21:01:51 (GMT) |
commit | b8d5a539b1e6837f7395598a3fa25ef69650e885 (patch) | |
tree | 2fbf770b1aebf1b66a8ac87e2eeae4521775d092 /src/format/executable-int.c | |
parent | 4f3f96c2c98ac507f4aa7c83e2393c5c1fdd3cdd (diff) |
Handled areas which are not allocated in memory.
Diffstat (limited to 'src/format/executable-int.c')
-rw-r--r-- | src/format/executable-int.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/format/executable-int.c b/src/format/executable-int.c index eff3d39..ebea16e 100644 --- a/src/format/executable-int.c +++ b/src/format/executable-int.c @@ -41,13 +41,7 @@ bool g_exe_format_without_virt_translate_offset_into_vmpa(const GExeFormat *format, phys_t off, vmpa2t *pos) { - /** - * On ne peut pas initialiser la partie virtuelle à VMPA_NO_VIRTUAL - * car les manipulations au niveau des formats (par exemple, cf. la fonction - * g_binary_format_add_symbol()) attendent des définitions complètes. - */ - - init_vmpa(pos, off, off); + init_vmpa(pos, off, VMPA_NO_VIRTUAL); return true; @@ -71,12 +65,16 @@ bool g_exe_format_without_virt_translate_offset_into_vmpa(const GExeFormat *form bool g_exe_format_without_virt_translate_address_into_vmpa(const GExeFormat *format, virt_t addr, vmpa2t *pos) { /** - * Comme les sauts dans le code sont considérés en mémoire virtuelle, - * on tolère la considération de champs virtuels même si l'architecture n'en - * a pas la définition. + * S'il n'y a pas de notion de mémoire virtuelle, positions physiques et + * adresses virtuelles se confondent. + * + * On reste néanmoins cohérent, et on n'utilise donc pas d'adresse virtuelle. + * + * Les sauts dans le code renvoient de façon transparente vers des positions + * physiques. */ - init_vmpa(pos, addr, addr); + init_vmpa(pos, addr, VMPA_NO_VIRTUAL); return true; |