diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2013-11-17 14:36:18 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2013-11-17 14:36:18 +0000 |
commit | c29871c2d5c7860c6c6c53e8d5c8a9fe434742d2 (patch) | |
tree | 9e002b414d3fb3a899deb43f9f6e14d02507121a /checklink | |
parent | 26bb5772c75efe1e4617fb9c4f2b8522989fac6d (diff) |
powerpc/: new unary operation "addsymbol"
Support far-data addressing in sections.
(Currently ignored in checklink.)
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2368 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'checklink')
-rw-r--r-- | checklink/Asm_printers.ml | 2 | ||||
-rw-r--r-- | checklink/Check.ml | 6 |
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 |