Commit d1476635 by Joel Sherrill Committed by Jeff Law

configure.in (m68k-*-rtemscoff*): Added.

        * configure.in (m68k-*-rtemscoff*): Added.
        * configure.in (mips64orion-*-rtems*): Converted to ELF.
        * configure.in (sparc-*-rtemsaout*): Added as alias for old
        sparc-rtems configuration.
        * configure.in (sparc-*-rtemself*): Added.
        * configure.in (sparc-*-rtems*): Now ELF not a.out.
        * config/i386/rtems.h: Added comment.
        * config/sparc/rtemself.h: New file.

        * configure.in (m68k-rtemself): Added.
        * config/elfos.h: Added ifndef wrapper for DWARF2_DEBUGGING_INFO
        and DWARF_DEBUGGING_INFO.
        * config/m68k/crti.s: New file.
        * config/m68k/crtn.s: New file.
        * config/m68k/t-crtstuff: New file.
        * config/m68k/rtemself.h: New file.

        * configure.in (i[[34567]]86-*-rtemself*): Now uses crtstuff for
        global ctor/dtor and C++ exception handling.
        * config/i386/rtemself.h: Now uses crtstuff (crti.o + crtbegin.o)
        for STARTFILE_SPEC and crtstuff (crtend.o + crtn.o) for
        ENDFILE_SPEC.
        * config/i386/t-rtems-i386: New File.

Co-Authored-By: Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca>
Co-Authored-By: Rosimildo DaSilva <rdasilva@connecttel.com>

