diff options
author | Jeffrey A Law <law@cygnus.com> | 1999-07-16 21:39:59 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-07-16 15:39:59 -0600 |
commit | 0e22c1d8cd59693d2f97145152c929fc26a1e172 (patch) | |
tree | 49292761e8b0b8f08fced2dde123a2f80116d039 /gcc | |
parent | 690d42283de601ba7abe48a832b4aa47f4e6791e (diff) | |
download | gcc-0e22c1d8cd59693d2f97145152c929fc26a1e172.zip gcc-0e22c1d8cd59693d2f97145152c929fc26a1e172.tar.gz gcc-0e22c1d8cd59693d2f97145152c929fc26a1e172.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/pa/pa-linux.h | 55 | ||||
-rw-r--r-- | gcc/config/pa/pa.h | 3 | ||||
-rw-r--r-- | gcc/config/pa/som.h | 3 | ||||
-rw-r--r-- | gcc/config/pa/t-linux | 1 | ||||
-rw-r--r-- | gcc/config/pa/xm-linux.h | 47 |
6 files changed, 114 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f9bb028..1ccfafb 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 0000000..105024b --- /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 717e371..fec3022 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 b549248..e9e9ceb 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 0000000..3748ee3 --- /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 0000000..e7699d8 --- /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 <xm-linux.h> |