This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
2005-12-30 Leif Ekblad leif@rdos.net
* /gcc/config.build: Added support for RDOS
* /gcc/config.gcc: Added support for RDOS
* /gcc/config.host: Added support for RDOS
* /gcc/config/i386/rdos.h: Added new configuration file for RDOS
* /gcc/config/i386/xm-rdos.h: Added new cross-configuration file for
RDOS
--- config.build 2005-06-25 03:59:35.000000000 +0200
+++ ../../gcc-4.1-20051008/gcc/config.build 2005-12-30 12:31:09.000000000
+0100
@@ -85,6 +85,10 @@ case $build in
build_xm_file=i386/xm-djgpp.h
build_exeext=.exe
;;
+ i[34567]86-*-rdos*)
+ build_xm_file=i386/xm-rdos.h
+ build_exeext=.exe
+ ;;
i[34567]86-*-sco3.2v5*)
# 80386 running SCO Open Server 5
build_install_headers_dir=install-headers-cpio
--- config.gcc 2005-09-29 01:50:03.000000000 +0200
+++ ../../gcc-4.1-20051008/gcc/config.gcc 2005-12-13 13:18:17.000000000
+0100
@@ -1241,6 +1241,10 @@ i[34567]86-*-kaos*)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h
kaos.h i386/kaos-i386.h"
tmake_file="i386/t-i386elf t-svr4"
;;
+i[34567]86-*-rdos*)
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h
i386/rdos.h"
+ tmake_file="i386/t-i386elf t-svr4"
+ ;;
ia64*-*-elf*)
tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/elf.h"
tmake_file="ia64/t-ia64"
--- config.host 2005-10-07 19:16:31.000000000 +0200
+++ ../../gcc-4.1-20051008/gcc/config.host 2005-12-30 11:54:49.000000000
+0100
@@ -177,6 +177,10 @@ case ${host} in
out_host_hook_obj="${out_host_hook_obj} host-i386-darwin.o"
host_xmake_file="${host_xmake_file} i386/x-darwin"
;;
+ i[34567]86-*-rdos*)
+ host_xm_file=i386/xm-rdos.h
+ host_exeext=.exe
+ ;;
powerpc-*-beos*)
host_can_use_collect2=no
;;
Add file gcc/config/config/i386/rdos.h:
/* Definitions for Intel x86 running RDOS
Copyright (C) 2005
This file is part of GCC.
GCC 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.
GCC 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 GCC; see the file COPYING. If not, write to
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
#define TARGET_VERSION fprintf (stderr, " (i386 RDOS)");
/* RDOS uses .exe suffix */
#define TARGET_EXECUTABLE_SUFFIX ".exe"
/* The SVR4 ABI for the i386 says that records and unions are returned
in memory. */
#undef DEFAULT_PCC_STRUCT_RETURN
#define DEFAULT_PCC_STRUCT_RETURN 1
/* We arrange for the whole %gs segment to map the tls area. */
#undef TARGET_TLS_DIRECT_SEG_REFS_DEFAULT
#define TARGET_TLS_DIRECT_SEG_REFS_DEFAULT MASK_TLS_DIRECT_SEG_REFS
#undef ASM_COMMENT_START
#define ASM_COMMENT_START " #"
/* Output assembler code to FILE to increment profiler label # LABELNO
for profiling a function entry. */
#undef MCOUNT_NAME
#define MCOUNT_NAME "mcount"
#undef SIZE_TYPE
#define SIZE_TYPE "unsigned int"
#undef PTRDIFF_TYPE
#define PTRDIFF_TYPE "int"
#undef WCHAR_TYPE
#define WCHAR_TYPE "short unsigned int"
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE 16
#define TARGET_DECLSPEC 1
#define TARGET_OS_CPP_BUILTINS() \
do \
{ \
builtin_define ("__RDOS__"); \
builtin_define ("__INTEL__"); \
builtin_define ("_X86_"); \
builtin_define ("__stdcall=__attribute__((__stdcall__))"); \
builtin_define ("__cdecl=__attribute__((__cdecl__))"); \
builtin_assert ("system=rdos"); \
if (flag_pic) \
{ \
builtin_define ("__PIC__"); \
builtin_define ("__pic__"); \
} \
} \
while (0)
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
#undef CC1_SPEC
#define CC1_SPEC "%(cc1_cpu) %{profile:-p}"
/* Provide a LINK_SPEC appropriate for RDOS. */
#define LINK_EMULATION "elf_i386"
#undef LINK_SPEC
#define LINK_SPEC "-m %(link_emulation) %{shared:-shared}"
/* Provide start and end file specs appropriate to glibc. */
#undef STARTFILE_SPEC
#define STARTFILE_SPEC "crti.o%s crtbegin.o%s %{!nostart:start_dyn.o%s}
init_term_dyn.o%s %{p:i386-mcount.o%s}"
#undef ENDFILE_SPEC
#define ENDFILE_SPEC "crtend.o%s crtn.o%s"
/* A C statement to output to the stdio stream FILE an assembler
command to advance the location counter to a multiple of 1<<LOG
bytes if it is within MAX_SKIP bytes.
This is used to align code labels according to Intel recommendations. */
#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \
if ((LOG)!=0) \
if ((MAX_SKIP)==0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); \
else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP))
#endif
#undef MATH_LIBRARY
#define MATH_LIBRARY ""
/* RDOS headers are C++-aware (and often use C++). */
#define NO_IMPLICIT_EXTERN_C
Add file gcc/config/config/i386/xm-rdos.h:
/* Configuration for GCC for hosting of RDOS.
using a unix style C library.
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GCC.
GCC 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.
GCC 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 GCC; see the file COPYING. If not, write to
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
#define HOST_EXECUTABLE_SUFFIX ".exe"
Attachment:
config.build.diff
Description: Binary data
Attachment:
config.gcc.diff
Description: Binary data
Attachment:
config.host.diff
Description: Binary data
Attachment:
rdos.h
Description: Binary data
Attachment:
xm-rdos.h
Description: Binary data
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |