8sa1-gcc/gcc
1994-05-11 16:18:08 -04:00
..
config (*TF*_LIBCALL): Delete `*' from libcall name. 1994-05-09 18:05:41 -07:00
cp 36th Cygnus<->FSF merge 1994-05-06 09:27:46 +00:00
ginclude Recognize __FreeBSD__. 1994-04-25 14:22:17 -04:00
objc (OBJC_O): Add encoding.o. 1994-04-16 16:51:12 -04:00
alloca.c
assert.h
basic-block.h
bc-emit.c Change <gvarargs.h> to <varargs.h>. 1994-03-31 21:17:26 -08:00
bc-emit.h
bc-optab.c (bc_expand_{binary,unary}_operation): Add missing args to call to 1994-03-14 08:12:11 -05:00
bc-optab.h
bc-typecd.def
bc-typecd.h
bi-arity.c
bi-defs.h
bi-lexer.c
bi-opcode.c (main): Don't write overly-long line. 1994-04-21 15:25:36 -04:00
bi-opname.c
bi-parser.y
bi-reverse.c
bi-run.h Properly test BYTES_BIG_ENDIAN. 1994-03-12 07:35:56 -05:00
build-make
bytecode.def
bytecode.h Properly test WORDS_BIG_ENDIAN. 1994-03-12 07:36:32 -05:00
bytetypes.h
c-aux-info.c (gen_decl): Remove decl of unused variable. 1994-03-25 13:55:03 -05:00
c-common.c (decl_attributes): Move the attribute recognition and rejection here from c-parse.in. 1994-05-06 18:32:17 -04:00
c-convert.c
c-decl.c (pushdecl): Use lookup_name_current_level_global instead of lookup_name for extern references. 1994-05-02 13:48:11 -07:00
c-iterate.c
c-lang.c
c-lex.c (check_newline): Avoid unreachable statement when HANDLE_SYSV_PRAGMA 1994-04-20 06:40:07 -04:00
c-lex.h
c-parse.gperf
c-parse.in Rewrite attribute parsing; update the expected conflicts and state 1994-05-06 18:28:47 -04:00
c-pragma.c (HANDLE_PRAGMA_WEAK): Depend on ASM_OUTPUT_DEF not 1994-02-27 16:47:28 -08:00
c-tree.h (lookup_name_current_level_global): Declare. 1994-05-02 13:47:39 -07:00
c-typeck.c (common_type): Add attribute merging. 1994-05-06 18:29:58 -04:00
caller-save.c (insert_save_restore): Change from USE and CLOBBER insns to using 1994-05-06 17:49:35 -04:00
calls.c (prepare_call_address, emit_call_1, expand_call): Change from USE and CLOBBER insns to using CALL_INSN_FUNCTION_USAGE. 1994-05-06 17:46:44 -04:00
cccp.c Include source file name in dependency output. 1994-05-05 16:28:46 +00:00
cexp.y
collect2.c (putenv): Remove decl of unused variable STR_LEN. 1994-03-25 13:57:48 -05:00
combine.c (try_combine): Restrict combining on CALL_INSNs. 1994-05-06 17:44:06 -04:00
conditions.h
config.guess
config.sub Remove duplicate -freebsd* entry. 1994-05-04 22:44:55 +00:00
configure.bat
convert.c (convert_to_integer): Convert integer_one_node to proper type before 1994-03-14 05:09:52 -05:00
convert.h
cpp.1
cross-make
crtstuff.c Change rfg's address. 1994-03-23 16:57:20 -05:00
cse.c (cse_insn): Invalidate CLOBBERed registers. 1994-05-06 17:45:07 -04:00
dbxout.c (dbxout_type): check TYPE_DECL_SUPPRESS_DEBUG to generate cross reference 1994-04-29 22:29:42 +00:00
dbxstclass.h
defaults.h Change addres for rfg. 1994-03-26 07:43:02 -05:00
dostage2
dostage3
dwarf.h Change addres for rfg. 1994-03-26 07:43:02 -05:00
dwarfout.c Change rfg's address. 1994-03-23 16:57:20 -05:00
emit-rtl.c (make_call_insn_raw): New function. 1994-05-06 17:45:57 -04:00
enquire.c Change "gstddef.h" to <stddef.h>. 1994-03-31 21:23:12 -08:00
explow.c (allocate_dynamic_stack_space): Just return virtual_stack_dynamic_rtx if asking for zero bytes. 1994-05-06 13:44:29 -04:00
expmed.c Add prototypes for static functions. 1994-04-21 15:31:56 -04:00
expr.c (use_regs, expand_builtin_apply): Change from USE and CLOBBER insns to 1994-05-06 17:47:35 -04:00
expr.h (use_regs): Change from USE and CLOBBER insns to using 1994-05-06 17:48:22 -04:00
final.c Include stdio.h and ctype.h early. 1994-04-21 15:29:50 -04:00
fix-header.c (read_scan_file): Remove decl of unused variable RPTR. 1994-03-25 14:08:19 -05:00
fixcpp
fixinc.dgux
fixinc.sco In <prototypes.h>, fix prototypes of getcwd and link. 1994-02-25 02:20:56 +00:00
fixinc.svr4 Define BYTE_ORDER in <sys/byteorder.h> as on UnixWare 1.1 1994-03-17 22:43:02 +00:00
fixincludes Don't recursively search symlinks to `.'. 1994-05-11 16:12:15 +00:00
fixproto Add missing fns to required list for string.h 1994-04-01 22:36:00 +00:00
flags.h (id_clash_len): Now unsigned. 1994-02-27 15:18:57 -05:00
flow.c (flow_analysis, find_basic_blocks): Change from USE and CLOBBER insns 1994-05-06 17:48:55 -04:00
fold-const.c (fold-convert): Use assignment, instead of initializing, aggregate 1994-04-25 06:33:38 -04:00
function.c (fixup_var_refs_insns): Change from USE and CLOBBER insns to using 1994-05-06 17:50:04 -04:00
function.h (struct function): New field for current_function_varargs. 1994-04-06 07:49:37 -04:00
gbl-ctors.h Change rfg's address. 1994-03-23 16:57:20 -05:00
gcc.c (process_command): Kludge in stageN/../include instead of include. 1994-05-10 21:49:41 +00:00
gen-protos.c (main): Remove unused args in call to fprintf. 1994-02-14 19:18:27 -05:00
genattr.c (main): Remove decl of unused variable MAX_ISSUE_TIME. 1994-03-25 14:09:34 -05:00
genattrtab.c No longer handle LSHIFT. 1994-04-10 08:03:37 -04:00
gencodes.c
genconfig.c
genemit.c Added \n to printf to shorten line for VAX-C. 1994-03-12 07:38:00 -05:00
genextract.c
genflags.c
genopinit.c No longer reference lsl_optab. 1994-04-10 08:04:14 -04:00
genoutput.c (output_epilogue, insn_names): Write correct names for patterns before 1994-03-19 08:35:45 -05:00
genpeep.c
genrecog.c (break_out_subroutines): Remove decl of unused variable. 1994-03-25 14:13:46 -05:00
getpwd.c
glimits.h
global.c (find_reg): When looking for locally-allocated hard regs to reclaim, 1994-05-04 16:45:28 -04:00
gsyms.h
gsyslimits.h
halfpic.c
halfpic.h Hack to get cp-errfn.c to compile without stdio.h 1994-04-13 01:39:51 +00:00
hard-reg-set.h (GO_IF_HARD_REG_EQUAL): Fix typo. 1994-02-03 13:24:04 -05:00
input.h
integrate.c (save_for_inline_copying, expand_inline_function): Copy 1994-05-06 17:53:31 -04:00
integrate.h
jump.c (find_cross_jump, get_label_{before,after}): Change from USE and 1994-05-06 17:50:55 -04:00
just-fixinc
libgcc1.c Clarify license status. 1994-04-28 18:29:12 -04:00
libgcc2.c Clarify license status. 1994-04-28 18:29:12 -04:00
limitx.h
limity.h
local-alloc.c Add prototypes for static functions. 1994-04-21 15:31:56 -04:00
longlong.h Change R/S 6000 macros to use new mnemonics under -mnew-mnemonics 1994-03-31 17:10:42 +00:00
loop.c No longer handle LSHIFT. 1994-04-10 08:03:37 -04:00
loop.h
machmode.def
machmode.h
make-cc1.com
make-cccp.com
make-gcc.com
make-l2.com
Makefile.in Don't ignore errors in for loop over $(LIB[12]FUNCS_EXTRA) 1994-05-06 15:31:51 +00:00
mips-tdump.c (print_symbol): The index field of a global symbol is the symbol table index of the corresponding local symbol... 1994-03-07 17:06:13 -08:00
mips-tfile.c (update_headers): Do not copy stStatic symbols that result from 1994-04-11 05:50:10 -04:00
modemap.def
optabs.c Use CONST_DOUBLE_FROM_REAL_VALUE macro for immed_real_const_1. 1994-04-21 15:32:38 -04:00
output.h Add missing declarations of functions in final.c. 1994-04-21 15:24:23 -04:00
pcp.h
print-rtl.c
print-tree.c (print_node): Print attributes. 1994-05-06 18:31:50 -04:00
PROBLEMS
PROJECTS
protoize.c Fix copyright notice. 1994-03-30 17:16:20 -05:00
README-fixinc
README.ALTOS
README.APOLLO
README.TRAD
README.X11
real.c (etoe53, etoe24): Make all occurrences static. 1994-04-24 11:27:52 -04:00
real.h Add prototypes to declarations of functions in real.c. 1994-04-21 15:24:02 -04:00
recog.c (constrain_operands): Properly handle '#' in constraint. 1994-03-06 15:17:55 -05:00
recog.h
reg-stack.c (find_blocks): Undo previous change to block delineation algorithm. 1994-03-06 19:14:32 +00:00
regclass.c (init_reg_sets_1): Eliminate several permanent call_fixed_regs. 1994-05-06 18:02:55 -04:00
regs.h (reg_raw_mode): Declare. 1994-04-20 03:33:09 +00:00
reload1.c (emit_reload_insns): Don't try to delete output reload if there isn't 1994-05-07 17:48:59 -04:00
reload.c (find_reloads): Ignore alternatives that will not be reloadable due to 1994-05-06 18:55:32 -04:00
reload.h (PROTO, STDIO_PROTO): Likewise. 1994-04-21 15:24:48 -04:00
reorg.c (mark_{referenced,set}_resources): Fix typos in last change. 1994-05-07 17:52:53 -04:00
rtl.c (read_rtx): Remove decl of unused variable STRINGBUFSIZE. 1994-03-25 14:17:23 -05:00
rtl.def (CALL_INSN): Define new CALL_INSN_FUNCTION_USAGE field. 1994-05-06 17:40:04 -04:00
rtl.h (CALL_INSN_FUNCTION_USAGE): New macro. 1994-05-06 17:40:25 -04:00
rtlanal.c (reg_used_between_p): Check usage exprs on CALL_INSNs. 1994-05-06 17:43:38 -04:00
scan-decls.c
scan-types.sh scan-types.sh: Fix program's name in error message. 1994-04-18 07:09:17 +00:00
scan.c Fix line number counting. 1994-04-11 14:26:48 -07:00
scan.h
sched.c (sched_analyze_insn): Fix typo in last change. 1994-05-11 16:18:08 -04:00
sdbout.c (sdbout_begin_block): Don't output block for function level scope unless MIPS_DEBUGGING_INFO is defined. 1994-04-04 14:39:19 -07:00
sort-protos
stack.h
stmt.c (expand_decl): Don't set current_function_calls_alloca here nor record 1994-05-06 13:46:14 -04:00
stor-layout.c stor-layout.c (layout_type, [...]): Set TREE_UNSIGNED unless TYPE_MIN_VALUE is negative. 1994-03-17 21:33:36 -08:00
stupid.c (stupid_life_analysis): Check the usage information on CALL_INSNs. 1994-05-06 17:54:08 -04:00
sys-protos.h (read, write): Last parm is size_t not unsigned int. 1994-05-02 13:44:44 -07:00
sys-types.h Change "gstddef.h" to <stddef.h>. 1994-03-31 21:45:49 -08:00
toplev.c loose some C++ options. 1994-05-06 08:56:35 +00:00
tree.c (TYPE_HASH): Move definition to top of file. 1994-05-06 18:29:26 -04:00
tree.def Removed un-used STRING_TYPE. 1994-02-15 19:52:30 -08:00
tree.h Fix typo in comment. 1994-05-07 10:05:01 -04:00
typeclass.h
unprotoize.c
unroll.c (remap_split_bivs): New function. 1994-05-02 13:42:23 -07:00
varasm.c Use new macro AGGREGATE_TYPE_P. 1994-04-26 16:56:21 -07:00
vmsconfig.com
xcoffout.c (ASM_OUTPUT_LFE): Output absolute line number not 1994-01-31 12:19:28 -08:00
xcoffout.h (DBX_OUTPUT_MAIN_SOURCE_FILENAME): Disable. 1994-03-31 18:58:11 -08:00

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[This file contains two alternative recipes for compiling X11 with GCC.
The first alternative puts libgcc.a into the shared X library; the second
does not.  Neither alternative works on all kinds of systems.
It may be that when using GCC 2.4, both alternatives work okay on 
relatively recent Sparc systems.  The first alternative is likely
not to work on a Sun 3 without hardware floating point.]

