summaryrefslogtreecommitdiff
path: root/gcc/config/darwin-protos.h
diff options
context:
space:
mode:
authoriains <iains@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-29 14:58:16 +0000
committeriains <iains@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-29 14:58:16 +0000
commit8e79e9d43f32c8852f068da91d655297d92ac0f4 (patch)
tree8c3109155c2d78bf97199aa9dbbef844a6a0e8a6 /gcc/config/darwin-protos.h
parent967958e4fad8758d10ff13a848fea17a153f41f1 (diff)
downloadgcc-8e79e9d43f32c8852f068da91d655297d92ac0f4.tar.gz
PR target/26427
PR target/33120 PR testsuite/35710 gcc: * config/i386/darwin.h (ASM_OUTPUT_COMMON): Remove (ASM_OUTPUT_LOCAL): Likewise. * config/darwin-protos.h (darwin_asm_declare_object_name): New. (darwin_output_aligned_bss): Likewise. (darwin_asm_output_aligned_decl_local): Likewise. (darwin_asm_output_aligned_decl_common): Likewise. (darwin_use_anchors_for_symbol_p): Likewise. * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Remove. (TARGET_ASM_OUTPUT_ANCHOR): Define. (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define. (DARWIN_SECTION_ANCHORS): Set to 1. * config/darwin.c (emit_aligned_common): New var. (darwin_init_sections): Check that the Darwin private zero-size section marker is in range. (darwin_text_section): Check for zero-sized objects. (darwin_mergeable_string_section): Likewise. (darwin_mergeable_constant_section): Likewise. (machopic_select_section): Adjust to check for zero-sized objects. Assert that OBJC meta data are non-zero sized. (darwin_asm_declare_object_name): New. (darwin_asm_declare_constant_name): Adjust for zero-sized object sections. (BYTES_ZFILL): Define. (darwin_emit_weak_or_comdat): New. (darwin_emit_local_bss): New. (darwin_emit_common): New. (darwin_output_aligned_bss): New. (darwin_asm_output_aligned_decl_common): New. (darwin_asm_output_aligned_decl_local): New. (darwin_file_end): Disable subsections_via_symbols when section anchoring is active. (darwin_asm_output_anchor): Re-enable. (darwin_use_anchors_for_symbol_p): New. (darwin_override_options): Check for versions that can emit aligned common. Update usage of flags to current. * config/darwin-sections.def: Update comments and flags for non-anchor sections. zobj_const_section, zobj_data_section, zobj_bss_section, zobj_const_data_section: New. * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Redefine. (ASM_OUTPUT_ALIGN): Make whitespace output consistent. (L2_MAX_OFILE_ALIGNMENT): Define. (ASM_OUTPUT_ALIGNED_BSS): Define. (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define. (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define. (SECTION_NO_ANCHOR): Define. (TARGET_ASM_OUTPUT_ANCHOR) Define with a default of NULL. (DARWIN_SECTION_ANCHORS): Define with a default of 0. boehm-gc: * dyn_load.c (GC_register_dynamic_libraries/DARWIN): Add new writable data section names. (GC_dyld_name_for_hdr): Adjust layout. (GC_dyld_image_add): Adjust layout, add new Darwin sections, adjust debug to name the sections. (GC_dyld_image_remove): Adjust layout, remove new Darwin sections, adjust debug to name the sections. (GC_register_dynamic_libraries): Adjust layout. (GC_init_dyld): Likewise. (GC_register_main_static_data): Likewise. gcc/testsuite: * gcc.target/powerpc/darwin-abi-12.c: Adjust for new allocators. * gcc.dg/pr26427.c: Remove redundant warning for powerpc. * gcc.dg/darwin-comm.c: Adjust for new allocators. * gcc.dg/darwin-sections.c: New test. * g++.dg/ext/instantiate2.C: Adjust for new allocators. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167242 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/darwin-protos.h')
-rw-r--r--gcc/config/darwin-protos.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/config/darwin-protos.h b/gcc/config/darwin-protos.h
index 08cacc14234..fca8065e074 100644
--- a/gcc/config/darwin-protos.h
+++ b/gcc/config/darwin-protos.h
@@ -85,12 +85,26 @@ extern tree darwin_handle_weak_import_attribute (tree *node, tree name,
extern void machopic_output_stub (FILE *, const char *, const char *);
extern void darwin_globalize_label (FILE *, const char *);
extern void darwin_assemble_visibility (tree, int);
+
extern void darwin_asm_output_dwarf_delta (FILE *, int, const char *,
const char *);
extern void darwin_asm_output_dwarf_offset (FILE *, int, const char *,
section *);
+
+extern void darwin_asm_declare_object_name (FILE *, const char *, tree);
extern void darwin_asm_declare_constant_name (FILE *, const char *,
const_tree, HOST_WIDE_INT);
+
+extern void darwin_output_aligned_bss (FILE *, tree, const char *,
+ unsigned HOST_WIDE_INT, unsigned int);
+
+extern void darwin_asm_output_aligned_decl_local (FILE *, tree, const char *,
+ unsigned HOST_WIDE_INT,
+ unsigned int);
+extern void darwin_asm_output_aligned_decl_common (FILE *, tree, const char *,
+ unsigned HOST_WIDE_INT,
+ unsigned int);
+
extern bool darwin_binds_local_p (const_tree);
extern void darwin_cpp_builtins (struct cpp_reader *);
@@ -104,6 +118,7 @@ extern tree darwin_build_constant_cfstring (tree);
extern void darwin_enter_string_into_cfstring_table (tree);
extern void darwin_asm_output_anchor (rtx symbol);
+extern bool darwin_use_anchors_for_symbol_p (const_rtx symbol);
extern bool darwin_kextabi_p (void);
extern void darwin_override_options (void);
extern void darwin_patch_builtins (void);