diff options
author | Stan Shebs <shebs@apple.com> | 2001-04-12 02:13:00 +0000 |
---|---|---|
committer | Stan Shebs <shebs@gcc.gnu.org> | 2001-04-12 02:13:00 +0000 |
commit | ee890fe2a15b3ed799f92a951ea64825793deec8 (patch) | |
tree | 050edc4f92fee78d3a1e0cff1ebad238fc8801f2 /gcc/config/darwin-protos.h | |
parent | 5101b304668b06b6ef938a0acc84ba03debc816a (diff) | |
download | gcc-ee890fe2a15b3ed799f92a951ea64825793deec8.zip gcc-ee890fe2a15b3ed799f92a951ea64825793deec8.tar.gz gcc-ee890fe2a15b3ed799f92a951ea64825793deec8.tar.bz2 |
Add Darwin (Mac OS X kernel) native support.
* config.gcc (powerpc-*-darwin*): Add native bits.
* config/darwin.c: New file, generic Darwin support functions.
* config/darwin.h: New file, generic Darwin definitions.
* config/darwin-protos.h: New file, generic Darwin prototypes.
* rs6000/darwin.h: New file, Darwin for PowerPC.
* rs6000/t-darwin: New file, Darwin makefile fragment.
* rs6000/rs6000.h (OBJECT_MACHO): New macro.
(TARGET_MACHO): Ditto.
(rs6000_abi): Add ABI_DARWIN.
(RS6000_REG_SAVE): Add ABI_DARWIN case.
(RS6000_SAVE_AREA): Ditto.
(FP_ARG_MAX_REG): Ditto.
(RETURN_ADDRESS_OFFSET): Ditto.
* rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
cases.
(rs6000_emit_move): Add ABI_DARWIN cases.
(print_operand): Ditto.
(first_reg_to_save): Ditto.
(rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
(debug_stack_info): Ditto.
(rs6000_emit_prologue): Ditto.
(rs6000_emit_epilogue): Ditto.
(output_profiler_hook): Ditto.
(output_function_profiler): Ditto.
(rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
(output_mi_thunk): Add TARGET_MACHO case.
(add_compiler_stub): Ditto.
(output_compiler_stub): Ditto.
(no_previous_def): Ditto.
(output_call): Ditto.
(machopic_output_stub): Ditto.
(rs6000_machopic_legitimize_pic_address): Ditto.
(toc_section): Ditto.
* rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
(macho_high): Ditto.
(macho_low): Ditto.
(movsi_low): Ditto.
(load_macho_picbase): Ditto.
(call): Add TARGET_MACHO case to modify function.
(call_value): Ditto.
(call_nonlocal_sysv): Add ABI_DARWIN case.
(call_value_nonlocal_sysv): Ditto.
* rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
Add prototype.
(machopic_output_stub): Ditto.
* ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
From-SVN: r41277
Diffstat (limited to 'gcc/config/darwin-protos.h')
-rw-r--r-- | gcc/config/darwin-protos.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/gcc/config/darwin-protos.h b/gcc/config/darwin-protos.h new file mode 100644 index 0000000..b2326c0 --- /dev/null +++ b/gcc/config/darwin-protos.h @@ -0,0 +1,57 @@ +/* Prototypes. + Copyright (C) 2001 Free Software Foundation, Inc. + +This file is part of GNU CC. + +GNU CC is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU CC is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU CC; see the file COPYING. If not, write to +the Free Software Foundation, 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +extern int name_needs_quotes PARAMS ((const char *)); + +extern void machopic_validate_stub_or_non_lazy_ptr PARAMS ((const char *, int)); + +extern char *machopic_function_base_name PARAMS ((void)); +extern char *machopic_non_lazy_ptr_name PARAMS ((const char*)); +extern char *machopic_stub_name PARAMS ((const char*)); + +extern void machopic_add_gc_roots PARAMS ((void)); + +extern void machopic_picsymbol_stub_section PARAMS ((void)); +extern void machopic_symbol_stub_section PARAMS ((void)); +extern void machopic_lazy_symbol_ptr_section PARAMS ((void)); +extern void machopic_nl_symbol_ptr_section PARAMS ((void)); + +#ifdef RTX_CODE + +extern int machopic_operand_p PARAMS ((rtx)); +extern enum machopic_addr_class machopic_classify_name PARAMS ((const char*)); + +extern rtx machopic_indirect_data_reference PARAMS ((rtx, rtx)); +extern rtx machopic_indirect_call_target PARAMS ((rtx)); +extern rtx machopic_legitimize_pic_address PARAMS ((rtx, enum machine_mode, rtx)); + +#endif /* RTX_CODE */ + +#ifdef TREE_CODE + +extern enum machopic_addr_class machopic_classify_ident PARAMS ((tree)); +extern void machopic_define_ident PARAMS ((tree)); +extern void machopic_define_name PARAMS ((const char*)); +extern int machopic_name_defined_p PARAMS ((const char*)); +extern int machopic_ident_defined_p PARAMS ((tree)); + +#endif /* TREE_CODE */ + +extern void machopic_finish PARAMS ((FILE *)); |