How to compile X11R5 (patch level 11) with GCC version 2:

The patches include support for building the shared libraries with GCC
2 on the Sparc and 68k machines.  This version includes the necessary
parts of libgcc.a in the shared library for X, in case functions in
that library need it.  Thus the default behavior is now to build
everything, including the libraries, with gcc.

If you build the shared library this way, it may not work with 
executables made with older versions of GCC (2.3.3 and earlier).
If that happens, relink those executables with the latest GCC.
IF YOU THINK YOU MIGHT COMPILE X FOR SOLARIS 2, then you really don't
need this patch: get /contrib/R5.SunOS5.patch.tar.Z from
export.lcs.mit.edu instead.  It has everything you need to do the
build for Solaris 2, sets you up to everything with GCC, and is
backward compatible with Sunos 4.*.  Get the the README
(/contrib/R5.SunOS5.patch.README at export) for more info.

If you see undefined symbols _dlopen, _dlsym, or _dlclose when linking
with -lX11, compile and link against the file mit/util/misc/dlsym.c in
the MIT X11R5 distribution.  Alternatively, do dynamic linking
by using a non-GNU ld.

mit/config/Imake.tmpl -- Do not set -fstrength-reduce if we have GCC 2.
If -fstrength-reduce (or any other -f option) is a major win, then it
will most likely be turned on by -O2 optimization.

