X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=gcc%2Fconfig%2Fm68k%2Fopenbsd.h;h=30bfc203fcf01b7faccb0823882ea29084e35e30;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=ac3b6882c11f2aa3f93b2215bd37716fba288b17;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/gcc/config/m68k/openbsd.h b/gcc/config/m68k/openbsd.h index ac3b6882..30bfc203 100644 --- a/gcc/config/m68k/openbsd.h +++ b/gcc/config/m68k/openbsd.h @@ -1,44 +1,42 @@ /* Configuration file for an m68k OpenBSD target. - Copyright (C) 1999 Free Software Foundation, Inc. + Copyright (C) 1999, 2002, 2003, 2007 Free Software Foundation, Inc. -This file is part of GNU CC. +This file is part of GCC. -GNU CC is free software; you can redistribute it and/or modify +GCC 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) +the Free Software Foundation; either version 3, or (at your option) any later version. -GNU CC is distributed in the hope that it will be useful, +GCC 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. */ - -/* m68k is an old configuration that does not yet use the TARGET_CPU_DEFAULT - framework. */ -#define TARGET_DEFAULT (MASK_BITFIELD | MASK_68881 | MASK_68020) - -#include - -/* Get generic OpenBSD definitions. */ -#define OBSD_OLD_GAS -#include +along with GCC; see the file COPYING3. If not see +. */ + +/* Target OS builtins. */ +#define TARGET_OS_CPP_BUILTINS() \ + do \ + { \ + builtin_define ("__unix__"); \ + builtin_define ("__OpenBSD__"); \ + builtin_assert ("system=unix"); \ + builtin_assert ("system=OpenBSD"); \ + } \ + while (0) /* Define __HAVE_68881__ in preprocessor, unless -msoft-float is specified. This will control the use of inline 68881 insns in certain macros. */ #undef CPP_SPEC #define CPP_SPEC "%{!msoft-float:-D__HAVE_68881__ -D__HAVE_FPU__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_POSIX_THREADS}" -/* Run-time target specifications. */ -#define CPP_PREDEFINES "-D__unix__ -D__m68k__ -D__mc68000__ -D__mc68020__ -D__OpenBSD__ -Asystem=unix -Asystem=OpenBSD -Acpu=m68k -Amachine=m68k" - -/* m68k as needs to know about the processor subtype. */ #undef ASM_SPEC -#define ASM_SPEC "%| %{m68030} %{m68040} %{m68060} %{fpic:-k} %{fPIC:-k -K}" +#define ASM_SPEC "%(asm_cpu_spec) %{fpic|fpie:-k} %{fPIC|fPIE:-k -K}" + +#define AS_NEEDS_DASH_FOR_PIPED_INPUT /* Layout of source language data types. */ @@ -63,7 +61,7 @@ Boston, MA 02111-1307, USA. */ /* Specific options for DBX Output. */ /* This is BSD, so it wants DBX format. */ -#define DBX_DEBUGGING_INFO +#define DBX_DEBUGGING_INFO 1 /* Do not break .stabs pseudos into continuations. */ #define DBX_CONTIN_LENGTH 0 @@ -74,6 +72,10 @@ Boston, MA 02111-1307, USA. */ /* Stack & calling: aggregate returns. */ +/* ??? This is traditional, but quite possibly wrong. It appears to + disagree with gdb. */ +#define PCC_STATIC_STRUCT_RETURN 1 + /* Don't default to pcc-struct-return, because gcc is the only compiler, and we want to retain compatibility with older gcc versions. */ #define DEFAULT_PCC_STRUCT_RETURN 0 @@ -81,41 +83,5 @@ Boston, MA 02111-1307, USA. */ /* Assembler format: exception region output. */ /* All configurations that don't use elf must be explicit about not using - dwarf unwind information. egcs doesn't try too hard to check internal - configuration files... */ + dwarf unwind information. */ #define DWARF2_UNWIND_INFO 0 - - -/* TODO: ASM_OUTPUT_MI_THUNK is busted. I need to figure out - what bra func@PLTPC means under linux, and find the corresponding - construction for our gas/pic setup. */ -#if 0 -/* Taken from linux.h. Processor dependent optimized code to handle C++ - multiple inheritance vtable lookup. */ - -/* Output code to add DELTA to the first argument, and then jump to FUNCTION. - Used for C++ multiple inheritance. */ -#define ASM_OUTPUT_MI_THUNK(FILE, THUNK_FNDECL, DELTA, FUNCTION) \ -do { \ - if (DELTA > 0 && DELTA <= 8) \ - asm_fprintf (FILE, "\taddq.l %I%d,4(%Rsp)\n", DELTA); \ - else if (DELTA < 0 && DELTA >= -8) \ - asm_fprintf (FILE, "\tsubq.l %I%d,4(%Rsp)\n", -DELTA); \ - else \ - asm_fprintf (FILE, "\tadd.l %I%d,4(%Rsp)\n", DELTA); \ - \ - if (flag_pic) \ - { \ - fprintf (FILE, "\tbra.l "); \ - assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0)); \ - fprintf (FILE, "@PLTPC\n"); \ - } \ - else \ - { \ - fprintf (FILE, "\tjmp "); \ - assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0)); \ - fprintf (FILE, "\n"); \ - } \ -} while (0) -#endif -