From afab5269db6d67a85a4397e00bfd9879e9ee888a Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Fri, 20 Jun 1997 08:52:47 -0400 Subject: [PATCH] Initial revision From-SVN: r14265 --- gcc/config/arm/linux-gas.h | 33 +++++++++++++++ gcc/config/arm/linux.h | 85 ++++++++++++++++++++++++++++++++++++++ gcc/config/arm/t-linux | 16 +++++++ 3 files changed, 134 insertions(+) create mode 100644 gcc/config/arm/linux-gas.h create mode 100644 gcc/config/arm/linux.h create mode 100644 gcc/config/arm/t-linux diff --git a/gcc/config/arm/linux-gas.h b/gcc/config/arm/linux-gas.h new file mode 100644 index 00000000000..67f5c6f0503 --- /dev/null +++ b/gcc/config/arm/linux-gas.h @@ -0,0 +1,33 @@ +/* Definitions of target machine for GNU compiler. ARM Linux version. + Copyright (C) 1997 Free Software Foundation, Inc. + Contributed by Russell King . + +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 this program; see the file COPYING. If not, write to +the Free Software Foundation, 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +/* Limit the length of a stabs entry (for the broken Acorn assembler) */ +#define DBX_CONTIN_LENGTH 80 + +#include "arm/linux.h" + +/* + * We are using GAS, so stabs should work. + */ + +#ifndef DBX_DEBUGGING_INFO +#define DBX_DEBUGGING_INFO 1 +#endif diff --git a/gcc/config/arm/linux.h b/gcc/config/arm/linux.h new file mode 100644 index 00000000000..32edc6224f6 --- /dev/null +++ b/gcc/config/arm/linux.h @@ -0,0 +1,85 @@ +/* Definitions for ARM running Linux + Copyright (C) 1993, 1994, 1997 Free Software Foundation, Inc. + Adapted from ARM Linux by Russell King . + +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 this program; see the file COPYING. If not, write to +the Free Software Foundation, 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +#include + +/* these are different... */ +#undef STARTFILE_SPEC +#define STARTFILE_SPEC \ + "%{pg:gcrt0.o%s} %{!pg:%{p:gcrt0.o%s} %{!p:crt0.o%s}} %{static:-static}" + +#undef ASM_APP_ON +#undef ASM_APP_OFF +#undef COMMENT_BEGIN + +/* We default to ARM3. */ +#define __DEFAULT_CPP "-D__arm3__" +#define __DEFAULT_ASM "-marm3" +#define __DEFAULT_MLB "m3" + +#undef CPP_PREDEFINES +#define CPP_PREDEFINES \ + "-Dunix -Darm -Dlinux -Asystem(unix) -Asystem(posix) -Acpu(arm) -Amachine(arm)" + +#undef CPP_SPEC +#define CPP_SPEC \ + "%{m2:-D__arm2__} %{m3:-D__arm3__} %{m6:-D__arm6__} %{m7:-D__arm7__} " \ + "%{!m2:%{!m3:%{!m6:%{!m7:" __DEFAULT_CPP "}}}} %{posix:-D_POSIX_SOURCE}" + +#undef ASM_SPEC +#define ASM_SPEC \ + "%{m2:-marm2} %{m3:-marm3} %{m6:-marm6} %{m7:-marm7} " \ + "%{!m2:%{!m3:%{!m6:%{!m7:" __DEFAULT_ASM "}}}}" + +#undef LIB_SPEC +#define LIB_SPEC \ + "%{mieee-fp:-lieee} %{p:-lgmon} %{pg:-lgmon} %{!ggdb:-lc} %{ggdb:-lg}" + +#undef SIZE_TYPE +#define SIZE_TYPE "unsigned int" + +#undef PTRDIFF_TYPE +#define PTRDIFF_TYPE "int" + +#undef WCHAR_TYPE +#define WCHAR_TYPE "long int" + +#undef WCHAR_TYPE_SIZE +#define WCHAR_TYPE_SIZE BITS_PER_WORD + +#define HANDLE_SYSV_PRAGMA + +/* Run-time Target Specification. */ +#define TARGET_VERSION \ + fputs (" (ARM Linux/a.out)", stderr); + +/* This is used in ASM_FILE_START */ +#define ARM_OS_NAME "Linux" + +/* Unsigned chars produces much better code than signed. */ +#define DEFAULT_SIGNED_CHAR 0 + +/* Maths operation domain error number, EDOM */ +#define TARGET_EDOM 33 +#include "arm/arm.h" + +#undef MULTILIB_DEFAULTS +#define MULTILIB_DEFAULTS { __DEFAULT_MLB } diff --git a/gcc/config/arm/t-linux b/gcc/config/arm/t-linux new file mode 100644 index 00000000000..194604d7ed1 --- /dev/null +++ b/gcc/config/arm/t-linux @@ -0,0 +1,16 @@ +# Just for these, we omit the frame pointer since it makes such a big +# difference. It is then pointless adding debugging. +LIBGCC2_CFLAGS=-O2 -fomit-frame-pointer $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) -g0 + +# Don't build enquire +ENQUIRE= + +LIBGCC1 = libgcc1-asm.a +LIB1ASMSRC = arm/lib1funcs-linux.asm +LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls + +MULTILIB_OPTIONS = m2/m3/m6/m7 +MULTILIB_DIRNAMES = + +LIBGCC = stmp-multilib +INSTALL_LIBGCC = install-multilib -- 2.30.2