mit/config/sunLib.rules -- If HasGcc and GccVersion > 1 are true, then
use gcc -fpic to generate PIC code.  Make sure that gcc does not use
gas (the GNU assembler) when compiling PIC code; gas does not assemble
it correctly.

***If you have gas installed where gcc uses it by default, you might have
to add -B/bin/ to the PositionIndependentCFlags.***

mit/config/site.def -- Define GccVersion to be 2.

mit/config/sun.cf -- When compiling with GCC 2, use -O2 optimization.

mit/config/sunLib.rules -- When compiling with GCC 2, use -fpic for
position independent code generation.

mit/rgb/Imakefile -- No longer need to compile some modules with 
cc on the Sparc since GCC 2 produces proper -fpcc-struct-return code.

mit/server/os/Imakefile -- Likewise.

mit/server/ddx/sun/Imakefile -- When compiling with GCC 2, some modules
should be compiled with -fvolatile.

mit/clients/twm/Imakefile -- Fix bad decls of malloc, realloc in gram.c.

mit/lib/X/Imakefile -- Make libgcc.a a required lib for libX11.so

*** mit/clients/twm/Imakefile	Mon May 17 22:05:22 1993
--- new/clients/twm/Imakefile	Mon May 17 22:28:46 1993
***************
*** 32,41 ****
--- 32,48 ----
  ComplexProgramTarget(twm)
  InstallNonExecFile(system.twmrc,$(TWMDIR))
  
