home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / pc / 0600 / CCE_0638.ZIP / CCE_0638 / UPDATE / UPDATE30.ZOO / util / diffs
Text File  |  1993-05-21  |  18KB  |  627 lines

  1. ===================================================================
  2. RCS file: /net/acae127/home/bammi/etc/src/master/atari/cross-util/Changelog,v
  3. retrieving revision 1.37
  4. diff -c -r1.37 Changelog
  5. *** 1.37    1993/03/29 03:40:52
  6. --- Changelog    1993/05/21 15:27:29
  7. ***************
  8. *** 458,460 ****
  9. --- 458,487 ----
  10.       all the cygnus changes.
  11.   
  12.   ----------------------------- Patchlevel 35 --------------------------------
  13. + Makefile.cross:: michal
  14. +     added important note for NeXT users.
  15. +     ************* NeXT users take note *****************
  16. + ar.c nm.c size.c size68.c:: michal
  17. +     There were also various instances of 
  18. +     "#include /usr/include/something.h"
  19. +     I changed them to <something.h> and rely on include path.
  20. + size68.c:: michal
  21. +     sync up with various recent changes to util.
  22. + toglclr.c:: frank
  23. +     Added code to handle the memory protection bits under MultiTOS.
  24. +     Changed output format slightly.
  25. + size68.c:: frank
  26. +     change output format to include any MiNT memory prots.
  27. +     merged with michals chenages from above. ++jrb
  28. + fixstk.c, printstk.c:: ++jrb
  29. +     cleanup
  30. + ----------------------------- Patchlevel 36 --------------------------------
  31. ===================================================================
  32. RCS file: /net/acae127/home/bammi/etc/src/master/atari/cross-util/Makefile.cross,v
  33. retrieving revision 1.14
  34. diff -c -r1.14 Makefile.cross
  35. *** 1.14    1992/10/11 02:39:24
  36. --- Makefile.cross    1993/05/21 15:22:59
  37. ***************
  38. *** 10,15 ****
  39. --- 10,30 ----
  40.   #    byte sex to a m68k, ie a little endian host, the add -DBYTE_SWAP to CFLAGS.
  41.   #
  42.   #
  43. + #   ************** IMPORTANT note for NeXT with OS 3.0 or higher **********
  44. + #
  45. + # Cross-compiling on NeXT with OS 3.0 and higher:
  46. + # ----------------------------------------------
  47. + # For this host define, in Makefile.cross,
  48. + # 
  49. + # HOSTINC = /usr/include/ansi -I/usr/include/bsd
  50. + # 
  51. + # making search path for include files into "-I. -I$(HOSTINC) -I$(CROSSINC)".
  52. + # Also, because file /usr/include/bsd/stab.h does exist and we need
  53. + # another one, provide a link from CROSSINC/stab.h to stab.h in the current
  54. + # directory so ST version will be picked up first.
  55. + #
  56. + #   ************************************************************************
  57.   CROSSDIR = /net/acae127/home/bammi/atari/cross-gcc
  58.   CROSSBIN = $(CROSSDIR)/bin
  59.   CROSSLIB = $(CROSSDIR)/lib
  60. ===================================================================
  61. RCS file: /net/acae127/home/bammi/etc/src/master/atari/cross-util/PatchLev.h,v
  62. retrieving revision 1.32
  63. diff -c -r1.32 PatchLev.h
  64. *** 1.32    1993/03/29 03:40:54
  65. --- PatchLev.h    1993/05/21 15:23:00
  66. ***************
  67. *** 1,4 ****
  68. ! #define PatchLevel "35"
  69.   
  70.   /*
  71.    *    the Patch Level above is to identify the version
  72. --- 1,4 ----
  73. ! #define PatchLevel "36"
  74.   
  75.   /*
  76.    *    the Patch Level above is to identify the version
  77. ===================================================================
  78. RCS file: /net/acae127/home/bammi/etc/src/master/atari/cross-util/ar.c,v
  79. retrieving revision 1.20
  80. diff -c -r1.20 ar.c
  81. *** 1.20    1992/07/21 14:52:06
  82. --- ar.c    1993/05/21 15:23:04
  83. ***************
  84. *** 106,120 ****
  85.   #define bzero(a,b) memset (a,0,b)
  86.   #define bcmp(a,b,c) memcmp (a,b,c)
  87.   #endif
  88. ! #include "/usr/include/stdio.h"
  89.   /* #include "ar.h" */
  90.   #include "gnu-ar.h"
  91.   #include "gnu-out.h"
  92. ! #include "/usr/include/errno.h"
  93. ! #include "/usr/include/sys/file.h"
  94. ! #include "/usr/include/sys/time.h"
  95. ! #include "/usr/include/sys/types.h"
  96. ! #include "/usr/include/sys/stat.h"
  97.   #else
  98.   #ifdef atarist
  99.   #include <stdio.h>
  100. --- 106,121 ----
  101.   #define bzero(a,b) memset (a,0,b)
  102.   #define bcmp(a,b,c) memcmp (a,b,c)
  103.   #endif
  104. ! #include <stdio.h>
  105.   /* #include "ar.h" */
  106.   #include "gnu-ar.h"
  107.   #include "gnu-out.h"
  108. ! #include <errno.h>
  109. ! #include <sys/file.h>
  110. ! #include <sys/time.h>
  111. ! #include <sys/types.h>
  112. ! #include <sys/stat.h>
  113.   #else
  114.   #ifdef atarist
  115.   #include <stdio.h>
  116. ===================================================================
  117. RCS file: /net/acae127/home/bammi/etc/src/master/atari/cross-util/fixstk.c,v
  118. retrieving revision 1.7
  119. diff -c -r1.7 fixstk.c
  120. *** 1.7    1993/03/29 03:40:59
  121. --- fixstk.c    1993/05/21 15:23:06
  122. ***************
  123. *** 34,39 ****
  124. --- 34,42 ----
  125.   
  126.   #ifdef WORD_ALIGNED
  127.   # define SIZEOF_AEXEC ((2*sizeof(short)) + (6*sizeof(long)))
  128. + # ifndef SYMLEN
  129. + #   define SYMLEN 8
  130. + # endif
  131.   # define SIZEOF_ASYM  ((SYMLEN*sizeof(char)) + sizeof(short) + sizeof(long))
  132.   # define SYM_OFFSET   (sizeof(short) + (3*sizeof(long)))
  133.   #endif
  134. ===================================================================
  135. RCS file: /net/acae127/home/bammi/etc/src/master/atari/cross-util/nm.c,v
  136. retrieving revision 1.11
  137. diff -c -r1.11 nm.c
  138. *** 1.11    1993/03/29 03:41:06
  139. --- nm.c    1993/05/21 15:23:12
  140. ***************
  141. *** 109,121 ****
  142.   
  143.   #ifdef CROSSATARI
  144.   #include "stab.h"
  145. ! #include "/usr/include/stdio.h"
  146.   #ifdef USG
  147.   #include "/usr/include/string.h"
  148.   #include "/usr/include/fcntl.h"
  149.   #include "/usr/include/sys/types.h"
  150.   #else
  151. ! #include "/usr/include/strings.h"
  152.   #endif
  153.   #include "gnu-ar.h"
  154.   #else
  155. --- 109,121 ----
  156.   
  157.   #ifdef CROSSATARI
  158.   #include "stab.h"
  159. ! #include <stdio.h>
  160.   #ifdef USG
  161.   #include "/usr/include/string.h"
  162.   #include "/usr/include/fcntl.h"
  163.   #include "/usr/include/sys/types.h"
  164.   #else
  165. ! #include <strings.h>
  166.   #endif
  167.   #include "gnu-ar.h"
  168.   #else
  169. ***************
  170. *** 129,135 ****
  171.   #include <file.h>
  172.   #else
  173.   #ifdef CROSSATARI
  174. ! #include "/usr/include/sys/file.h"
  175.   #else
  176.   #ifdef atariminix
  177.   #if 0
  178. --- 129,136 ----
  179.   #include <file.h>
  180.   #else
  181.   #ifdef CROSSATARI
  182. ! #include <sys/file.h>
  183.   #else
  184.   #ifdef atariminix
  185.   #if 0
  186. ===================================================================
  187. RCS file: /net/acae127/home/bammi/etc/src/master/atari/cross-util/printstk.c,v
  188. retrieving revision 1.7
  189. diff -c -r1.7 printstk.c
  190. *** 1.7    1993/03/29 03:41:07
  191. --- printstk.c    1993/05/21 15:23:14
  192. ***************
  193. *** 29,34 ****
  194. --- 29,37 ----
  195.   
  196.   #ifdef WORD_ALIGNED
  197.   # define SIZEOF_AEXEC ((2*sizeof(short)) + (6*sizeof(long)))
  198. + # ifndef SYMLEN
  199. + #   define SYMLEN 8
  200. + # endif
  201.   # define SIZEOF_ASYM  ((SYMLEN*sizeof(char)) + sizeof(short) + sizeof(long))
  202.   # define SYM_OFFSET   (sizeof(short) + (3*sizeof(long)))
  203.   #endif
  204. ===================================================================
  205. RCS file: /net/acae127/home/bammi/etc/src/master/atari/cross-util/size.c,v
  206. retrieving revision 1.3
  207. diff -c -r1.3 size.c
  208. *** 1.3    1991/04/12 18:22:25
  209. --- size.c    1993/05/21 15:23:16
  210. ***************
  211. *** 104,113 ****
  212.   #ifdef CROSSATARI
  213.   #include "gnu-out.h"
  214.   #include "st-out.h"
  215. ! #include "/usr/include/stdio.h"
  216. ! #include "/usr/include/strings.h"
  217.   #include "gnu-ar.h"
  218. ! #include "/usr/include/sys/file.h"
  219.   #else
  220.   #include <gnu-out.h>
  221.   #include <st-out.h>
  222. --- 104,113 ----
  223.   #ifdef CROSSATARI
  224.   #include "gnu-out.h"
  225.   #include "st-out.h"
  226. ! #include <stdio.h>
  227. ! #include <strings.h>
  228.   #include "gnu-ar.h"
  229. ! #include <sys/file.h>
  230.   #else
  231.   #include <gnu-out.h>
  232.   #include <st-out.h>
  233. ===================================================================
  234. RCS file: /net/acae127/home/bammi/etc/src/master/atari/cross-util/size68.c,v
  235. retrieving revision 1.7
  236. diff -c -r1.7 size68.c
  237. *** 1.7    1993/03/29 03:41:09
  238. --- size68.c    1993/05/21 15:23:17
  239. ***************
  240. *** 1,21 ****
  241.   #include <stdio.h>
  242.   
  243.   /*
  244. !  * Header prepended to each Atari ST .prg file
  245.    */
  246. ! struct aexec {
  247. !      short    a_magic;    /* magic number */
  248. ! unsigned long    a_text;        /* size of text segment */
  249. ! unsigned long    a_data;        /* size of initialized data */
  250. ! unsigned long    a_bss;        /* size of uninitialized data */
  251. ! unsigned long    a_syms;        /* size of symbol table */
  252. ! unsigned long    a_AZero1;    /* always zero */
  253. ! unsigned long    a_AZero2;    /* always zero */
  254. ! unsigned short    a_isreloc;    /* is reloc info present */
  255. ! };
  256. ! #define    CMAGIC    0x601A        /* contiguous text */
  257. ! #define    ISRELOCINFO    0    /* relocation information is present */
  258. !                 /*  any other value - no reloc info  */
  259.   
  260.   extern FILE *fopen();
  261.   
  262. --- 1,33 ----
  263. + /*                             -*- Mode: Elec-C -*- 
  264. +  * size68.c -- report segment sizes take from program header
  265. +  * 
  266. +  * Author          : probably J.R.Bammi
  267. +  * Created On      : some years ago
  268. +  * Last Modified By: Frank Ridderbusch
  269. +  * Last Modified On: Wed Apr 14 21:22:02 1993
  270. +  * Update Count    : 6
  271. +  * Status          : Unknown, Use with caution!
  272. +  */
  273. + /* HISTORY 
  274. +  * 14-Apr-1993        Frank Ridderbusch    
  275. +  *    Deleted the prgflags structure in this file, since it is in
  276. +  *    <st-out.h>. Added code to report status on all prgflags defined
  277. +  *    upto now.
  278. +  */
  279.   #include <stdio.h>
  280. + #include <st-out.h>
  281.   
  282.   /*
  283. !  * ldflgs - stolen from MiNT mem.h
  284.    */
  285. ! #define    F_PROTMODE    0xf0        /* protection mode bits */
  286. ! #define F_PROT_P    0x00        /* no read or write */
  287. ! #define F_PROT_G    0x10        /* any access OK */
  288. ! #define F_PROT_S    0x20        /* any super access OK */
  289. ! #define F_PROT_PR    0x30        /* any read OK, no write */
  290.   
  291.   extern FILE *fopen();
  292.   
  293. ***************
  294. *** 56,66 ****
  295.           exit(3);
  296.       }
  297.       printf("%s:\n\ttext size\t%ld\n\tdata size\t%ld\n\tbss size\t%ld\
  298. ! \n\tsymbol size\t%ld\n\tFile %s relocatable\n\
  299. ! \t%s cleared on startup\n\n", name, h.a_text,
  300.        h.a_data, h.a_bss, h.a_syms,
  301. !     (h.a_isreloc == ISRELOCINFO)? "is":"is not",
  302. !     (h.a_AZero2 & 1)? "Only BSS" : "BSS and high mem");
  303.   }
  304.   
  305.   # ifdef WORD_ALIGNED
  306. --- 68,86 ----
  307.           exit(3);
  308.       }
  309.       printf("%s:\n\ttext size\t%ld\n\tdata size\t%ld\n\tbss size\t%ld\
  310. ! \n\tsymbol size\t%ld\n\tFile %s relocatable.\n\
  311. ! \t%s cleared on startup.\n", name, h.a_text,
  312.        h.a_data, h.a_bss, h.a_syms,
  313. !     (h.a_isreloc == ISRELOCINFO) ? "is" : "is not",
  314. !     (h.a_AZero2 & F_FASTLOAD) ? "Only BSS" : "BSS and high mem");
  315. !     printf("\tFile is loaded into %s\n", 
  316. !         (h.a_AZero2 & F_ALTLOAD) ? "alternate ram" : "ST ram");
  317. !     printf("\t and allocates memory from %s.\n", 
  318. !         (h.a_AZero2 & F_ALTALLOC) ? "alternate ram" : "ST ram");
  319. !     printf("\tFile runs with `%s' memory protection (under MultiTOS).\n", 
  320. !         (((h.a_AZero2 & F_PROTMODE) == F_PROT_PR) ? "readable" : 
  321. !     (((h.a_AZero2 & F_PROTMODE) == F_PROT_S)  ? "super" :
  322. !     (((h.a_AZero2 & F_PROTMODE) == F_PROT_G)  ? "global" : "private"))));
  323.   }
  324.   
  325.   # ifdef WORD_ALIGNED
  326. ===================================================================
  327. RCS file: /net/acae127/home/bammi/etc/src/master/atari/cross-util/strip.c,v
  328. retrieving revision 1.8
  329. diff -c -r1.8 strip.c
  330. *** 1.8    1993/03/29 03:41:10
  331. --- strip.c    1993/05/21 15:23:19
  332. ***************
  333. *** 31,38 ****
  334.    */
  335.   
  336.   #include <stdio.h>
  337. - #include <stat.h>
  338.   #ifdef atarist
  339.   #ifdef __GNUC__
  340.   #  include <stddef.h>
  341.   #  include <memory.h>
  342. --- 31,38 ----
  343.    */
  344.   
  345.   #include <stdio.h>
  346.   #ifdef atarist
  347. + #include <stat.h>
  348.   #ifdef __GNUC__
  349.   #  include <stddef.h>
  350.   #  include <memory.h>
  351. ***************
  352. *** 46,51 ****
  353. --- 46,52 ----
  354.   #endif
  355.   
  356.   #ifdef unix
  357. + #  include <sys/stat.h>
  358.   #  include <strings.h>
  359.   #  define lwrite write
  360.   #  define lread  read
  361. ===================================================================
  362. RCS file: /net/acae127/home/bammi/etc/src/master/atari/cross-util/toglclr.c,v
  363. retrieving revision 1.4
  364. diff -c -r1.4 toglclr.c
  365. *** 1.4    1992/11/08 00:29:27
  366. --- toglclr.c    1993/05/21 15:23:21
  367. ***************
  368. *** 5,35 ****
  369.    * 
  370.    * Author          : J.R. Bammi, modified by F. Ridderbusch
  371.    * Created On      : Some time ago.
  372. !  * Last Modified By: J.R. Bammi
  373. !  * Last Modified On: Fri Sep 25 12:00:28 1992
  374. !  * Update Count    : 6
  375.    * Status          : Unknown, Use with caution!
  376.    */
  377.   
  378.   /* HISTORY 
  379.    * 25-Sep-1992          ++jrb
  380.    *    Added support for cross-environment with support for 
  381.    *    WORD_ALIGNED hosts.
  382. -  *
  383.    * 13-Sep-1992        Frank Ridderbusch    
  384.    *    This program was originally written by J.R. Bammi
  385.    *    (bammi@cadence.com) to toggle the clear TPA above BSS flag
  386.    *    introduced with TOS 1.4. I extended it to also handle the additional
  387.    *    program flags introduced with the TOS versions for the STE and TT.
  388. -  *
  389. -  * 31-Oct-1992        Thomas Schulze
  390. -  *    Added code for MiNT 0.96 (and up) shared text feature. -fshare
  391. -  *    will switch this flag.
  392.    */
  393.   
  394.   #include <stdio.h>
  395.   #include <stdlib.h>
  396. ! #include <unixlib.h>
  397.   #include <string.h>
  398.   #include <st-out.h>
  399.   
  400. --- 5,36 ----
  401.    * 
  402.    * Author          : J.R. Bammi, modified by F. Ridderbusch
  403.    * Created On      : Some time ago.
  404. !  * Last Modified By: Frank Ridderbusch
  405. !  * Last Modified On: Wed Apr 14 21:26:12 1993
  406. !  * Update Count    : 18
  407.    * Status          : Unknown, Use with caution!
  408.    */
  409.   
  410.   /* HISTORY 
  411. +  * 14-Apr-1993        Frank Ridderbusch    
  412. +  *    Added code to handle the memory protection bits under MultiTOS.
  413. +  *    Changed output format slightly.
  414. +  * 31-Oct-1992        Thomas Schulze
  415. +  *    Added code for MiNT 0.96 (and up) shared text feature. -fshared
  416. +  *    will switch this flag.
  417.    * 25-Sep-1992          ++jrb
  418.    *    Added support for cross-environment with support for 
  419.    *    WORD_ALIGNED hosts.
  420.    * 13-Sep-1992        Frank Ridderbusch    
  421.    *    This program was originally written by J.R. Bammi
  422.    *    (bammi@cadence.com) to toggle the clear TPA above BSS flag
  423.    *    introduced with TOS 1.4. I extended it to also handle the additional
  424.    *    program flags introduced with the TOS versions for the STE and TT.
  425.    */
  426.   
  427.   #include <stdio.h>
  428.   #include <stdlib.h>
  429. ! #include <unistd.h>
  430.   #include <string.h>
  431.   #include <st-out.h>
  432.   
  433. ***************
  434. *** 37,43 ****
  435. --- 38,55 ----
  436.   #define FILENAME_MAX 1024
  437.   #endif
  438.   
  439. + /*
  440. +  * ldflgs - stolen from MiNT mem.h
  441. +  */
  442. + #define    F_PROTMODE    0xf0        /* protection mode bits */
  443. + #define F_PROT_P    0x00        /* no read or write */
  444. + #define F_PROT_G    0x10        /* any access OK */
  445. + #define F_PROT_S    0x20        /* any super access OK */
  446. + #define F_PROT_PR    0x30        /* any read OK, no write */
  447.   int flags_to_toggle = 0;
  448. + int set_mp_flags = 0;
  449.   
  450.   #ifdef WORD_ALIGNED
  451.   
  452. ***************
  453. *** 130,137 ****
  454.       }
  455.   
  456.       t = head.a_AZero2;
  457. !     if (flags_to_toggle)
  458.       {
  459.           head.a_AZero2 ^= flags_to_toggle;
  460.           lseek(fd, 0L, SEEK_SET);
  461.       if(writehead(&head, fd))
  462. --- 142,150 ----
  463.       }
  464.   
  465.       t = head.a_AZero2;
  466. !     if (flags_to_toggle || set_mp_flags)
  467.       {
  468. +         head.a_AZero2 &= ~F_PROTMODE;
  469.           head.a_AZero2 ^= flags_to_toggle;
  470.           lseek(fd, 0L, SEEK_SET);
  471.       if(writehead(&head, fd))
  472. ***************
  473. *** 141,162 ****
  474.           }
  475.       }
  476.   
  477. !     printf("%s:            `fast load' bit was %d is now %d\n", fn, 
  478.          (int)((t & F_FASTLOAD) == F_FASTLOAD),
  479.          (int)((head.a_AZero2 & F_FASTLOAD) == F_FASTLOAD));
  480.   
  481. !     printf("%s:      `run in fast ram' bit was %d is now %d\n", fn, 
  482.          (int)((t & F_ALTLOAD) == F_ALTLOAD),
  483.          (int)((head.a_AZero2 & F_ALTLOAD) == F_ALTLOAD));
  484.   
  485. !     printf("%s: `malloc from fast ram' bit was %d is now %d\n", fn, 
  486.          (int)((t & F_ALTALLOC) == F_ALTALLOC),
  487.          (int)((head.a_AZero2 & F_ALTALLOC) == F_ALTALLOC));
  488.   
  489. !     printf("%s: `shared text' bit was %d is now %d\n", fn,
  490.           (int)((t & F_SHTEXT) == F_SHTEXT),
  491.           (int)((head.a_AZero2 & F_SHTEXT) == F_SHTEXT));
  492.   
  493.       return 0;
  494.   }
  495.   
  496. --- 154,191 ----
  497.           }
  498.       }
  499.   
  500. !     printf("%s:\n\t           `fast load' bit was %d, is now %d.\n", fn, 
  501.          (int)((t & F_FASTLOAD) == F_FASTLOAD),
  502.          (int)((head.a_AZero2 & F_FASTLOAD) == F_FASTLOAD));
  503.   
  504. !     printf("\t     `run in fast ram' bit was %d, is now %d.\n",
  505.          (int)((t & F_ALTLOAD) == F_ALTLOAD),
  506.          (int)((head.a_AZero2 & F_ALTLOAD) == F_ALTLOAD));
  507.   
  508. !     printf("\t`malloc from fast ram' bit was %d, is now %d.\n",
  509.          (int)((t & F_ALTALLOC) == F_ALTALLOC),
  510.          (int)((head.a_AZero2 & F_ALTALLOC) == F_ALTALLOC));
  511.   
  512. !     printf("\t         `shared text' bit was %d, is now %d.\n",
  513.           (int)((t & F_SHTEXT) == F_SHTEXT),
  514.           (int)((head.a_AZero2 & F_SHTEXT) == F_SHTEXT));
  515.   
  516. +     switch (head.a_AZero2 & F_PROTMODE)
  517. +     {
  518. +         case F_PROT_P:
  519. +             ptr = "private";
  520. +         break;
  521. +         case F_PROT_G:
  522. +             ptr = "global";
  523. +         break;
  524. +         case F_PROT_S:
  525. +             ptr = "super";
  526. +         break;
  527. +         case F_PROT_PR:
  528. +             ptr = "private/readable";
  529. +         break;
  530. +     }
  531. +     printf("\truns now with `%s' memory protection.\n", ptr);
  532.       return 0;
  533.   }
  534.   
  535. ***************
  536. *** 165,180 ****
  537.   char **argv;
  538.   {
  539.       int fd;
  540.       int status = 0;
  541.       char fn[FILENAME_MAX];
  542.       
  543.       if(argc < 2)
  544.       {
  545.       fprintf(stderr, "usage: toglclr [options] file file .....\n\n");
  546. !     fprintf(stderr, "options: -fload = toggle `fast load' bit\n");
  547. !     fprintf(stderr, "         -frun  = toggle `load program into fast ram' bit\n");
  548. !     fprintf(stderr, "         -fram  = toggle `malloc from fast ram' bit\n");
  549. !     fprintf(stderr, "         -fshare= toggle `shared text' bit\n\n");
  550.       fprintf(stderr, "without options the current state is reported.\n");
  551.       exit(1);
  552.       }
  553. --- 194,216 ----
  554.   char **argv;
  555.   {
  556.       int fd;
  557. +     int tmp = 0;
  558.       int status = 0;
  559.       char fn[FILENAME_MAX];
  560.       
  561.       if(argc < 2)
  562.       {
  563.       fprintf(stderr, "usage: toglclr [options] file file .....\n\n");
  564. !     fprintf(stderr, "options: -fload    = toggle `fast load' bit\n");
  565. !     fprintf(stderr, "         -frun     = toggle `load program into fast ram' bit\n");
  566. !     fprintf(stderr, "         -fram     = toggle `malloc from fast ram' bit\n");
  567. !     fprintf(stderr, "         -fshare   = toggle `shared text' bit\n\n");
  568. !     fprintf(stderr, "options for memory protection (only one of these allowed and\n");
  569. !         fprintf(stderr, "        only sensible under MultiTOS):\n");
  570. !     fprintf(stderr, "         -private  = \n");
  571. !     fprintf(stderr, "         -global   = \n");
  572. !     fprintf(stderr, "         -super    = \n");
  573. !     fprintf(stderr, "         -readable = \n\n");
  574.       fprintf(stderr, "without options the current state is reported.\n");
  575.       exit(1);
  576.       }
  577. ***************
  578. *** 189,196 ****
  579. --- 225,254 ----
  580.           flags_to_toggle |= F_ALTALLOC;
  581.       if (!strcmp(*argv, "-fshare"))
  582.           flags_to_toggle |= F_SHTEXT;
  583. +     if (!strcmp(*argv, "-private"))
  584. +     {
  585. +         tmp = F_PROT_P;
  586. +         set_mp_flags = 1;
  587. +     }
  588. +     if (!strcmp(*argv, "-global"))
  589. +     {
  590. +         tmp = F_PROT_G;
  591. +         set_mp_flags = 1;
  592. +     }
  593. +     if (!strcmp(*argv, "-super"))
  594. +     {
  595. +         tmp = F_PROT_S;
  596. +         set_mp_flags = 1;
  597. +     }
  598. +     if (!strcmp(*argv, "-readable"))
  599. +     {
  600. +         tmp = F_PROT_PR;
  601. +         set_mp_flags = 1;
  602. +     }
  603.       --argc;
  604.       }
  605. +     
  606. +     flags_to_toggle |= tmp;
  607.   
  608.       while(--argc > 0)
  609.       {
  610.