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/rs6000/t-darwin | |
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/rs6000/t-darwin')
-rw-r--r-- | gcc/config/rs6000/t-darwin | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/config/rs6000/t-darwin b/gcc/config/rs6000/t-darwin new file mode 100644 index 0000000..c514fda --- /dev/null +++ b/gcc/config/rs6000/t-darwin @@ -0,0 +1,26 @@ +# Do not build libgcc1. +LIBGCC1 = +CROSS_LIBGCC1 = + +# We want fine grained libraries, so use the new code to build the +# floating point emulation libraries. +FPBIT = fp-bit.c +DPBIT = dp-bit.c + +dp-bit.c: $(srcdir)/config/fp-bit.c + cat $(srcdir)/config/fp-bit.c > dp-bit.c + +fp-bit.c: $(srcdir)/config/fp-bit.c + echo '#define FLOAT' > fp-bit.c + cat $(srcdir)/config/fp-bit.c >> fp-bit.c + +darwin.o: $(srcdir)/config/darwin.c + $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/darwin.c + +# Build the libraries for both hard and soft floating point + +MULTILIB_OPTIONS = msoft-float +MULTILIB_DIRNAMES = soft-float + +LIBGCC = stmp-multilib +INSTALL_LIBGCC = install-multilib |