home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / p / plbin.zip / pl / src / md-rs6000.h < prev    next >
C/C++ Source or Header  |  1993-02-18  |  3KB  |  89 lines

  1. /*  md-rs6000.h,v 1.7 1993/02/18 15:16:15 jan Exp
  2.  
  3.     Copyright (c) 1990 Jan Wielemaker. All rights reserved.
  4.     See ../LICENCE to find out about your rights.
  5.     jan@swi.psy.uva.nl
  6.  
  7.     Purpose: Machine description for IBM RISC/6000, AIX 3.1 (rios)
  8. */
  9.  
  10. /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  11. This is a partial port for  the  IBM-RISC/6000 (RS6000, rios) machine.
  12. All functionality, except for dynamic stacks is ported.
  13.  
  14. NOTES:    
  15.  
  16. The  interface for   loading foreign   (C)  code differs from  the one
  17. supported for SUN and documented in the manual.
  18.  
  19. There  are porblems  with the   interaction  between load_foreign  and
  20. save_program.  See  pl-load.c and  pl-dump.c.   Save  is now  based on
  21. pl-save.c, but I guess the problems remain.  Use static linking.
  22.  
  23. Gcc  2.1 has a  bug.  Add a line #define  O_LABEL_ADDRESSES 0 to  this
  24. file.
  25. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  26.  
  27. #define M_CC            cc
  28. /*#define M_OPTIMIZE        -g -DO_DEBUG*/
  29. #define M_OPTIMIZE        -O
  30. #define M_LDFLAGS        -bE:$(EXPORTS)
  31. #define M_CFLAGS        
  32. #define M_LIBS            -lm -ltermcap -lbsd
  33. #define O_INSTALL_DONOT_STORE    1
  34.  
  35.             /* prolog part */
  36.  
  37. #define FOREIGN_PL        aix_foreign.pl
  38.  
  39.             /* compiler */
  40. #pragma alloca
  41. #define etext _etext
  42. #define unix            1
  43. #define _BSD            1    /* BSD compatibility mode */
  44. #define ANSI            1
  45. #define PROTO            1
  46. #define O_NO_LEFT_CAST        1
  47. #define O_NO_VOID_POINTER    0
  48. #define O_SHORT_SYMBOLS        0
  49. #define O_ULONG_PREDEFINED    1
  50. #define O_UCHAR_PREDEFINED    1
  51.  
  52.             /* C-header-files */
  53. #define TIME_INCLUDE        <time.h>
  54.  
  55.             /* Operating system */
  56. #define O_DATA_AT_0X2        1 /* data space at 0x20000000 - 0x2fffffff */
  57. #define O_PROFILE        1
  58. #define O_SIG_AUTO_RESET    0
  59. #define O_SHARED_MEMORY        0    /* Is available but not suitable */
  60. #define O_SHM_ALIGN_FAR_APART   1    /* redundant */
  61. #define O_CAN_MAP        0    /* Neither suitable */
  62. #define O_NO_SEGV_ADDRESS    1    /* redundant */
  63. #define MAX_VIRTUAL_ADDRESS    (512 * 1024 *1024) /* redundant */
  64. #define O_FOREIGN        0
  65. #define O_AIX_FOREIGN        1
  66. #define O_SAVE            1
  67. #define UNEXEC_SOURCE        "gnu/unexaix.c"
  68. #define TEXT_START        0x10000000
  69. #define DATA_START        0x20000000
  70. #define DEFAULT_PATH        ":/usr/ucb:/bin:/usr/bin:/usr/local/bin:.:";
  71. #define SRANDOM(t)        srandom((long)t)
  72. #define RANDOM()        random()
  73.  
  74. #define vfork            fork
  75.  
  76.             /* terminal driver */
  77. #define O_TERMIOS         1
  78. #define O_EXTEND_ATOMS         1
  79. #define O_LINE_EDIT         1
  80. #define O_MAP_TAB_ON_ESC    1
  81. #define O_FOLD             0
  82.  
  83.             /* Interfaces */
  84. #define O_PCE             1
  85. #define O_XWINDOWS        0
  86.  
  87. #define MACHINE            "rs6000"
  88. #define OPERATING_SYSTEM    "aix"
  89.