|
|
1.1 ! root 1: /* Definitions of target machine for GNU compiler. Harris tahoe version. ! 2: Copyright (C) 1989 Free Software Foundation, Inc. ! 3: ! 4: This file is part of GNU CC. ! 5: ! 6: GNU CC is free software; you can redistribute it and/or modify ! 7: it under the terms of the GNU General Public License as published by ! 8: the Free Software Foundation; either version 2, or (at your option) ! 9: any later version. ! 10: ! 11: GNU CC is distributed in the hope that it will be useful, ! 12: but WITHOUT ANY WARRANTY; without even the implied warranty of ! 13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! 14: GNU General Public License for more details. ! 15: ! 16: You should have received a copy of the GNU General Public License ! 17: along with GNU CC; see the file COPYING. If not, write to ! 18: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ! 19: ! 20: ! 21: #include "tahoe/tahoe.h" ! 22: ! 23: #undef CPP_PREDEFINES ! 24: #define CPP_PREDEFINES "-Dtahoe -Dunix -Dhcx -Asystem(unix) -Acpu(tahoe) -Amachine(tahoe)" ! 25: ! 26: #undef DBX_DEBUGGING_INFO ! 27: #define SDB_DEBUGGING_INFO ! 28: ! 29: #undef LIB_SPEC ! 30: ! 31: #undef TARGET_DEFAULT ! 32: #define TARGET_DEFAULT 1 ! 33: ! 34: /* urem and udiv don't exist on this system. */ ! 35: #undef UDIVSI3_LIBCALL ! 36: #undef UMODSI3_LIBCALL ! 37: ! 38: /* Operand of .align is not logarithmic. */ ! 39: #undef ASM_OUTPUT_ALIGN ! 40: #define ASM_OUTPUT_ALIGN(FILE,LOG) \ ! 41: LOG ? fprintf (FILE, "\t.align %d\n", 1 << (LOG)) : 0 ! 42: ! 43: /* For the same reason, we need .align 2 after casesi. */ ! 44: #undef PRINT_OPERAND ! 45: #define PRINT_OPERAND(FILE, X, CODE) \ ! 46: { if (CODE == '@') \ ! 47: putc ('2', FILE); \ ! 48: else if (GET_CODE (X) == REG) \ ! 49: fprintf (FILE, "%s", reg_names[REGNO (X)]); \ ! 50: else if (GET_CODE (X) == MEM) \ ! 51: output_address (XEXP (X, 0)); \ ! 52: else { putc ('$', FILE); output_addr_const (FILE, X); }} ! 53: ! 54: #undef ASM_OUTPUT_LOCAL ! 55: #define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED) \ ! 56: ( fputs (".bss ", (FILE)), \ ! 57: assemble_name ((FILE), (NAME)), \ ! 58: fprintf ((FILE), ",%u,4\n", (ROUNDED))) ! 59: ! 60: /* Output at beginning of assembler file. */ ! 61: /* The .file command should always begin the output. */ ! 62: ! 63: #undef ASM_FILE_START ! 64: #define ASM_FILE_START(FILE) \ ! 65: output_file_directive ((FILE), main_input_filename); ! 66: ! 67: #define ASM_OUTPUT_ASCII(FILE, PTR, SIZE) \ ! 68: { \ ! 69: unsigned char *_p = (PTR); \ ! 70: int _thissize = (SIZE); \ ! 71: fprintf ((FILE), "\t.ascii \""); \ ! 72: for (i = 0; i < _thissize; i++) \ ! 73: { \ ! 74: register int c = _p[i]; \ ! 75: if (c >= ' ' && c < 0177 && c != '\"' && c != '\\') \ ! 76: putc (c, (FILE)); \ ! 77: else \ ! 78: { \ ! 79: fprintf ((FILE), "\\%o", c); \ ! 80: if (i < _thissize - 1 \ ! 81: && _p[i + 1] >= '0' && _p[i + 1] <= '9') \ ! 82: fprintf ((FILE), "\"\n\t.ascii \""); \ ! 83: } \ ! 84: } \ ! 85: fprintf ((FILE), "\"\n"); \ ! 86: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.