summaryrefslogtreecommitdiff
path: root/cgaas.c
diff options
context:
space:
mode:
authorJohn van Groningen2013-07-31 12:00:03 +0000
committerJohn van Groningen2013-07-31 12:00:03 +0000
commit5a754c103953dcbfb06ec0c65bb09fae3ba89796 (patch)
tree357978f33b3c355a57c1d2bd462c2426ab9c738c /cgaas.c
parentuse 64 bit code addresses in descriptors, for position independent code on linux (diff)
don't use 12 bytes to store an 8 byte descriptor when generating position independent code on linux
Diffstat (limited to 'cgaas.c')
-rw-r--r--cgaas.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/cgaas.c b/cgaas.c
index bbf6c77..822fabb 100644
--- a/cgaas.c
+++ b/cgaas.c
@@ -2341,7 +2341,13 @@ void store_label_offset_in_data_section (LABEL *label)
void store_descriptor_in_data_section (LABEL *label)
{
store_label_plus_offset_in_data_section (label,2);
+
+#ifndef MACH_O64
+# ifdef LINUX
+ if (!pic_flag)
+# endif
store_long_word_in_data_section (0);
+#endif
}
static void as_branch_label (struct label *label,int relocation_kind)