From 4eb3efa2ccbf58c59a8d181c7d616b3d0c06e02b Mon Sep 17 00:00:00 2001 From: Bernhard Schommer Date: Thu, 10 Nov 2016 10:35:35 +0100 Subject: Use 64 bit address in debug information. Address constants need to be 64bit also in the debug information. Bug 20335 --- powerpc/TargetPrinter.ml | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'powerpc/TargetPrinter.ml') 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 -- cgit