+ #if HasGcc && GccVersion > 1 && defined (SunArchitecture)
  gram.h gram.c: gram.y
  	yacc $(YFLAGS) gram.y
+ 	sed -e 's/^extern char \*malloc(), \*realloc();//g' y.tab.c >gram.c
+ 	$(MV) y.tab.h gram.h
+ #else
+ gram.h gram.c: gram.y
+ 	yacc $(YFLAGS) gram.y
  	$(MV) y.tab.c gram.c
  	$(MV) y.tab.h gram.h
+ #endif
  
  clean::
  	$(RM) y.tab.h y.tab.c lex.yy.c gram.h gram.c lex.c deftwmrc.c 
*** mit/config/Imake.tmpl	Mon May 17 22:02:57 1993
--- new/config/Imake.tmpl	Mon May 17 22:15:06 1993
***************
*** 500,506 ****
--- 500,510 ----
  #endif
  #ifndef CcCmd
  #if HasGcc
+ #if GccVersion > 1
+ #define CcCmd gcc -fpcc-struct-return
+ #else
  #define CcCmd gcc -fstrength-reduce -fpcc-struct-return 
+ #endif
  #else
  #define CcCmd cc
  #endif
*** mit/config/site.def	Mon May 17 22:02:44 1993
--- new/config/site.def	Mon May 17 22:22:28 1993
***************
*** 25,31 ****
  
  #ifdef BeforeVendorCF
  
