Initial revision

From-SVN: r10615
This commit is contained in:
Jeff Law 1995-11-27 15:10:51 -07:00
parent b01c45558a
commit 1ace9b6052
4 changed files with 1334 additions and 0 deletions

1138
gcc/config/pa/lib1funcs.asm Normal file

File diff suppressed because it is too large Load Diff

105
gcc/config/pa/pa-pro.h Normal file
View File

@ -0,0 +1,105 @@
/* Definitions of target machine for GNU compiler, for PRO.
Copyright (C) 1994, 1995 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, 675 Mass Ave, Cambridge, MA 02139, USA. */
#ifndef TARGET_DEFAULT
/* JUMP_IN_DELAY + PORTABLE_RUNTIME + GAS + NO_SPAEC_REGS */
#define TARGET_DEFAULT (4 + 8 + 64 + 128)
#endif
/* Global constructor and destructor support. */
/* Define the pseudo-ops used to switch to the .ctors and .dtors sections.
Note that we want to give these sections the SHF_WRITE attribute
because these sections will actually contain data (i.e. tables of
addresses of functions in the current root executable or shared library
file) and, in the case of a shared library, the relocatable addresses
will have to be properly resolved/relocated (and then written into) by
the dynamic linker when it actually attaches the given shared library
to the executing process. */
#define CTORS_SECTION_ASM_OP "\t.section\t\".ctors\",#alloc,#write"
#define DTORS_SECTION_ASM_OP "\t.section\t\".dtors\",#alloc,#write"
#define CTORS_SECTION_FUNCTION \
void \
ctors_section () \
{ \
if (in_section != in_ctors) \
{ \
fprintf (asm_out_file, "%s\n", CTORS_SECTION_ASM_OP); \
in_section = in_ctors; \
} \
}
#define DTORS_SECTION_FUNCTION \
void \
dtors_section () \
{ \
if (in_section != in_dtors) \
{ \
fprintf (asm_out_file, "%s\n", DTORS_SECTION_ASM_OP); \
in_section = in_dtors; \
} \
}
/* A C statement (sans semicolon) to output an element in the table of
global destructors. */
#define ASM_OUTPUT_DESTRUCTOR(FILE,NAME) \
do { \
dtors_section (); \
fprintf (FILE, "\t.word\t "); \
assemble_name (FILE, NAME); \
fprintf (FILE, "\n"); \
} while (0)
/* A C statement (sans semicolon) to output an element in the table of
global constructors. */
#define ASM_OUTPUT_CONSTRUCTOR(FILE,NAME) \
do { \
ctors_section (); \
fprintf (FILE, "\t.word\t "); \
assemble_name (FILE, NAME); \
fprintf (FILE, "\n"); \
} while (0)
#include "pa/pa.h"
/* Make GCC agree with types.h. */
#undef SIZE_TYPE
#undef PTRDIFF_TYPE
#define SIZE_TYPE "unsigned int"
#define PTRDIFF_TYPE "int"
/* Like the default, except no -lg. */
#undef LIB_SPEC
#define LIB_SPEC "%{!p:%{!pg:-lc}}%{p: -L/lib/libp/ -lc}%{pg: -L/lib/libp/ -lc}"
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "-Dhppa -DPWB -Acpu(hppa) -Amachine(hppa)"
/* hpux8 and later have C++ compatable include files, so do not
pretend they are `extern "C"'. */
#define NO_IMPLICIT_EXTERN_C
/* We don't want a crt0.o to get linked in automatically, we want the
linker script to pull it in.
*/
#define STARTFILE_SPEC ""

30
gcc/config/pa/t-pro Normal file
View File

@ -0,0 +1,30 @@
LIBGCC1=libgcc1.null
CROSS_LIBGCC1 = libgcc1.null
LIB1ASMSRC =
LIB1ASMFUNCS =
LIBGCC1_TEST =
ADA_CFLAGS=-mdisable-indexing
LIB2FUNCS_EXTRA=fp-bit.c dp-bit.c lib2funcs.asm
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
lib2funcs.asm: $(srcdir)/config/pa/lib2funcs.asm
rm -f lib2funcs.asm
cp $(srcdir)/config/pa/lib2funcs.asm .
# Build the libraries for both hard and soft floating point
MULTILIB_OPTIONS=msoft-float
MULTILIB_DIRNAMES=soft-float
MULTILIB_MATCHES=
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib

61
gcc/config/pa/xm-papro.h Normal file
View File

@ -0,0 +1,61 @@
/* Configuration for GNU C-compiler for PA-RISC.
Copyright (C) 1994, 1995 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.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. */
extern int errno;
/* #defines that need visibility everywhere. */
#define FALSE 0
#define TRUE 1
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
#define HOST_BITS_PER_INT 32
#define HOST_BITS_PER_LONG 32
#define HOST_BITS_PER_LONGLONG 64
/* Doubles are stored in memory with the high order word first. This
matters when cross-compiling. */
#define HOST_WORDS_BIG_ENDIAN 1
/* Place any machine-dependent include files here, in case we
are bootstrapping. */
/* target machine dependencies.
tm.h is a symbolic link to the actual target specific file. */
#include "tm.h"
/* Arguments to use with `exit'. */
#define SUCCESS_EXIT_CODE 0
#define FATAL_EXIT_CODE 33
/* Don't try to use sys_siglist. */
#define NO_SYS_SIGLIST
/* We have strerror, don't try to use sys_errlist. */
#define HAVE_STRERROR
/* HP's compiler has problems with enum bitfields. */
#define ONLY_INT_FIELDS
/* Always claim to use C alloca; this prevents losing if building with
gcc -fno-builtin ... */
#define USE_C_ALLOCA