Annotation of GNUtools/cc/config/a29k/unix.h, revision 1.1

1.1     ! root        1: /* Definitions of target machine for GNU compiler, for AMD Am29000 CPU, Unix.
        !             2:    Copyright (C) 1991 Free Software Foundation, Inc.
        !             3:    Contributed by Richard Kenner ([email protected])
        !             4: 
        !             5: This file is part of GNU CC.
        !             6: 
        !             7: GNU CC is free software; you can redistribute it and/or modify
        !             8: it under the terms of the GNU General Public License as published by
        !             9: the Free Software Foundation; either version 2, or (at your option)
        !            10: any later version.
        !            11: 
        !            12: GNU CC is distributed in the hope that it will be useful,
        !            13: but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            14: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        !            15: GNU General Public License for more details.
        !            16: 
        !            17: You should have received a copy of the GNU General Public License
        !            18: along with GNU CC; see the file COPYING.  If not, write to
        !            19: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
        !            20: 
        !            21: 
        !            22: /* This is mostly the same as a29k.h, except that we define unix instead of
        !            23:    EPI and define unix-style machine names.  */
        !            24: 
        !            25: #include "a29k/a29k.h"
        !            26: 
        !            27: /* Set our default target to be the 29050; that is the more interesting chip
        !            28:    for Unix systems.  */
        !            29: 
        !            30: #undef TARGET_DEFAULT
        !            31: #define TARGET_DEFAULT (1+2+8+64)
        !            32: 
        !            33: #undef CPP_PREDEFINES
        !            34: #define CPP_PREDEFINES "-Dam29k -Da29k -Dam29000 -Asystem(unix) -Acpu(a29k) -Amachine(a29k)"
        !            35: 
        !            36: #undef CPP_SPEC
        !            37: #define CPP_SPEC "%{!m29000:-Dam29050 -D__am29050__}"
        !            38: 
        !            39: /* Use a default linker configuration file.  */
        !            40: #undef LINK_SPEC
        !            41: #define LINK_SPEC "-T default.gld%s"
        !            42: 
        !            43: /* Define the magic numbers that we recognize as COFF.  */
        !            44: 
        !            45: #define MY_ISCOFF(magic) ((magic) == SIPFBOMAGIC || (magic) == SIPRBOMAGIC)
        !            46: 
        !            47: /* For some systems, it is best if double-word objects are aligned on a 
        !            48:    doubleword boundary.  We want to maintain compatibility with MetaWare in
        !            49:    a29k.h, but do not feel constrained to do so here.  */
        !            50: 
        !            51: #undef BIGGEST_ALIGNMENT
        !            52: #define BIGGEST_ALIGNMENT 64
        !            53: 
        !            54: /* Add shared data as a kludge for now.  */
        !            55: 
        !            56: #undef ASM_FILE_START
        !            57: #define ASM_FILE_START(FILE)                                   \
        !            58: { char *p, *after_dir = main_input_filename;                   \
        !            59:   if (TARGET_29050)                                            \
        !            60:     fprintf (FILE, "\t.cputype 29050\n");                      \
        !            61:   for (p = main_input_filename; *p; p++)                       \
        !            62:     if (*p == '/')                                             \
        !            63:       after_dir = p + 1;                                       \
        !            64:   fprintf (FILE, "\t.file ");                                  \
        !            65:   output_quoted_string (FILE, after_dir);                      \
        !            66:   fprintf (FILE, "\n");                                                \
        !            67:   if (flag_shared_data)                                                \
        !            68:     fprintf (FILE, "\t.sect .shdata,data\n");                  \
        !            69:   fprintf (FILE, "\t.sect .lit,lit\n");  }
        !            70: 
        !            71: /* Output before shared  data.  */
        !            72: 
        !            73: #define SHARED_SECTION_ASM_OP "\t.use .shdata"
        !            74: 
        !            75: /* If we want shared data, we have to turn off commons.  */
        !            76: 
        !            77: #define OVERRIDE_OPTIONS if (flag_shared_data) flag_no_common = 1;
        !            78: 
        !            79: #if 0 /* This would be needed except that the 29k doesn't have strict
        !            80:         alignment requirements.  */
        !            81: 
        !            82: #define FUNCTION_ARG_BOUNDARY(MODE, TYPE)                              \
        !            83:   (((TYPE) != 0)                                                       \
        !            84:        ? ((TYPE_ALIGN(TYPE) <= PARM_BOUNDARY)                          \
        !            85:                ? PARM_BOUNDARY                                         \
        !            86:                : TYPE_ALIGN(TYPE))                                     \
        !            87:        : ((GET_MODE_ALIGNMENT(MODE) <= PARM_BOUNDARY)                  \
        !            88:                ? PARM_BOUNDARY                                         \
        !            89:                : GET_MODE_ALIGNMENT(MODE)))
        !            90: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.