! /* #define HasGcc YES */
  
  #endif /* BeforeVendorCF */
  
--- 25,33 ----
  
  #ifdef BeforeVendorCF
  
! #define HasGcc YES
! /* GccVersion > 1 implies building shared libraries with gcc */
! #define GccVersion 2
  
  #endif /* BeforeVendorCF */
  
*** mit/config/sun.cf	Mon May 17 22:03:02 1993
--- new/config/sun.cf	Mon May 17 22:24:55 1993
***************
*** 41,49 ****
--- 41,55 ----
  
  #if HasGcc
  
+ #if GccVersion > 1
+ #define OptimizedCDebugFlags -O2
+ #else
+ #define OptimizedCDebugFlags -O
  #define SharedLibraryCcCmd cc
  #define ExtraLoadFlags -B/usr/bin/
  #define AllocateLocalDefines /**/
+ #endif
+ 
  
  .c.o:
  	$(CC) -c $(CFLAGS) $*.c
*** mit/config/sunLib.rules	Mon May 17 22:02:46 1993
--- new/config/sunLib.rules	Mon May 17 22:19:06 1993
***************
*** 23,29 ****
--- 23,33 ----
  #define SharedLibraryLoadFlags -assert pure-text
  #endif
  #ifndef PositionIndependentCFlags
+ #if defined(HasGcc) && GccVersion > 1
+ #define PositionIndependentCFlags -fpic
+ #else
  #define PositionIndependentCFlags -pic
+ #endif
  #endif
  
  /*
*** mit/lib/X/Imakefile	Mon May 17 22:05:03 1993
--- new/lib/X/Imakefile	Mon May 17 22:32:26 1993
***************
*** 9,14 ****
--- 9,31 ----
  #define MotifBC NO
  #endif
  
+ #if defined(SunArchitecture)
+ #if SystemV4
+ #if HasGcc
+ REQUIREDLIBS= -lgcc -lc
+ #else
+ REQUIREDLIBS= -lc
+ #endif
+ #else
+ #if HasGcc && GccVersion > 1
+ XCOMM Hack to fix gcc 2 ``-nostdlib'' deficiency on SunOS 4.x
+ REQUIREDLIBS= `gcc -v 2>&1 | awk '{print $$4}' | sed -e 's/specs$$/libgcc.a/'`
+ #else
+ REQUIREDLIBS=
+ #endif
+ #endif
+ #endif
+ 
  #ifndef BuildXimp
  #define BuildXimp NO
  #endif
*** mit/rgb/Imakefile	Mon May 17 22:05:31 1993
--- new/rgb/Imakefile	Mon May 17 22:25:30 1993
***************
*** 17,23 ****
  #if !(defined(SGIArchitecture) || SystemV4)
         DBMLIB = -ldbm
  #endif
! #if defined(SparcArchitecture) && HasGcc
             CC = cc
      CCOPTIONS = /**/
      EXTRA_LOAD_FLAGS = /**/