From-SVN: r29401
parent 03c03770
Tue Sep 14 03:47:23 1999 Joel Sherrill <joel@OARcorp.com>
Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca>
Rosimildo DaSilva <rdasilva@connecttel.com>
* configure.in (m68k-*-rtemscoff*): Added.
* configure.in (mips64orion-*-rtems*): Converted to ELF.
* configure.in (sparc-*-rtemsaout*): Added as alias for old
sparc-rtems configuration.
* configure.in (sparc-*-rtemself*): Added.
* configure.in (sparc-*-rtems*): Now ELF not a.out.
* config/i386/rtems.h: Added comment.
* config/sparc/rtemself.h: New file.
* configure.in (m68k-rtemself): Added.
* config/elfos.h: Added ifndef wrapper for DWARF2_DEBUGGING_INFO
and DWARF_DEBUGGING_INFO.
* config/m68k/crti.s: New file.
* config/m68k/crtn.s: New file.
* config/m68k/t-crtstuff: New file.
* config/m68k/rtemself.h: New file.
* configure.in (i[[34567]]86-*-rtemself*): Now uses crtstuff for
global ctor/dtor and C++ exception handling.
* config/i386/rtemself.h: Now uses crtstuff (crti.o + crtbegin.o)
for STARTFILE_SPEC and crtstuff (crtend.o + crtn.o) for
ENDFILE_SPEC.
* config/i386/t-rtems-i386: New File.
Tue Sep 14 09:47:41 1999 Andreas Schwab <schwab@suse.de>
* stmt.c (expand_end_case): Return right away if the case stack is
......
......@@ -69,11 +69,15 @@ do { \
/* System V Release 4 uses DWARF debugging info. */
#define DWARF_DEBUGGING_INFO
#ifndef DWARF_DEBUGGING_INFO
#define DWARF_DEBUGGING_INFO 1
#endif
/* All ELF targets can support DWARF-2. */
#define DWARF2_DEBUGGING_INFO
#ifndef DWARF2_DEBUGGING_INFO
#define DWARF2_DEBUGGING_INFO 1
#endif
/* Also allow them to support STABS debugging. */
......
......@@ -32,3 +32,4 @@ Boston, MA 02111-1307, USA. */
#define TARGET_MEM_FUNCTIONS
#endif
/* end of i386/rtems.h */
......@@ -163,7 +163,9 @@ Boston, MA 02111-1307, USA. */
asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
#undef STARTFILE_SPEC
#define STARTFILE_SPEC "crt0.o%s"
#define STARTFILE_SPEC "crt0.o%s crti.o%s crtbegin.o%s"
#undef ENDFILE_SPEC
#define ENDFILE_SPEC "crtend.o%s crtn.o%s"
#
# This file was based on t-sol2 - x68 Solaris implementation. Actually,
# the source code to create crti.o anf crtn.o are exactly the same
# as the ones for Solaris. Later, we might want to have a RTEMS's
# version of these files.
#
LIBGCC1 =
CROSS_LIBGCC1 =
crti.o: $(srcdir)/config/i386/sol2-ci.asm $(GCC_PASSES)
sed -e '/^!/d' <$(srcdir)/config/i386/sol2-ci.asm >crti.s
$(GCC_FOR_TARGET) -c -o crti.o crti.s
crtn.o: $(srcdir)/config/i386/sol2-cn.asm $(GCC_PASSES)
sed -e '/^!/d' <$(srcdir)/config/i386/sol2-cn.asm >crtn.s
$(GCC_FOR_TARGET) -c -o crtn.o crtn.s
/* Specialized code needed to support construction and destruction of
file-scope objects in C++ and Java code, and to support exception handling.
Copyright (C) 1999 Free Software Foundation, Inc.
Contributed by Charles-Antoine Gauthier (charles.gauthier@iit.nrc.ca).
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. */
/* As a special exception, if you link this library with files
compiled with GCC to produce an executable, this does not cause
the resulting executable to be covered by the GNU General Public License.
This exception does not however invalidate any other reasons why
the executable file might be covered by the GNU General Public License. */
/*
* This file just supplies function prologues for the .init and .fini
* sections. It is linked in before crtbegin.o.
*/
.file "crti.o"
.ident "GNU C crti.o"
.section .init
.globl _init
.type _init,@function
_init:
linkw %fp,#0
.section .fini
.globl _fini
.type _fini,@function
_fini:
linkw %fp,#0
/* Specialized code needed to support construction and destruction of
file-scope objects in C++ and Java code, and to support exception handling.
Copyright (C) 1999 Free Software Foundation, Inc.
Contributed by Charles-Antoine Gauthier (charles.gauthier@iit.nrc.ca).
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. */
/* As a special exception, if you link this library with files
compiled with GCC to produce an executable, this does not cause
the resulting executable to be covered by the GNU General Public License.
This exception does not however invalidate any other reasons why
the executable file might be covered by the GNU General Public License. */
/*
* This file supplies function epilogues for the .init and .fini sections.
* It is linked in after all other files.
*/
.file "crtn.o"
.ident "GNU C crtn.o"
.section .init
unlk %fp
rts
.section .fini
unlk %fp
rts
/* Definitions for rtems targeting a Motorola m68k using elf.
Copyright (C) 1999, National Research Council of Canada.
Contributed by Charles-Antoine Gauthier (charles.gauthier@nrc.ca).
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. */
#define MOTOROLA /* Use Motorola syntax rather than MIT. */
#include "m68k/m68020-elf.h"
/* Specify predefined symbols in preprocessor. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "-Dmc68000 -Drtems -D__rtems__ -D__ELF__ \
-Asystem(rtems) -Acpu(mc68000) -Acpu(m68k) -Amachine(m68k)"
/* Generate calls to memcpy, memcmp and memset. */
#ifndef TARGET_MEM_FUNCTIONS
#define TARGET_MEM_FUNCTIONS
#endif
/*
* Each RTEMS BSP provides its own crt0 and linker script. Unfortunately
* this means that crt0 and the linker script are not available as
* each tool is configured. Without a crt0 and linker script, m68k ELF
* targets do not successfully link "conftest.c" during the configuration
* process. RTEMS supplies a crt0.c that provides all the symbols required
* to successfully link a program. The resulting program will not run
* but this is enough to satisfy the autoconf macro AC_PROG_CC.
* Override STARTFILE_SPEC to use the fake crt0.o supplied by rtems.
*/
#undef STARTFILE_SPEC
#define STARTFILE_SPEC "crt0.o%s"
/*
* Redefine INIT_SECTION_ASM_OP and FINI_SECTION_ASM_OP. This is the easiest
* way to process constructors, destructors, and the exception frame
* information at startup.
*/
#undef INIT_SECTION_ASM_OP
#define INIT_SECTION_ASM_OP ".section\t.init"
#undef FINI_SECTION_ASM_OP
#define FINI_SECTION_ASM_OP ".section\t.fini"
#undef EH_FRAME_SECTION_ASM_OP
#define EH_FRAME_SECTION_ASM_OP ".section\t.eh_frame"
/* Do I need this? */
#undef INVOKE__main
# from ../t-svr4
EXTRA_PARTS=crtbegin.o crtend.o crti.o crtn.o
# Add flags here as required.
CRTSTUFF_T_CFLAGS =
# Assemble startup files.
crti.o: $(srcdir)/config/m68k/crti.s $(GCC_PASSES)
$(GCC_FOR_TARGET) -c -o crti.o $(srcdir)/config/m68k/crti.s
crtn.o: $(srcdir)/config/m68k/crtn.s $(GCC_PASSES)
$(GCC_FOR_TARGET) -c -o crtn.o $(srcdir)/config/m68k/crtn.s
/* Definitions for rtems targeting a SPARC using a.out.
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
Contributed by Joel Sherrill (joel@OARcorp.com).
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. */
#include "sparc/elf.h"
/* Specify predefined symbols in preprocessor. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "-Dsparc -D__GCC_NEW_VARARGS__ -Drtems -D__rtems__ \
-Asystem(rtems) -Acpu(sparc) -Amachine(sparc)"
/* Generate calls to memcpy, memcmp and memset. */
#ifndef TARGET_MEM_FUNCTIONS
#define TARGET_MEM_FUNCTIONS
#endif
/* end of sparc/rtems.h */
......@@ -1456,14 +1456,15 @@ changequote([,])dnl
tmake_file="i386/t-go32 t-rtems"
;;
changequote(,)dnl
i[34567]86-*-rtemself*)
i[34567]86-*-rtems*|i[34567]86-*-rtemself*)
changequote([,])dnl
cpu_type=i386
tm_file=i386/rtemself.h
tmake_file="i386/t-i386bare t-rtems"
extra_parts="crtbegin.o crtend.o crti.o crtn.o"
tmake_file="i386/t-rtems-i386 i386/t-crtstuff t-rtems"
;;
changequote(,)dnl
i[34567]86-*-rtems*)
i[34567]86-*-rtemscoff*)
changequote([,])dnl
cpu_type=i386
tm_file=i386/rtems.h
......@@ -2233,13 +2234,18 @@ changequote([,])dnl
extra_headers=math-68881.h
float_format=m68k
;;
m68k-*-rtems*)
m68k-*-rtemscoff*|m68k-*-rtems*)
tmake_file="m68k/t-m68kbare t-rtems"
tm_file=m68k/rtems.h
extra_headers=math-68881.h
float_format=m68k
;;
m68k-*-rtemself*)
tmake_file="m68k/t-m68kbare t-rtems m68k/t-crtstuff"
tm_file=m68k/rtemself.h
extra_headers=math-68881.h
float_format=m68k
;;
m88k-dg-dgux*)
case $machine in
m88k-dg-dguxbcs*)
......@@ -2769,7 +2775,8 @@ changequote([,])dnl
;;
mips64orion-*-rtems*)
tm_file="mips/elforion.h mips/elf64.h mips/rtems64.h"
tmake_file="mips/t-ecoff t-rtems"
tm_file="mips/elforion.h mips/elf64.h mips/rtems64.h"
tmake_file="mips/t-elf t-rtems"
;;
mipstx39el-*-elf*)
tm_file="mips/r3900.h mips/elfl.h mips/abi64.h"
......@@ -3217,7 +3224,14 @@ changequote([,])dnl
tmake_file=sparc/t-sunos41
xmake_file=x-lynx
;;
sparc-*-rtems*)
sparc-*-rtems*|sparc-*-rtemself*)
tm_file="sparc/rtemself.h"
tmake_file="sparc/t-elf t-rtems"
extra_parts="crti.o crtn.o crtbegin.o crtend.o"
#float_format=i128
float_format=i64
;;
sparc-*-rtemsaout*)
tmake_file="sparc/t-sparcbare t-rtems"
tm_file=sparc/rtems.h
;;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment