[unix-pc.general] Gcc 1.24 won't make: can anyone help?

kevin@kosman.UUCP (Kevin O'Gorman) (07/08/88)

I got 1.22 from acornc, and a shar from the unix-pc net that said it would
make for the 3b1.  This was so far gone that I just ignored it.

So I got the patches from acornc to bring it up to 1.24, and linked and
edited all the things that the INSTALL file suggested.  I installed the
uuencoded cpp from the unix-pc net, and had another go.

I get annoying warnings that tm-3b1.h redefines CPP_SPEC.  Then finally
I get lots of errors saying that there are syntax errors in objstak.h,
which there are because it's trying to use prototype declarations, or
whatever they're called.

Has anyone made this beast for the 3b1 and actually kept track of what they
did well enough to tell?  I don't mind a torturous path to bootstrap serious
software onto the machine.  What I mind is having to use guesswork to
do it.  I'm not about to go wading through this stuff to find the hidden
gizmos -- I will just wait for someone closer to it, or someone with
more experience with compilers to show the way.

I just want to use it, not hack on it.

So, if anyone out there actually knows how to do this AND can articulate
it for an intelligent, experienced software developer who no longer plays
inside compilers, please step forward.

alex@umbc3.UMD.EDU (Alex S. Crain) (07/11/88)

In article <435@kosman.UUCP> kevin@kosman.UUCP (Kevin O'Gorman) writes:
>I got 1.22 from acornc, and a shar from the unix-pc net that said it would
>make for the 3b1.  This was so far gone that I just ignored it.
>
>So I got the patches from acornc to bring it up to 1.24, and linked and
>edited all the things that the INSTALL file suggested.  I installed the
>uuencoded cpp from the unix-pc net, and had another go.

	gcc-1.24 gave me segmentation faults, although it compiled ok. I'm
going to get a fresh distribution and rebuild, but I suspect that 1.24 has
problems. 1.23 definately had bugs, 1.24 was supposed to fix them all, but
may have missed on or two.

	1.22 is very stable, and you should use that if you can. 1.24 intrduces
sdb support which doesn't work, and a few others. I don't exepect another real
stable distribution till 1.26, given the current state of things.

BTW: the obstack.h problems are due cpp defining __STDC__. You can't undefine
it, but you can edit the #ifdef in obstack.h.

-- 
					:alex.
					Systems Programmer
nerwin!alex@umbc3.umd.edu		UMBC
alex@umbc3.umd.edu

kevin@kosman.UUCP (Kevin O'Gorman) (07/12/88)

In article <1069@umbc3.UMD.EDU> alex@umbc3.UMD.EDU (Alex S. Crain) writes:
]In article <435@kosman.UUCP> kevin@kosman.UUCP (that's me!!!) writes:
]>I got 1.22 from acornc, and a shar from the unix-pc net that said it would
]>make for the 3b1.  This was so far gone that I just ignored it.
]>
]>So I got the patches from acornc to bring it up to 1.24, and linked and
]>edited all the things that the INSTALL file suggested.  I installed the
]>uuencoded cpp from the unix-pc net, and had another go.
]
]	gcc-1.24 gave me segmentation faults, although it compiled ok. I'm
]going to get a fresh distribution and rebuild, but I suspect that 1.24 has
]problems. 1.23 definately had bugs, 1.24 was supposed to fix them all, but
]may have missed on or two.

I can't get it to compile.  What am I missing????

]
]	1.22 is very stable, and you should use that if you can. 1.24 intrduces

This was also impossible.  The stuff that came through on unix-pc.whatever
telling how to make it said DONT TOUCH -- but then left us without a config.h
and so on -- that's what I mean by being so far gone (see above quote).
So, does someone know how to make a stable release, anywhere from 1.22 to 1.24??

]sdb support which doesn't work, and a few others. I don't exepect another real
]stable distribution till 1.26, given the current state of things.
]
]BTW: the obstack.h problems are due cpp defining __STDC__. You can't undefine
]it, but you can edit the #ifdef in obstack.h.

All this does NOT give me warm fuzzy feelings.  Anyone out there who can do
better?

elh@vu-vlsi.Villanova.EDU (Edward L. Hepler) (07/14/88)

In article <1069@umbc3.UMD.EDU>, alex@umbc3.UMD.EDU (Alex S. Crain) writes:
> In article <435@kosman.UUCP> kevin@kosman.UUCP (Kevin O'Gorman) writes:
> >I got 1.22 from acornc, and a shar from the unix-pc net that said it would
> >make for the 3b1.  This was so far gone that I just ignored it.
> >
> 	gcc-1.24 gave me segmentation faults, although it compiled ok. I'm
> going to get a fresh distribution and rebuild, but I suspect that 1.24 has
> problems. 1.23 definately had bugs, 1.24 was supposed to fix them all, but
> may have missed on or two.
> 
I seem to have been able to compile and execute my version of 1.24.  I did
have to make a few changes though.  I'm afraid I wasn't as careful as I
usually am about noting the changes though... I have to make other (different)
changes to get gcc to produce code for the architecture I am doing my 
research on..

Anyway, the diffs are below.  In addition to these, I had to include a 
copy of bcopy for the thing to load.  I don't quite understand why (and
it was very late at night, so I punted and provided a copy of bcopy),
since bcopy had been defined properly as memcpy.  I looked at the pre-
processed (-E) files in question and all the bcopy references had been
changed to memcpy, but sue enough, bcopy was  still in the .o symbol table??