--- 17,23 ----
  #if !(defined(SGIArchitecture) || SystemV4)
         DBMLIB = -ldbm
  #endif
! #if defined(SparcArchitecture) && HasGcc && GccVersion <= 1
             CC = cc
      CCOPTIONS = /**/
      EXTRA_LOAD_FLAGS = /**/
*** mit/server/ddx/sun/Imakefile	Mon May 17 22:05:57 1993
--- new/server/ddx/sun/Imakefile	Mon May 17 22:27:23 1993
***************
*** 43,48 ****
--- 43,53 ----
  LinkFile(sunGX.o,sunGX.o.dist)
  #endif
  
+ #if HasGcc && GccVersion > 1
+ SpecialObjectRule(sunCG2C.o,sunCG2C.c,-fvolatile)
+ SpecialObjectRule(sunCG2M.o,sunCG2M.c,-fvolatile)
+ #endif
+ 
  sunInitExtMono.o: $(ICONFIGFILES)
  ObjectFromSpecialSource(sunInitExtMono,../mi/miinitext,-UPEXEXT)
  ObjectFromSpecialSource(sunInitMono,sunInit,-DMONO_ONLY)
*** mit/server/os/Imakefile	Mon May 17 22:05:46 1993
--- new/server/os/Imakefile	Mon May 17 22:26:02 1993
***************
*** 132,138 ****
  SpecialObjectRule(osinit.o,$(ICONFIGFILES),$(ADM_DEFINES))
  SpecialObjectRule(WaitFor.o,$(ICONFIGFILES),$(EXT_DEFINES))
  SpecialObjectRule(fonttype.o,$(ICONFIGFILES),$(FONT_DEFINES))
! #if defined(SparcArchitecture) && HasGcc
  oscolor.o: $(ICONFIGFILES)
  	$(RM) $@
  	cc -c $(DBM_DEFINES) $(CDEBUGFLAGS) $(ALLDEFINES) $*.c
--- 132,138 ----
  SpecialObjectRule(osinit.o,$(ICONFIGFILES),$(ADM_DEFINES))
  SpecialObjectRule(WaitFor.o,$(ICONFIGFILES),$(EXT_DEFINES))
  SpecialObjectRule(fonttype.o,$(ICONFIGFILES),$(FONT_DEFINES))
! #if defined(SparcArchitecture) && HasGcc && GccVersion <= 1
  oscolor.o: $(ICONFIGFILES)
  	$(RM) $@
  	cc -c $(DBM_DEFINES) $(CDEBUGFLAGS) $(ALLDEFINES) $*.c


[This is the older version]

How to compile X11R5 (patch level 11) with GCC version 2:

The patches include support for building the shared libraries with GCC 2 on 
the Sparc and 68k machines.

NOTE: Such shared libraries built with GCC version 2.3 DID NOT WORK
with executables previously linked using Sun CC!  This is because
neither those executables nor the gcc-compiled shared libraries contain
libgcc.a.  The shared libraries did work with executables linked using
GCC (running the Sun linker, of course) because GCC tells the linker to
link in libgcc.a.  Because of these limitations the default behavior is
to NOT build the shared libraries with gcc.

Changes in GCC 2.4 seem to have eliminated the problem, and such a
shared library now seems work with all executables.  If you want the
gcc-compiled shared libraries turn on "Gcc2BuildLibs" in site.def.  If
you try this, please tell bug-gcc@prep.ai.mit.edu whether it works.

