summaryrefslogtreecommitdiff
path: root/checklink
diff options
context:
space:
mode:
Diffstat (limited to 'checklink')
-rw-r--r--checklink/Asm_printers.ml2
-rw-r--r--checklink/Check.ml6
2 files changed, 8 insertions, 0 deletions
diff --git a/checklink/Asm_printers.ml b/checklink/Asm_printers.ml
index 794d47a..5b3abe8 100644
--- a/checklink/Asm_printers.ml
+++ b/checklink/Asm_printers.ml
@@ -109,6 +109,8 @@ let string_of_constant = function
| Csymbol_low (i0, i1) -> "Csymbol_low(" ^ string_of_ident i0 ^ ", " ^ string_of_iint i1 ^ ")"
| Csymbol_high (i0, i1) -> "Csymbol_high(" ^ string_of_ident i0 ^ ", " ^ string_of_iint i1 ^ ")"
| Csymbol_sda (i0, i1) -> "Csymbol_sda(" ^ string_of_ident i0 ^ ", " ^ string_of_iint i1 ^ ")"
+| Csymbol_rel_low (i0, i1) -> "Csymbol_rel_low(" ^ string_of_ident i0 ^ ", " ^ string_of_iint i1 ^ ")"
+| Csymbol_rel_high (i0, i1) -> "Csymbol_rel_high(" ^ string_of_ident i0 ^ ", " ^ string_of_iint i1 ^ ")"
let string_of_crbit = function
| CRbit_0 -> "CRbit_0"
diff --git a/checklink/Check.ml b/checklink/Check.ml
index be1360d..59ee4ee 100644
--- a/checklink/Check.ml
+++ b/checklink/Check.ml
@@ -436,6 +436,12 @@ let match_csts (cc: constant) (ec: int32): checker = fun ffw ->
| Csymbol_sda (ident, i) ->
(* sda should be handled separately in places it occurs *)
fatal "Unhandled Csymbol_sda, please report."
+ | Csymbol_rel_low (ident, i) | Csymbol_rel_high (ident, i) ->
+ (* not checked yet *)
+ OK((ff_ef ^%=
+ (add_log (WARNING("Cannot check access to far-data symbol " ^
+ Hashtbl.find ffw.sf.ident_to_name ident))))
+ ffw)
let match_z_int32 (cz: Z.t) (ei: int32) =
let cz = z_int32 cz in