diff options
author | John van Groningen | 2013-06-25 10:55:11 +0000 |
---|---|---|
committer | John van Groningen | 2013-06-25 10:55:11 +0000 |
commit | ec64d2edb27775793c997bd8f6620fd8c684c948 (patch) | |
tree | 1f1b6b155b7991a8e1206cde86315c6f27878acf | |
parent | use pc relative lea instruction for eval_upd_.. on 64 bit linux (diff) |
use lea to load a descriptor instead of P_DESCRIPTOR_NUMBER when generating position independent code on 64 bit linux
-rw-r--r-- | cglin.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -8907,10 +8907,14 @@ static void linearize_graph (INSTRUCTION_GRAPH graph,ADDRESS *ad_p) return; case GLEA: { - register int reg_1; + int reg_1; #if defined (I486) && !defined (MACH_O64) - if (graph->node_count==1){ + if (graph->node_count==1 +# if defined (G_AI64) && defined (LINUX) + && !pic_flag +# endif + ){ ad_p->ad_mode=P_DESCRIPTOR_NUMBER; if (graph->inode_arity==1) ad_p->ad_offset=graph->instruction_parameters[1].i; |