Sun forgot to include a static version of libdl.a with some versions
of SunOS (4.1 mainly).  If you see undefined symbols _dlopen, _dlsym,
or _dlclose when linking with -lX11, compile and link against the file
mit/util/misc/dlsym.c in the MIT X11R5 distribution.

mit/config/Imake.tmpl -- Do not set -fstrength-reduce if we have GCC 2.  If
-fstrength-reduce (or any other -f option) is a major win, then it will
most likely be turned on by -O2 optimization.

mit/config/sunLib.rules -- If HasGcc2 and Gcc2BuildLibs are defined, then 
use gcc -fpic to generate PIC code.  Make sure that gcc does not use gas (the 
GNU assembler) when compiling PIC code; gas does not assemble it correctly.  
If you have gas installed where gcc uses it by default, you might have to add
-B/bin/ to the PositionIndependentCFlags.

mit/config/site.def -- Define HasGcc2 to be YES.

mit/config/sun.cf -- When compiling with GCC 2, use -O2 optimization.

mit/rgb/Imakefile -- No longer need to compile some modules with 
cc on the Sparc since GCC 2 produces proper -fpcc-struct-return code.

mit/server/os/Imakefile -- Likewise.

mit/clients/twm/Imakefile -- fix bad decls of malloc, realloc in gram.c.

*** mit/config/Imake.tmpl.ORIG	Tue Dec 31 11:07:56 1991
--- mit/config/Imake.tmpl	Tue Dec 31 12:30:47 1991
***************
*** 499,508 ****
--- 499,512 ----
  #define HasGcc NO
  #endif
  #ifndef CcCmd
+ #if HasGcc2
+ #define CcCmd gcc -fpcc-struct-return
+ #else
  #if HasGcc
  #define CcCmd gcc -fstrength-reduce -fpcc-struct-return 
  #else
  #define CcCmd cc
+ #endif
  #endif
  #endif
  #if HasFortran
*** mit/config/sunLib.rules.ORIG	Tue Dec 31 11:11:24 1991
--- mit/config/sunLib.rules	Tue May  5 12:26:12 1992
***************
*** 23,30 ****
--- 23,34 ----
  #define SharedLibraryLoadFlags -assert pure-text
  #endif
  #ifndef PositionIndependentCFlags
+ #if defined(HasGcc2) && defined (Gcc2BuildLibs)
+ #define PositionIndependentCFlags -fpic
+ #else
  #define PositionIndependentCFlags -pic
  #endif
+ #endif
  
  /*
   * InstallSharedLibrary - generate rules to install the shared library.
*** mit/config/site.def.ORIG	Tue Dec 31 11:13:49 1991
--- mit/config/site.def	Tue Dec 31 12:02:59 1991
***************
*** 25,31 ****
  
  #ifdef BeforeVendorCF
  
! /* #define HasGcc YES */
  
  #endif /* BeforeVendorCF */
  
--- 25,33 ----
  
  #ifdef BeforeVendorCF
  
! #define HasGcc YES 
! #define HasGcc2 YES
! /* #define Gcc2BuildLibs YES */
  
  #endif /* BeforeVendorCF */
  
*** mit/config/sun.cf.ORIG	Tue Dec 31 11:13:57 1991
--- mit/config/sun.cf	Tue May  5 12:29:50 1992
***************
*** 34,42 ****
--- 41,61 ----
  
  #if HasGcc
  
+ #if defined(HasGcc2) 
+ #define OptimizedCDebugFlags -O2 
+ /* Leave Alone XXX */
+ #else 
+ #define OptimizedCDebugFlags -O
  #define SharedLibraryCcCmd cc
  #define ExtraLoadFlags -B/usr/bin/
  #define AllocateLocalDefines /**/
+ #endif
+ 
+ #if !defined(Gcc2BuildLibs)
+ #define SharedLibraryCcCmd cc
+ #define ExtraLoadFlags -B/usr/bin/
+ #define AllocateLocalDefines /**/
+ #endif
  
  .c.o:
  	$(CC) -c $(CFLAGS) $*.c
