summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn van Groningen2013-08-01 12:42:45 +0000
committerJohn van Groningen2013-08-01 12:42:45 +0000
commit0fffbbd0d26f46c91141ffbe46ecc5aedf63425e (patch)
tree14c2ed2d2f3133aece693d183cd338a958d7aff8
parentuse 64 instead of 32 bit address in indirect jump for position independent co... (diff)
fix offsets in descriptors, for position independent code on linux
-rw-r--r--cgstack.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/cgstack.c b/cgstack.c
index b06f7c7..d894338 100644
--- a/cgstack.c
+++ b/cgstack.c
@@ -4027,6 +4027,8 @@ static void generate_code_for_basic_block (struct block_graph *next_block_graph)
i_move_id_r (0,REGISTER_A1,REGISTER_A2);
# ifdef MACH_O64
i_jsr_id (8-2,REGISTER_A2,0);
+# elif defined (G_A64) && defined (LINUX)
+ i_jsr_id (pic_flag ? 8-2 : 4-2,REGISTER_A2,0);
# else
i_jsr_id (4-2,REGISTER_A2,0);
# endif