I also had to comment out the last 3 lines of config-m68k.h since I
was using an older version of the gnu cpp.  I also had to provide a
copy of alloca.

I hope I remembered all the things I changed.  It has since compiled itself,
etc....

Dr. Ed Hepler
elh@vu-vlsi

---------------------cut here------------------------
*** final.c.orig	Wed Jul 13 23:46:25 1988
--- final.c	Wed Jul 13 23:46:52 1988
***************
*** 523,529
  			   CODE_LABEL_NUMBER (XEXP (XVECEXP (body, 1, idx), 0)),
  			   CODE_LABEL_NUMBER (XEXP (XEXP (body, 0), 0)));
  #ifdef ASM_OUTPUT_CASE_END
! 		ASM_OUTPUT_CASE_END (file, CODE_LABEL_NUMBER (PREV_INSN (insn)));
  #endif
  		break;
  	      }

--- 523,529 -----
  			   CODE_LABEL_NUMBER (XEXP (XVECEXP (body, 1, idx), 0)),
  			   CODE_LABEL_NUMBER (XEXP (XEXP (body, 0), 0)));
  #ifdef ASM_OUTPUT_CASE_END
! 		ASM_OUTPUT_CASE_END (file, CODE_LABEL_NUMBER (PREV_INSN (insn)),insn);
  #endif
  		break;
  	      }
*** sdbout.c.orig	Wed Jul 13 23:47:46 1988
--- sdbout.c	Wed Jul 13 23:47:44 1988
***************
*** 73,78
  #define PUT_SDB_TAG(a) fprintf(asm_out_file, "\t.tag\t%s;", a)
  #define PUT_SDB_SIZE(a) fprintf(asm_out_file, "\t.size\t%d;", a)
  
  #define PUT_SDB_TAG(a)				\
  do { fprintf (asm_out_file, "\t.tag\t");	\
       ASM_OUTPUT_LABELREF (asm_out_file, a);	\

--- 73,79 -----
  #define PUT_SDB_TAG(a) fprintf(asm_out_file, "\t.tag\t%s;", a)
  #define PUT_SDB_SIZE(a) fprintf(asm_out_file, "\t.size\t%d;", a)
  
+ /*
  #define PUT_SDB_TAG(a)				\
  do { fprintf (asm_out_file, "\t.tag\t");	\
       ASM_OUTPUT_LABELREF (asm_out_file, a);	\
***************
*** 77,82
  do { fprintf (asm_out_file, "\t.tag\t");	\
       ASM_OUTPUT_LABELREF (asm_out_file, a);	\
       fprintf (asm_out_file, ";"); } while (0)
  
  /* Return the sdb tag identifier string for TYPE
     if TYPE has already been defined; otherwise return a null pointer.   */

--- 78,84 -----
  do { fprintf (asm_out_file, "\t.tag\t");	\
       ASM_OUTPUT_LABELREF (asm_out_file, a);	\
       fprintf (asm_out_file, ";"); } while (0)
+ */
  
  /* Return the sdb tag identifier string for TYPE
     if TYPE has already been defined; otherwise return a null pointer.   */
*** tm-3b1.h.orig	Wed Jul 13 22:28:10 1988
--- tm-3b1.h	Wed Jul 13 23:08:02 1988
***************
*** 57,62
  /* Define __HAVE_FPU__ in preprocessor if -m68881 is specified.
     This will control the use of inline 68881 insns in certain macros.  */
  
  #define CPP_SPEC "%{m68881:-D__HAVE_FPU__}"
  
  /* Names to predefine in the preprocessor for this target machine.  */

--- 57,63 -----
  /* Define __HAVE_FPU__ in preprocessor if -m68881 is specified.
     This will control the use of inline 68881 insns in certain macros.  */
  
+ #undef CPP_SPEC
  #define CPP_SPEC "%{m68881:-D__HAVE_FPU__}"
  
  /* Names to predefine in the preprocessor for this target machine.  */
***************
*** 102,107
      abort ();
  
  /* The beginnings of sdb support... */
  
  #define ASM_OUTPUT_SOURCE_FILENAME(FILE, FILENAME) \
    fprintf (FILE, "\tfile\t\"%s\"\n", FILENAME);

--- 103,110 -----
      abort ();
  
  /* The beginnings of sdb support... */
+ 
+ #define SDB_DEBUGGING_INFO
  
  #define ASM_OUTPUT_SOURCE_FILENAME(FILE, FILENAME) \
    fprintf (FILE, "\tfile\t\"%s\"\n", FILENAME);