X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=gcc%2Fconfig%2Fi386%2Fsysv4.h;fp=gcc%2Fconfig%2Fi386%2Fsysv4.h;h=bedac7a58b650e8628b92e9d478a43a261d82499;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=7dc0ac1b0a184aab9067ea8208e91c23ef9c40b2;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/gcc/config/i386/sysv4.h b/gcc/config/i386/sysv4.h index 7dc0ac1b..bedac7a5 100644 --- a/gcc/config/i386/sysv4.h +++ b/gcc/config/i386/sysv4.h @@ -1,52 +1,40 @@ -/* Target definitions for GNU compiler for Intel 80386 running System V.4 - Copyright (C) 1991, 2001 Free Software Foundation, Inc. +/* Target definitions for GCC for Intel 80386 running System V.4 + Copyright (C) 1991, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. Written by Ron Guilmette (rfg@netcom.com). -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. */ +along with GCC; see the file COPYING3. If not see +. */ -#undef TARGET_VERSION #define TARGET_VERSION fprintf (stderr, " (i386 System V Release 4)"); /* The svr4 ABI for the i386 says that records and unions are returned in memory. */ -#undef RETURN_IN_MEMORY -#define RETURN_IN_MEMORY(TYPE) \ - (TYPE_MODE (TYPE) == BLKmode \ - || (VECTOR_MODE_P (TYPE_MODE (TYPE)) && int_size_in_bytes (TYPE) == 8)) - -/* Define which macros to predefine. __svr4__ is our extension. */ -/* This used to define X86, but james@bigtex.cactus.org says that - is supposed to be defined optionally by user programs--not by default. */ -#define CPP_PREDEFINES \ - "-Dunix -D__svr4__ -Asystem=unix -Asystem=svr4" +#define SUBTARGET_RETURN_IN_MEMORY(TYPE, FNTYPE) \ + (TYPE_MODE (TYPE) == BLKmode \ + || (VECTOR_MODE_P (TYPE_MODE (TYPE)) && int_size_in_bytes (TYPE) == 8)); /* Output at beginning of assembler file. */ /* The .file command should always begin the output. */ -#undef ASM_FILE_START -#define ASM_FILE_START(FILE) \ - do { \ - output_file_directive (FILE, main_input_filename); \ - fprintf (FILE, "\t.version\t\"01.01\"\n"); \ - } while (0) +#define TARGET_ASM_FILE_START_FILE_DIRECTIVE true +#undef X86_FILE_START_VERSION_DIRECTIVE +#define X86_FILE_START_VERSION_DIRECTIVE true #undef DBX_REGISTER_NUMBER #define DBX_REGISTER_NUMBER(n) svr4_dbx_register_map[n] @@ -62,13 +50,13 @@ Boston, MA 02111-1307, USA. */ #define ASM_OUTPUT_ASCII(FILE, STR, LENGTH) \ do \ { \ - register const unsigned char *_ascii_bytes = \ + const unsigned char *_ascii_bytes = \ (const unsigned char *) (STR); \ - register const unsigned char *limit = _ascii_bytes + (LENGTH); \ - register unsigned bytes_in_chunk = 0; \ + const unsigned char *limit = _ascii_bytes + (LENGTH); \ + unsigned bytes_in_chunk = 0; \ for (; _ascii_bytes < limit; _ascii_bytes++) \ { \ - register const unsigned char *p; \ + const unsigned char *p; \ if (bytes_in_chunk >= 64) \ { \ fputc ('\n', (FILE)); \ @@ -134,13 +122,11 @@ Boston, MA 02111-1307, USA. */ #define CRT_GET_RFIB_DATA(BASE) \ __asm__ ("call\t.LPR%=\n" \ ".LPR%=:\n\t" \ - "popl\t%0\n\t" \ + "pop{l}\t%0\n\t" \ /* Due to a GAS bug, this cannot use EAX. That encodes \ smaller than the traditional EBX, which results in the \ offset being off by one. */ \ - "addl\t$_GLOBAL_OFFSET_TABLE_+[.-.LPR%=],%0" \ + "add{l}\t{$_GLOBAL_OFFSET_TABLE_+[.-.LPR%=],%0" \ + "|%0,_GLOBAL_OFFSET_TABLE_+(.-.LPR%=)}" \ : "=d"(BASE)) #endif - -#undef CPP_SPEC -#define CPP_SPEC "%(cpp_cpu)"