summaryrefslogtreecommitdiff
path: root/gcc/config/i386/midipix.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/i386/midipix.h')
-rw-r--r--gcc/config/i386/midipix.h33
1 files changed, 32 insertions, 1 deletions
diff --git a/gcc/config/i386/midipix.h b/gcc/config/i386/midipix.h
index 3502ba618..2354cf2ce 100644
--- a/gcc/config/i386/midipix.h
+++ b/gcc/config/i386/midipix.h
@@ -68,6 +68,8 @@
? MS_ABI \
: SYSV_ABI
+#undef SYMBOL_REF_DLLIMPORT_P
+#define SYMBOL_REF_DLLIMPORT_P midipix_symbol_ref_dllimport_p
#undef MULTIPLE_SYMBOL_SPACES
#define MULTIPLE_SYMBOL_SPACES (1)
@@ -161,6 +163,21 @@
#undef RODATA_SECTION_NAME
#define RODATA_SECTION_NAME ".rdata,\"r\""
+#undef GOT_SECTION_NAME
+#define GOT_SECTION_NAME ".got"
+
+#undef PROTECTED_SECTION_NAME
+#define PROTECTED_SECTION_NAME GOT_SECTION_NAME
+
+#undef HIDDEN_SECTION_NAME
+#define HIDDEN_SECTION_NAME ".hidden"
+
+#undef INTERNAL_SECTION_NAME
+#define INTERNAL_SECTION_NAME ".intern"
+
+#undef GOT_SECTION_ATTR
+#define GOT_SECTION_ATTR ",\"r\""
+
#undef GAS_PE_ASM_SET_OP
#define GAS_PE_ASM_SET_OP "\t.set\t"
@@ -205,6 +222,9 @@
#undef ASM_OUTPUT_DWARF_OFFSET
#define ASM_OUTPUT_DWARF_OFFSET midipix_asm_output_dwarf_offset
+#undef ASM_OUTPUT_GOT_ENTRY
+#define ASM_OUTPUT_GOT_ENTRY midipix_asm_output_got_entry
+
/* assembler labels */
#undef USER_LABEL_PREFIX
#define USER_LABEL_PREFIX (TARGET_NT64 ? "" : "_")
@@ -260,7 +280,7 @@
#define ASM_OUTPUT_ALIGNED_BSS asm_output_aligned_bss
#undef ASM_OUTPUT_ALIGNED_DECL_COMMON
-#define ASM_OUTPUT_ALIGNED_DECL_COMMON i386_pe_asm_output_aligned_decl_common
+#define ASM_OUTPUT_ALIGNED_DECL_COMMON midipix_i386_pe_asm_output_aligned_decl_common
#undef TARGET_ASM_UNIQUE_SECTION
#define TARGET_ASM_UNIQUE_SECTION i386_pe_unique_section
@@ -348,6 +368,7 @@ extern void midipix_asm_output_external (FILE * asmout, tree decl, const char *
extern void midipix_asm_output_def_from_decls (FILE * asmout, tree decl, tree target);
extern void midipix_asm_output_external_libcall (FILE * asmout, rtx fn);
+extern void midipix_asm_output_got_entry (FILE * asmout, const char * name, tree decl, section * sect);
extern void midipix_asm_declare_object_name (FILE * asmout, const char * name, tree decl);
extern void midipix_i386_pe_start_function (FILE * asmout, const char * name, tree decl);
extern void midipix_i386_pe_end_function (FILE * asmout, const char * name, tree decl);
@@ -366,6 +387,14 @@ extern section * midipix_i386_pe_function_section(
bool startup,
bool exit);
+extern void midipix_i386_pe_asm_output_aligned_decl_common(
+ FILE * stream,
+ tree decl,
+ const char * name,
+ HOST_WIDE_INT size,
+ HOST_WIDE_INT align);
+
+extern int midipix_symbol_ref_dllimport_p(rtx symbol);
/* inlined functions */
static inline void midipix_extra_os_cpp_builtins(void)
@@ -379,6 +408,7 @@ static inline void midipix_extra_os_cpp_builtins(void)
static inline void midipix_target_os_cpp_builtins(void)
{
builtin_define_std("__PE__");
+ builtin_define_std("__PE_VISIBILITY__");
builtin_define_std("__midipix__");
midipix_extra_os_cpp_builtins();
}
@@ -389,3 +419,4 @@ static inline int midipix_i386_pe_reloc_rw_mask (void)
}
#endif
+