summaryrefslogtreecommitdiff
path: root/checklink/Frameworks.ml
diff options
context:
space:
mode:
authorGravatar varobert <varobert@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2012-04-13 08:35:21 +0000
committerGravatar varobert <varobert@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2012-04-13 08:35:21 +0000
commit3f205ff4314ccac92e4d74951929aa31b0308274 (patch)
tree7d7d939b918f0a2be8423c66a5c47346145d4eaa /checklink/Frameworks.ml
parentacec11c3a6f9364eaabe398de6e65ccff510bf39 (diff)
New section mapping checks and symbol data lookup
Section mapping is now discovered on-the-fly, and linker script remappings are reported as warnings at the end. Symbol data lookup is now able to gracefully fail if the symbol's virtual address is not within the range of its parent section's virtual address space. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1878 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'checklink/Frameworks.ml')
-rw-r--r--checklink/Frameworks.ml6
1 files changed, 6 insertions, 0 deletions
diff --git a/checklink/Frameworks.ml b/checklink/Frameworks.ml
index f35672d..4054b68 100644
--- a/checklink/Frameworks.ml
+++ b/checklink/Frameworks.ml
@@ -38,6 +38,7 @@ type e_framework = {
chkd_bytes_list: (int32 * int32 * int * byte_chunk_desc) list;
chkd_fun_syms: bool array;
chkd_data_syms: bool array;
+ section_map: string StringMap.t;
}
module PosOT = struct
@@ -104,6 +105,11 @@ let log = {
set = (fun l ef -> { ef with log = l });
}
+let section_map = {
+ get = (fun ef -> ef.section_map);
+ set = (fun m ef -> { ef with section_map = m });
+}
+
let ident_to_sym_ndx = {
get = (fun sf -> sf.ident_to_sym_ndx);
set = (fun i sf -> { sf with ident_to_sym_ndx = i });