diff options
author | Bernhard Schommer <bschommer@users.noreply.github.com> | 2017-10-19 13:08:13 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-19 13:08:13 +0200 |
commit | 6a010b47b216c5a6b6e85abcfbba5339bab15dd6 (patch) | |
tree | 4c7f8bacd081f023cfd3220b0aac0e186567d051 /arm/Asmexpand.ml | |
parent | a0f238a3d270edd7042d9852d43e3ec5b9602af2 (diff) | |
download | compcert-6a010b47b216c5a6b6e85abcfbba5339bab15dd6.tar.gz compcert-6a010b47b216c5a6b6e85abcfbba5339bab15dd6.zip |
New support for inserting ais-annotations.
The ais annotations can be inserted via the new ais variants of
the builtin annotation. They mainly differe in that they have an
address format specifier '%addr' which will be replaced by the
adress in the binary.
The implementation simply prints a label for the builtin call
alongside a the text of the annotation as comment and inserts the
annotation together as acii string in a separate section
'ais_annotations' and replaces the usages of the address format
specifiers by the address of the label of the builtin call.
Diffstat (limited to 'arm/Asmexpand.ml')
-rw-r--r-- | arm/Asmexpand.ml | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arm/Asmexpand.ml b/arm/Asmexpand.ml index 04b4152d..b65007df 100644 --- a/arm/Asmexpand.ml +++ b/arm/Asmexpand.ml @@ -81,8 +81,8 @@ let expand_int64_arith conflict rl fn = (* Handling of annotations *) -let expand_annot_val txt targ args res = - emit (Pbuiltin (EF_annot(txt,[targ]), args, BR_none)); +let expand_annot_val kind txt targ args res = + emit (Pbuiltin (EF_annot(kind,txt,[targ]), args, BR_none)); match args, res with | [BA(IR src)], BR(IR dst) -> if dst <> src then emit (Pmov (dst,SOreg src)) @@ -453,8 +453,8 @@ let expand_instruction instr = expand_builtin_vload chunk args res | EF_vstore chunk -> expand_builtin_vstore chunk args - | EF_annot_val (txt,targ) -> - expand_annot_val txt targ args res + | EF_annot_val (kind,txt,targ) -> + expand_annot_val kind txt targ args res | EF_memcpy(sz, al) -> expand_builtin_memcpy (Int32.to_int (camlint_of_coqint sz)) (Int32.to_int (camlint_of_coqint al)) args |