|
|
1.1 root 1: /* Definitions of target machine for GNU compiler. Harris tahoe version. 1.1.1.3 ! root 2: Copyright (C) 1989, 1993 Free Software Foundation, Inc. 1.1 root 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 1.1.1.2 root 24: #define CPP_PREDEFINES "-Dtahoe -Dunix -Dhcx -Asystem(unix) -Acpu(tahoe) -Amachine(tahoe)" 1.1 root 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) \ 1.1.1.3 ! root 68: do { \ 1.1 root 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"); \ 1.1.1.3 ! root 86: } while (0)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.