aboutsummaryrefslogtreecommitdiffstats
path: root/powerpc/TargetPrinter.ml
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2016-11-10 10:35:35 +0100
committerBernhard Schommer <bernhardschommer@gmail.com>2016-11-10 10:35:35 +0100
commit4eb3efa2ccbf58c59a8d181c7d616b3d0c06e02b (patch)
tree63a46d2ec6462679523877c6e8d1b54c298bf16c /powerpc/TargetPrinter.ml
parent3f2584ada2c61c2648366a0318bb6996909c5623 (diff)
downloadcompcert-kvx-4eb3efa2ccbf58c59a8d181c7d616b3d0c06e02b.tar.gz
compcert-kvx-4eb3efa2ccbf58c59a8d181c7d616b3d0c06e02b.zip
Use 64 bit address in debug information.
Address constants need to be 64bit also in the debug information. Bug 20335
Diffstat (limited to 'powerpc/TargetPrinter.ml')
-rw-r--r--powerpc/TargetPrinter.ml7
1 files changed, 7 insertions, 0 deletions
diff --git a/powerpc/TargetPrinter.ml b/powerpc/TargetPrinter.ml
index 1271e410..3d4db98f 100644
--- a/powerpc/TargetPrinter.ml
+++ b/powerpc/TargetPrinter.ml
@@ -41,6 +41,7 @@ module type SYSTEM =
val print_epilogue: out_channel -> unit
val section: out_channel -> section_name -> unit
val debug_section: out_channel -> section_name -> unit
+ val address: string
end
let symbol = elf_symbol
@@ -170,6 +171,8 @@ module Linux_System : SYSTEM =
end
let debug_section _ _ = ()
+
+ let address = if Archi.ptr64 then ".quad" else ".4byte"
end
module Diab_System : SYSTEM =
@@ -301,6 +304,8 @@ module Diab_System : SYSTEM =
and end_line () = fprintf oc " .d2_line_end\n" in
Debug.compute_diab_file_enum end_label entry_label end_line
+ let address = assert (not Archi.ptr64); ".4byte"
+
end
module Target (System : SYSTEM):TARGET =
@@ -868,6 +873,8 @@ module Target (System : SYSTEM):TARGET =
let new_label = new_label
+ let address = address
+
let section oc sec =
section oc sec;
debug_section oc sec