aboutsummaryrefslogtreecommitdiffstats
path: root/cparser/Machine.ml
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2016-08-05 14:05:34 +0200
committerBernhard Schommer <bernhardschommer@gmail.com>2016-08-05 14:05:34 +0200
commit028aaefc44b8ed8bafd8b8896fedb53f6e68df3c (patch)
treed7f9325da52050a64e5c9ced1017a4f57c674ff3 /cparser/Machine.ml
parent4ac759d0bceef49d16197e3bb8c9767ece693c5e (diff)
downloadcompcert-kvx-028aaefc44b8ed8bafd8b8896fedb53f6e68df3c.tar.gz
compcert-kvx-028aaefc44b8ed8bafd8b8896fedb53f6e68df3c.zip
Implement support for big endian arm targets.
Adds support for the big endian arm targets by making the target endianess flag configurable, adding support for the big endian calling conventions, rewriting memory access patterns and adding big endian versions of the runtime functions. Bug 19418
Diffstat (limited to 'cparser/Machine.ml')
-rw-r--r--cparser/Machine.ml5
1 files changed, 4 insertions, 1 deletions
diff --git a/cparser/Machine.ml b/cparser/Machine.ml
index 7a12c649..364ebf28 100644
--- a/cparser/Machine.ml
+++ b/cparser/Machine.ml
@@ -173,10 +173,13 @@ let ppc_32_bigendian =
let ppc_32_diab_bigendian =
{ ppc_32_bigendian with sizeof_wchar = 2; wchar_signed = false }
-
let arm_littleendian =
{ ilp32ll64 with name = "arm" }
+let arm_bigendian =
+ { arm_littleendian with bigendian = true;
+ bitfields_msb_first = true }
+
(* Add GCC extensions re: sizeof and alignof *)
let gcc_extensions c =