*** mit/rgb/Imakefile.ORIG	Wed Jan 15 16:43:18 1992
--- mit/rgb/Imakefile	Thu Jan  2 13:34:09 1992
***************
*** 17,23 ****
  #if !(defined(SGIArchitecture) || SystemV4)
         DBMLIB = -ldbm
  #endif
! #if defined(SparcArchitecture) && HasGcc
             CC = cc
      CCOPTIONS = /**/
      EXTRA_LOAD_FLAGS = /**/
--- 17,23 ----
  #if !(defined(SGIArchitecture) || SystemV4)
         DBMLIB = -ldbm
  #endif
! #if defined(SparcArchitecture) && HasGcc && !defined(HasGcc2)
             CC = cc
      CCOPTIONS = /**/
      EXTRA_LOAD_FLAGS = /**/
*** mit/server/os/Imakefile.ORIG	Wed Jan 15 16:46:23 1992
--- mit/server/os/Imakefile	Wed Jan 15 16:46:48 1992
***************
*** 132,138 ****
  SpecialObjectRule(osinit.o,$(ICONFIGFILES),$(ADM_DEFINES))
  SpecialObjectRule(WaitFor.o,$(ICONFIGFILES),$(EXT_DEFINES))
  SpecialObjectRule(fonttype.o,$(ICONFIGFILES),$(FONT_DEFINES))
! #if defined(SparcArchitecture) && HasGcc
  oscolor.o: $(ICONFIGFILES)
  	$(RM) $@
  	cc -c $(DBM_DEFINES) $(CDEBUGFLAGS) $(ALLDEFINES) $*.c
--- 132,138 ----
  SpecialObjectRule(osinit.o,$(ICONFIGFILES),$(ADM_DEFINES))
  SpecialObjectRule(WaitFor.o,$(ICONFIGFILES),$(EXT_DEFINES))
  SpecialObjectRule(fonttype.o,$(ICONFIGFILES),$(FONT_DEFINES))
! #if defined(SparcArchitecture) && HasGcc && !defined(HasGcc2)
  oscolor.o: $(ICONFIGFILES)
  	$(RM) $@
  	cc -c $(DBM_DEFINES) $(CDEBUGFLAGS) $(ALLDEFINES) $*.c
*** 1.1 1992/09/08 19:52:07
--- mit/server/ddx/sun/Imakefile        1992/09/08 21:10:22
***************
*** 43,48 ****
--- 43,53 ----
  LinkFile(sunGX.o,sunGX.o.dist)
  #endif

+ #if HasGcc2
+ SpecialObjectRule(sunCG2C.o,sunCG2C.c,-fvolatile)
+ SpecialObjectRule(sunCG2M.o,sunCG2M.c,-fvolatile)
+ #endif
+ 
  sunInitExtMono.o: $(ICONFIGFILES)
  ObjectFromSpecialSource(sunInitExtMono,../mi/miinitext,-UPEXEXT)
  ObjectFromSpecialSource(sunInitMono,sunInit,-DMONO_ONLY)

*** /tmp/RCSAa24446     Tue Sep 15 12:23:32 1992
--- mit/clients/twm/Imakefile   Thu Aug 13 18:18:07 1992
***************
*** 32,41 ****
--- 32,48 ----
  ComplexProgramTarget(twm)
  InstallNonExecFile(system.twmrc,$(TWMDIR))
  
+ #if HasGcc2 && defined (SunArchitecture)
  gram.h gram.c: gram.y
        yacc $(YFLAGS) gram.y
+       sed -e 's/^extern char \*malloc(), \*realloc();//g' y.tab.c >gram.c
+       $(MV) y.tab.h gram.h
+ #else
+ gram.h gram.c: gram.y
+       yacc $(YFLAGS) gram.y
        $(MV) y.tab.c gram.c
        $(MV) y.tab.h gram.h
+ #endif
  
  clean::
        $(RM) y.tab.h y.tab.c lex.yy.c gram.h gram.c lex.c deftwmrc.c