pml@SUN.COM (PM Lashley) (12/21/88)
I have just upgraded from make version 3.05 to 3.27. When checking to see what had been changed, I noticed the sun386 fixes involving the non-definition of SARMAG and ARFMAG. The ar.h on my system (release BL8H.5) defines them within conditional compilation based upon the values of PORTAR and PORT5AR. If PORTAR is TRUE, ar.h defines the AT&T Common Archive Format. If PORT5AR it defines the System V Release 1 format. I have included a patch which seems to work without the explicit SARMAG and ARFMAG testing. It should also be noted that gcc (1.31) complained of a syntax error before `int' in the following line in arscan.c (line 189 of the 3.27 distribution) #ifdef SARMAG register long int member_offset = SARMAG; #else --> register long int member_offset = sizeof int; #endif I am also getting a coredump when I attempt to use the -p option on either the sun386i or on a Sun3 under SunOS 3.5. It doesn't seem to make much difference whether I have environment variables; or what I use for a makefile. The following output was from `./make -p -r -f /dev/null' with no environment variables. ------------------------------------------------------------------------------- GNU Make version 3.27, by Richard Stallman and Roland McGrath. Copyright (C) 1988 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Variables MAKE (environment) := /files/home/wizards/netware/make-3.27/./make $ (automatic) := % (automatic) := * (automatic) := < (automatic) := ? (automatic) := @ (automatic) := ^ (automatic) := %D (automatic) := %F (automatic) := *D (automatic) := *F (automatic) := SHELL (makefile) := /bin/sh <D (automatic) := <F (automatic) := @D (automatic) := @F (automatic) := MAKEFLAGS (environment) := -j1 -r -S Abort (core dumped) ------------------------------------------------------------------------------- The sun386i patch: *** arscan.c.dist Tue Dec 20 09:48:39 1988 --- arscan.c Tue Dec 20 10:07:28 1988 *************** *** 92,102 **** You are forbidden to forbid anyone else to use, share and improve what you give them. Help stamp out software-hoarding! */ ! /* There are conditionals that test whether the macros SARMAG and ARFMAG ! exist. These are supposed to be defined in ar.h on ordinary BSD. ! Supposedly on the sun386i these macros are missing ! and there are other format differences as well. */ #include <ar.h> #include <stdio.h> #include <sys/types.h> --- 92,107 ---- You are forbidden to forbid anyone else to use, share and improve what you give them. Help stamp out software-hoarding! */ ! /* On the sun386i, ar.h defines two different archive formats depending upon ! whether you have defined PORTAR (normal) or PORT5AR (System V Release 1). ! There is no default, one or the other must be defined to have a TRUE value ! (simple definition is not enough). ! */ + #if defined(sun386) && !defined(PORTAR) && !defined(PORT5AR) + #define PORTAR 1 + #endif + #include <ar.h> #include <stdio.h> #include <sys/types.h> Thanks for the great work, -Pat PMLashley sun!cohesive!kla!pat cohesive!kla!pat@sun.com KLA Instruments POBox 5016, 3901 Burton Drive Santa Clara, CA 95052 408/988-6100 P.S. You may not be able to reach me via `reply'. I think that Sun is still bashing envelope return addresses during uucp-to-internet mail transitions. Direct mail to address above.