Commit ed52ae90 authored by law's avatar law
Browse files

dummy import to prevent merge lossage

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24349 138bc75d-0d04-0410-961f-82ee72b054a4
parent 5bef586f
......@@ -19,13 +19,10 @@ 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. */
#ifndef FILE
#include <stdio.h>
#endif
#include <string.h>
#define __datalbl
#include "config.h"
#include <stdio.h>
#include <string.h>
#include "rtl.h"
#include "tree.h"
#include "expr.h"
......
/* Subroutines used for code generation on AMD Am29000.
Copyright (C) 1987, 88, 90-94, 1995 Free Software Foundation, Inc.
Copyright (C) 1987, 88, 90-94, 1995, 1997 Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@nyu.edu)
This file is part of GNU CC.
......@@ -19,8 +19,8 @@ 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 <stdio.h>
#include "config.h"
#include <stdio.h>
#include "rtl.h"
#include "regs.h"
#include "hard-reg-set.h"
......
......@@ -10,7 +10,7 @@ ENQUIRE=
CROSS_LIBGCC1 = libgcc1-asm.a
LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
MULTILIB_OPTIONS = mapcs-32
MULTILIB_DIRNAMES = apcs-32
......
......@@ -5,7 +5,3 @@ LIBGCC2_CFLAGS=-O2 -fomit-frame-pointer $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) -g0
# Don't build enquire
ENQUIRE=
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls
......@@ -6,4 +6,3 @@ X_CFLAGS= -DPOSIX -Dopterr=gcc_opterr -Doptind=gcc_optind \
OLDCC=/usr/ucb/cc
CC=$(OLDCC)
FIXPROTO_DEFINES= -D_POSIX_SOURCE -D_XOPEN_C -D_BSD_C -D_XOPEN_SOURCE
INSTALL=$(srcdir)/install.sh -c
......@@ -44,12 +44,6 @@ Boston, MA 02111-1307, USA. */
#define USE_C_ALLOCA
#endif
/* Define this if the library function putenv is available on your machine */
#define HAVE_PUTENV 1
/* Define this if the library function vprintf is available on your machine */
#define HAVE_VPRINTF 1
/* Define this to be 1 if you know the host compiler supports prototypes, even
if it doesn't define __STDC__, or define it to be 0 if you do not want any
prototypes when compiling GNU CC. */
......
/* Definitions of target machine for GNU compiler. Clipper/Clix version.
Copyright (C) 1988, 1993, 1996 Free Software Foundation, Inc.
Copyright (C) 1988, 1993, 1996, 1997 Free Software Foundation, Inc.
This file is part of GNU CC.
......@@ -31,6 +31,8 @@ Boston, MA 02111-1307, USA. */
#undef LIB_SPEC
#define TARGET_MEM_FUNCTIONS
#undef HAVE_ATEXIT
#define HAVE_ATEXIT
......
......@@ -27,13 +27,4 @@
/* isinf isn't there, but finite is. */
#define isinf(x) (!finite(x))
#define USG
#define bcopy(a,b,c) memcpy (b,a,c)
#define bzero(a,b) memset (a,0,b)
#define bcmp(a,b,c) memcmp (a,b,c)
#define index strchr
#define rindex strrchr
#define TARGET_MEM_FUNCTIONS
/* Subroutines for insn-output.c for Convex.
Copyright (C) 1988, 1993, 1994 Free Software Foundation, Inc.
Copyright (C) 1988, 1993, 1994, 1997 Free Software Foundation, Inc.
This file is part of GNU CC.
......@@ -19,6 +19,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include "config.h"
#include <stdio.h>
#include "tree.h"
#include "rtl.h"
#include "regs.h"
......@@ -31,9 +32,6 @@ Boston, MA 02111-1307, USA. */
#include "output.h"
#include "expr.h"
#undef NULL
#include <stdio.h>
/* Tables used in convex.h */
char regno_ok_for_index_p_base[1 + LAST_VIRTUAL_REGISTER + 1];
......
# ld can make exe's c2-only if this lib is searched even though not loaded
CCLIBFLAGS = -tm c1
CCLIBFLAGS = -tm c1
# Use -pcc to avoid surprises.
CC = cc -pcc
/* Configuration for GNU C-compiler for Convex.
Copyright (C) 1989, 1993 Free Software Foundation, Inc.
Copyright (C) 1989, 1993, 1997 Free Software Foundation, Inc.
This file is part of GNU CC.
......@@ -42,11 +42,6 @@ Boston, MA 02111-1307, USA. */
#define P_tmpdir "/tmp/"
/* Use memcpy and memset -- either would work but these get inlined. */
#define bcopy(a,b,c) memcpy (b,a,c)
#define bzero(a,b) memset (a,0,b)
/* Convex uses Vax or IEEE floats.
Both formats have Vax semantics. */
......
/* Subroutines for insn-output.c for GNU compiler. Elxsi version.
Copyright (C) 1987, 1992 Free Software Foundation, Inc
Copyright (C) 1987, 1992, 1997 Free Software Foundation, Inc
This port, done by Mike Stump <mrs@cygnus.com> in 1988, and is the first
64 bit port of GNU CC.
Based upon the VAX port.
......@@ -21,8 +21,8 @@ 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 <stdio.h>
#include "config.h"
#include <stdio.h>
#include "rtl.h"
extern char *reg_names[];
......
/* Subroutines for insn-output.c for Alliant FX computers.
Copyright (C) 1989,1991 Free Software Foundation, Inc.
Copyright (C) 1989, 1991, 1997 Free Software Foundation, Inc.
This file is part of GNU CC.
......@@ -20,8 +20,8 @@ Boston, MA 02111-1307, USA. */
/* Some output-actions in alliant.md need these. */
#include <stdio.h>
#include "config.h"
#include <stdio.h>
#include "rtl.h"
#include "regs.h"
#include "hard-reg-set.h"
......
/* Configuration common to all targets running the GNU system. */
/* Macro to produce CPP_PREDEFINES for GNU on a given machine. */
#define GNU_CPP_PREDEFINES(machine) \
"-D" machine " -Acpu(" machine ") -Amachine(" machine ") \
-Dunix -Asystem(unix) \
-DMACH -Asystem(mach) \
-D__GNU__ -Asystem(gnu)"
/* Provide GCC options for standard feature-test macros. */
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{bsd:-D_BSD_SOURCE}"
......
/* Subroutines for insn-output.c for System/370.
Copyright (C) 1989, 1993, 1995 Free Software Foundation, Inc.
Copyright (C) 1989, 1993, 1995, 1997 Free Software Foundation, Inc.
Contributed by Jan Stein (jan@cd.chalmers.se).
Modified for MVS C/370 by Dave Pitts (dpitts@nyx.cs.du.edu)
......@@ -20,10 +20,10 @@ 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 "config.h"
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include "config.h"
#include "rtl.h"
#include "regs.h"
#include "hard-reg-set.h"
......@@ -35,6 +35,11 @@ Boston, MA 02111-1307, USA. */
#include "insn-attr.h"
#include "flags.h"
#include "recog.h"
#ifdef sun
#include <sys/types.h>
#include <ctype.h>
#endif
#include <time.h>
/* Label node, this structure is used to keep track of labels on the
......@@ -285,7 +290,7 @@ mvs_add_label (id)
label_anchor = lp;
}
/* Check to see if the label is in the list. If 1 is returned then a load
/* Check to see if the label is in the list. If 1 is returned then a load
and branch on register must be generated.
ID is the label number of the label being checked. */
......@@ -480,3 +485,100 @@ unsigned_jump_follows_p (insn)
return GET_CODE (insn) != GE && GET_CODE (insn) != GT
&& GET_CODE (insn) != LE && GET_CODE (insn) != LT;
}
void
i370_function_prolog (f, l)
FILE *f;
int l;
{
#if MACROPROLOGUE == 1
fprintf (f, "\tEDCPRLG USRDSAL=%d,BASEREG=%d\n",
STACK_POINTER_OFFSET + l - 120 +
current_function_outgoing_args_size, BASE_REGISTER);
fprintf (f, "PG%d\tEQU\t*\n", mvs_page_num );
fprintf (f, "\tLR\t11,1\n");
fprintf (f, "\tL\t%d,=A(PGT%d)\n", PAGE_REGISTER, mvs_page_num);
mvs_page_code = 6;
mvs_page_lit = 4;
mvs_check_page (f, 0, 0);
function_base_page = mvs_page_num;
#else /* MACROPROLOGUE != 1 */
static int function_label_index = 1;
static int function_first = 0;
static int function_year, function_month, function_day;
static int function_hour, function_minute, function_second;
int i;
if (!function_first)
{
struct tm *function_time;
time_t lcltime;
time (&lcltime);
function_time = localtime (&lcltime);
function_year = function_time->tm_year + 1900;
function_month = function_time->tm_mon + 1;
function_day = function_time->tm_mday;
function_hour = function_time->tm_hour;
function_minute = function_time->tm_min;
function_second = function_time->tm_sec;
fprintf (f, "PPA2\tDS\t0F\n");
fprintf (f, "\tDC\tX'03',X'00',X'33',X'00'\n");
fprintf (f, "\tDC\tV(CEESTART),A(0)\n");
fprintf (f, "\tDC\tA(CEETIMES)\n");
fprintf (f, "CEETIMES\tDS\t0F\n");
fprintf (f, "\tDC\tCL4'%d',CL4'%02d%02d',CL6'%02d%02d00'\n",
function_year, function_month, function_day,
function_hour, function_minute, function_second);
fprintf (f, "\tDC\tCL2'01',CL4'0100'\n");
}
fprintf (f, "$DSD%03d\tDSECT\n", function_label_index);
fprintf (f, "\tDS\tD\n");
fprintf (f, "\tDS\tCL(%d)\n", STACK_POINTER_OFFSET + l
+ current_function_outgoing_args_size);
fprintf (f, "\tORG\t$DSD%03d\n", function_label_index);
fprintf (f, "\tDS\tCL(120+8)\n");
fprintf (f, "\tORG\n");
fprintf (f, "\tDS\t0D\n");
fprintf (f, "$DSL%03d\tEQU\t*-$DSD%03d-8\n", function_label_index,
function_label_index);
fprintf (f, "\tDS\t0H\n");
assemble_name (f, mvs_function_name);
fprintf (f, "\tEQU\t*\n");
fprintf (f, "\tUSING\t*,15\n");
fprintf (f, "\tB\tFPL%03d\n", function_label_index);
fprintf (f, "\tDC\tAL1(FPL%03d+4-*)\n", function_label_index + 1);
fprintf (f, "\tDC\tX'CE',X'A0',AL1(16)\n");
fprintf (f, "\tDC\tAL4(PPA2)\n");
fprintf (f, "\tDC\tAL4(0)\n");
fprintf (f, "\tDC\tAL4($DSL%03d)\n", function_label_index);
fprintf (f, "FPL%03d\tEQU\t*\n", function_label_index + 1);
fprintf (f, "\tDC\tAL2(%d),C'%s'\n", strlen (mvs_function_name),
mvs_function_name);
fprintf (f, "FPL%03d\tDS\t0H\n", function_label_index);
fprintf (f, "\tSTM\t14,12,12(13)\n");
fprintf (f, "\tL\t2,76(,13)\n");
fprintf (f, "\tL\t0,16(,15)\n");
fprintf (f, "\tALR\t0,2\n");
fprintf (f, "\tCL\t0,12(,12)\n");
fprintf (f, "\tBNH\t*+10\n");
fprintf (f, "\tL\t15,116(,12)\n");
fprintf (f, "\tBALR\t14,15\n");
fprintf (f, "\tL\t15,72(,13)\n");
fprintf (f, "\tSTM\t15,0,72(2)\n");
fprintf (f, "\tMVI\t0(2),X'10'\n");
fprintf (f, "\tST\t2,8(,13)\n ");
fprintf (f, "\tST\t13,4(,2)\n ");
fprintf (f, "\tLR\t13,2\n");
fprintf (f, "\tDROP\t15\n");
fprintf (f, "\tBALR\t%d,0\n", BASE_REGISTER);
fprintf (f, "PG%d\tEQU\t*\n", mvs_page_num );
fprintf (f, "\tUSING\t*,%d\n", BASE_REGISTER);
fprintf (f, "\tLR\t11,1\n");
fprintf (f, "\tL\t%d,=A(PGT%d)\n", PAGE_REGISTER, mvs_page_num);
mvs_page_code = 4;
mvs_page_lit = 4;
mvs_check_page (f, 0, 0);
function_base_page = mvs_page_num;
function_first = 1;
function_label_index += 2;
#endif /* MACROPROLOGUE */
}
/* Configuration for GNU C-compiler for System/370.
Copyright (C) 1989, 1993 Free Software Foundation, Inc.
Copyright (C) 1989, 1993, 1997 Free Software Foundation, Inc.
Contributed by Jan Stein (jan@cd.chalmers.se).
Modified for MVS C/370 by Dave Pitts (dpitts@nyx.cs.du.edu)
......@@ -44,10 +44,6 @@ Boston, MA 02111-1307, USA. */
#include "tm.h"
#define bcopy(a,b,c) memcpy (b,a,c)
#define bzero(a,b) memset (a,0,b)
#define bcmp(a,b,c) memcmp (a,b,c)
/* Arguments to use with `exit'. */
#define SUCCESS_EXIT_CODE 0
......
......@@ -31,23 +31,18 @@
* SUCH DAMAGE.
*/
/*
* Re rework of the solaris 2 version of gmon by J.W.Hawtin 12/8/1996
* Does not work right yet.
*/
/*
* This is a modified gmon.c by J.W.Hawtin <J.W.Hawtin@lboro.ac.uk>,
* This is a modified gmon.c by J.W.Hawtin <oolon@ankh.org>,
* 14/8/96 based on the original gmon.c in GCC and the hacked version
* solaris 2 sparc version (config/sparc/gmon-sol.c) by Mark Eichin. To do
* process profiling on solaris 2.4 X86
* process profiling on solaris 2.X X86
*
* It must be used in conjunction with sol2-gc1.asm, which is used to start
* and stop process monitoring.
*
* Differences.
*
* On Solaris 2 _mcount is called my library functions not mcount, so support
* On Solaris 2 _mcount is called by library functions not mcount, so support
* has been added for both.
*
* Also the prototype for profil() is different
......@@ -58,7 +53,7 @@
*
* Notes
*
* This code could easily be integrated with the orginal gmon.c and perhaps
* This code could easily be integrated with the original gmon.c and perhaps
* should be.
*/
......@@ -90,7 +85,7 @@ struct phdr {
#define HASHFRACTION 1
#define ARCDENSITY 2
#define MINARCS 50
#define BASEADDRESS 0x8000000 /* On Solaris 2 X86 all excutables start here
#define BASEADDRESS 0x8000000 /* On Solaris 2 X86 all executables start here
and not at 0 */
struct tostruct {
......@@ -264,6 +259,7 @@ internal_mcount()
register struct tostruct *top;
register struct tostruct *prevtop;
register long toindex;
static char already_setup;
/*
* find the return address for mcount,
......@@ -277,6 +273,17 @@ internal_mcount()
This identifies the caller of the function just entered. */
frompcindex = (void *) __builtin_return_address (1);
if(!already_setup) {
extern etext();
already_setup = 1;
/* monstartup(0, etext); */
monstartup(0x08040000, etext);
#ifdef USE_ONEXIT
on_exit(_mcleanup, 0);
#else
atexit(_mcleanup);
#endif
}
/*
* check that we are profiling
* and that we aren't recursively invoked.
......
! crt1.s for Solaris 2, x86
! Copyright (C) 1993 Free Software Foundation, Inc.
! Copyright (C) 1993, 1998 Free Software Foundation, Inc.
! Written By Fred Fish, Nov 1992
!
! This file is free software; you can redistribute it and/or modify it
......@@ -149,7 +149,7 @@ _start:
! A dummy profiling support routine for non-profiling executables,
! in case we link in some objects that have been compiled for profiling.
.globl _mcount
.weak _mcount
_mcount:
ret
.type _mcount,@function
......
......@@ -41,7 +41,7 @@
! information obtained by single stepping executables on other i386 SVR4
! implementations. This file is the first thing linked into any executable.
! This is a modified crt1.s by J.W.Hawtin <J.W.Hawtin@lboro.ac.uk> 15/8/96,
! This is a modified crt1.s by J.W.Hawtin <oolon@ankh.org> 15/8/96,
! to allow program profiling, by calling monstartup on entry and _mcleanup
! on exit
......
......@@ -14,3 +14,14 @@
#ifdef DWARF_DEBUGGING_INFO
#undef DWARF_DEBUGGING_INFO
#endif
/*
Changed from config/svr4.h in the following ways:
- Added "%{V}".
- Modified "{%v:-V}" to take into account "%{V}".
- Added "-s" so that stabs are saved in the final executable. */
#undef ASM_SPEC
#define ASM_SPEC \
"%{V} %{v:%{!V:-V}} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} -s"
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