From 0e22c1d8cd59693d2f97145152c929fc26a1e172 Mon Sep 17 00:00:00 2001 From: Jeffrey A Law Date: Fri, 16 Jul 1999 21:39:59 +0000 Subject: [PATCH] configure.in (hppa*-*-linux*): New configuration. * configure.in (hppa*-*-linux*): New configuration. * configure: Rebuilt. * pa.h (MAX_OFILE_ALIGNMENT): Delete. * pa/som.h (MAX_OFILE_ALIGNMENT): Define. * pa/pa-linux.h: New file. * pa/t-linux: New file. * pa/xm-linux.h: New file. From-SVN: r28129 --- gcc/ChangeLog | 8 ++++++ gcc/config/pa/pa-linux.h | 55 ++++++++++++++++++++++++++++++++++++++++ gcc/config/pa/pa.h | 3 --- gcc/config/pa/som.h | 3 +++ gcc/config/pa/t-linux | 1 + gcc/config/pa/xm-linux.h | 47 ++++++++++++++++++++++++++++++++++ 6 files changed, 114 insertions(+), 3 deletions(-) create mode 100644 gcc/config/pa/pa-linux.h create mode 100644 gcc/config/pa/t-linux create mode 100644 gcc/config/pa/xm-linux.h diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f9bb028ce29..1ccfafb85b3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,13 @@ Fri Jul 16 13:48:09 1999 Jeffrey A Law (law@cygnus.com) + * configure.in (hppa*-*-linux*): New configuration. + * configure: Rebuilt. + * pa.h (MAX_OFILE_ALIGNMENT): Delete. + * pa/som.h (MAX_OFILE_ALIGNMENT): Define. + * pa/pa-linux.h: New file. + * pa/t-linux: New file. + * pa/xm-linux.h: New file. + * pa.c (hppa_legitimize_address): Change references from SImode to either Pmode or word_mode as appropriate. (emit_move_sequence, store_reg, load_reg): Likewise. diff --git a/gcc/config/pa/pa-linux.h b/gcc/config/pa/pa-linux.h new file mode 100644 index 00000000000..105024b9fe4 --- /dev/null +++ b/gcc/config/pa/pa-linux.h @@ -0,0 +1,55 @@ +/* Definitions for PA_RISC with ELF format + Copyright (C) 1999 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, 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +/* FIXME - this doesn't seem to be used anywhere */ +#define LINUX_DEFAULT_ELF + +#undef SIZE_TYPE +#define SIZE_TYPE "unsigned int" + +#undef PTRDIFF_TYPE +#define PTRDIFF_TYPE "int" + +#undef CPP_PREDEFINES +#define CPP_PREDEFINES "-D__ELF__ -Dunix -D__hppa__ -Dlinux -Asystem(unix) -Asystem(posix) -Acpu(hppa) -Amachine(hppa) -Amachine(bigendian)" + +#undef CPP_SPEC +#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}\ + %{msnake:-D_PA_RISC1_1}\ + %{mpa-risc-1-1:-D_PA_RISC1_1}" + +#undef LIB_SPEC +#define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} -lmilli" + +/* How to renumber registers for dbx and gdb. + + It is entirely possible linux will use a different numbering scheme. + Until we know for sure, it's the same as hpux, osf & bsd, but we're + ready if it needs to be different. + + Registers 0 - 31 remain unchanged. + + Registers 32 - 87 are mapped to 72 - 127 + + Register 88 is mapped to 32. */ + +#define DBX_REGISTER_NUMBER(REGNO) \ + ((REGNO) <= 31 ? (REGNO) : \ + ((REGNO) > 31 && (REGNO) <= 87 ? (REGNO) + 40 : 32)) diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 717e3710450..fec302258d8 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -379,9 +379,6 @@ int lhs_lshift_cint_operand (); /* No data type wants to be aligned rounder than this. */ #define BIGGEST_ALIGNMENT 64 -/* The .align directive in the HP assembler allows up to a 32 alignment. */ -#define MAX_OFILE_ALIGNMENT 32768 - /* Get around hp-ux assembler bug, and make strcpy of constants fast. */ #define CONSTANT_ALIGNMENT(CODE, TYPEALIGN) \ ((TYPEALIGN) < 32 ? 32 : (TYPEALIGN)) diff --git a/gcc/config/pa/som.h b/gcc/config/pa/som.h index b549248c311..e9e9ceb4184 100644 --- a/gcc/config/pa/som.h +++ b/gcc/config/pa/som.h @@ -468,3 +468,6 @@ do { \ for (p = __DTOR_LIST__ + 1; *p; ) \ (*p++) (); \ } while (0) + +/* The .align directive in the HP assembler allows up to a 32 alignment. */ +#define MAX_OFILE_ALIGNMENT 32768 diff --git a/gcc/config/pa/t-linux b/gcc/config/pa/t-linux new file mode 100644 index 00000000000..3748ee32fa8 --- /dev/null +++ b/gcc/config/pa/t-linux @@ -0,0 +1 @@ +ADA_CFLAGS=-mdisable-indexing diff --git a/gcc/config/pa/xm-linux.h b/gcc/config/pa/xm-linux.h new file mode 100644 index 00000000000..e7699d8b7b2 --- /dev/null +++ b/gcc/config/pa/xm-linux.h @@ -0,0 +1,47 @@ +/* Configuration for GNU C-compiler for PA-RISC. + Copyright (C) 1999 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, 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 + +/* 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 + +#include -- 2.30.2