From a167042b31d51910322f72fba291719d103a2854 Mon Sep 17 00:00:00 2001 From: John van Groningen Date: Mon, 24 Jun 2013 15:48:21 +0000 Subject: use pc relative addressing for move from or to P_LABEL or lea of P_LABEL on 64 bit linux --- cgawas.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cgawas.c b/cgawas.c index ccfdfa2..cf853fc 100644 --- a/cgawas.c +++ b/cgawas.c @@ -1108,7 +1108,7 @@ static void w_as_move_instruction (struct instruction *instruction,int size_flag w_as_local_label (instruction->instruction_parameters[0].parameter_data.l->label_number); else w_as_label (instruction->instruction_parameters[0].parameter_data.l->label_name); -#ifdef MACH_O64 +#if defined (MACH_O64) || defined (LINUX) fprintf (assembly_file,"%s",intel_asm ? "[rip]" : "(%rip)"); #endif break; @@ -1365,7 +1365,7 @@ static void w_as_move_instruction (struct instruction *instruction,int size_flag w_as_local_label (instruction->instruction_parameters[1].parameter_data.l->label_number); else w_as_label (instruction->instruction_parameters[1].parameter_data.l->label_name); -#ifdef MACH_O64 +#if defined (MACH_O64) || defined (LINUX) fprintf (assembly_file,"%s",intel_asm ? "[rip]" : "(%rip)"); #endif if (intel_asm) @@ -1445,7 +1445,7 @@ static void w_as_lea_instruction (struct instruction *instruction) offset=instruction->instruction_parameters[0].parameter_offset; fprintf (assembly_file,offset>=0 ? "+%d" : "%d",offset); } -#ifdef MACH_O64 +#if defined (MACH_O64) || defined (LINUX) fprintf (assembly_file,"%s",intel_asm ? "[rip]" : "(%rip)"); #endif } else -- cgit v1.2.3