timothy@SPICA.UCSC.EDU (Timothy Oborne) (07/25/89)
To compile GNU make 3.54 on an IBM RT w/AOS :
1) Apply enclosed patch (it is a hack but it has been working for me)
CAVEAT:
This is more of an FYI fix than one I would depend on. I don't have the
required knowledge to pursue it any further, but I have figured out where
to find the problem (which line in the program bombs).
2) Add -ma to the CFLAGS in Makefile. (You need to do this)
3) Proceed as normal.
=========================================================================
Timothy W. Oborne, Systems Programmer INTERNET: timothy@spica.ucsc.edu
University of California, Santa Cruz UUCP: ucbvax!ucscc!saturn!timothy
=========================================================================
----- Cut Here For Context Diff -----
*** main.c Mon Jul 24 16:45:53 1989
--- main_good.c Mon Jul 24 16:44:54 1989
***************
*** 805,810 ****
--- 805,814 ----
register struct stringlist *sl;
char *arg;
+ #ifdef ibm032
+ int bloody_hack_index; /* See comment below */
+ #endif /* ibm032 */
+
decode_env_switches ("MAKEFLAGS", 9);
decode_env_switches ("MFLAGS", 6);
***************
*** 812,817 ****
--- 816,838 ----
other_args->max = 5;
other_args->list = (char **) xmalloc (5 * sizeof (char *));
other_args->idx = 1;
+
+ #ifdef ibm032
+ /* 7/24/89 Timothy W. Oborne, University of California at Santa Cruz.
+ timothy@cis.ucsc.edu
+
+ System: IBM RT Running AOS
+
+ This is a "bloody hack", I'm not sure why it works. Take
+ this line out and gnumake will bomb with a fatal error, leave it in
+ and everything is fine. Some sort of memory allocation problem I
+ guess??? Anyway, I don't have time to track it down now. A print
+ statement or a getchar() work just as well. Beats me. Some sort
+ of wierd timing problem (yuck).
+ */
+ for(bloody_hack_index=0; bloody_hack_index<10; bloody_hack_index++);
+ #endif
+
other_args->list[0] = savestring (argv[0], strlen (argv[0]));
for (i = 1; i < argc; i++)