Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!yarrina.connect.com.au!news.uwa.edu.au!classic.iinet.com.au!swing.iinet.net.au!news.uoregon.edu!usenet.eel.ufl.edu!news.ultranet.com!zombie.ncsc.mil!news.mathworks.com!newsfeed.internetmci.com!in2.uu.net!polstra!not-for-mail From: jdp@polstra.com (John Polstra) Newsgroups: comp.unix.bsd.freebsd.misc Subject: Re: GNU gcc 2.7.0 + FreeBSD Date: 29 Oct 1995 09:31:52 -0800 Organization: Polstra & Co., Seattle, WA Lines: 123 Message-ID: <470dq8$cd8@seattle.polstra.com> References: <46s450$g74@eplet.mira.net.au> NNTP-Posting-Host: seattle.polstra.com In article <46s450$g74@eplet.mira.net.au>, John Hartley <jbh@werple.mira.net.au> wrote: > I tried to install 2.7.0 but its only got the stage1 and just sits > there doing nothing when I try to build the stage2 compiler. > Has anyone got it going, yet (with FreeBSD 2.0.5)? I've got it working, and I'm attaching patches to this message. But I don't understand the symptom you experienced of it just sitting there doing nothing. I never saw that problem when I was getting it to build. Anyway, here are two sets of patches. The first set is for gcc-2.7.0, and the second set is for libg++-2.7.0a. Patches for gcc-2.7.0: ------------------------------------------------------------------------------- *** config/i386/freebsd.h.orig Thu Aug 17 15:15:17 1995 --- config/i386/freebsd.h Fri Aug 18 09:48:57 1995 *************** *** 21,27 **** --- 21,29 ---- Boston, MA 02111-1307, USA. */ /* This goes away when the math-emulator is fixed */ + #ifndef TARGET_CPU_DEFAULT /* { */ #define TARGET_CPU_DEFAULT 0400 /* TARGET_NO_FANCY_MATH_387 */ + #endif /* } */ /* This is tested by i386gas.h. */ #define YES_UNDERSCORES *************** *** 122,130 **** --- 124,134 ---- /* This is how we tell the assembler that a symbol is weak. */ + #if 0 /* Doesn't work with the stock 2.0.5-RELEASE assembler { */ #define ASM_WEAKEN_LABEL(FILE,NAME) \ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \ fputc ('\n', FILE); } while (0) + #endif /* } */ /* The following macro defines the format used to output the second operand of the .type assembler directive. Different svr4 assemblers *** Makefile.in.orig Thu Aug 17 15:14:39 1995 --- Makefile.in Fri Aug 18 16:49:36 1995 *************** *** 552,566 **** # Header files that are made available under the same name # to programs compiled with GCC. ! USER_H = $(srcdir)/ginclude/stdarg.h $(srcdir)/ginclude/stddef.h \ ! $(srcdir)/ginclude/varargs.h $(srcdir)/ginclude/va-alpha.h \ ! $(srcdir)/ginclude/va-h8300.h $(srcdir)/ginclude/va-i860.h \ ! $(srcdir)/ginclude/va-i960.h $(srcdir)/ginclude/va-mips.h \ ! $(srcdir)/ginclude/va-m88k.h $(srcdir)/ginclude/va-pa.h \ ! $(srcdir)/ginclude/va-pyr.h $(srcdir)/ginclude/va-sparc.h \ ! $(srcdir)/ginclude/va-clipper.h $(srcdir)/ginclude/va-spur.h \ ! $(srcdir)/ginclude/iso646.h \ ! $(srcdir)/ginclude/proto.h $(EXTRA_HEADERS) # The files that "belong" in CONFIG_H are deliberately omitted # because having them there would not be useful in actual practice. --- 552,558 ---- # Header files that are made available under the same name # to programs compiled with GCC. ! USER_H = $(EXTRA_HEADERS) # The files that "belong" in CONFIG_H are deliberately omitted # because having them there would not be useful in actual practice. ------------------------------------------------------------------------------- Patches for libg++-2.7.0a: ------------------------------------------------------------------------------- *** libio/gen-params.orig Fri Jun 16 14:07:45 1995 --- libio/gen-params Fri Aug 18 14:50:10 1995 *************** *** 273,288 **** if [ -s TMP ]; then # VALUE is now the typedef'd definition of $TYPE. eval "VALUE='`${SED} -e 's| *$||' -e '2,$d' <TMP`'" ! # Unless VALUE contains a blank, look for a typedef for it ! # in turn (this could be a loop, but that would be over-kill). ! if echo $VALUE | grep " " >/dev/null ; then true ! else ! rm -f TMP ! ${SED} -n -e "s|.*typedef[ ][ ]*\(.*[^a-zA-Z0-9_]\)${VALUE}[ ]*;.*|\1|w TMP" <dummy.out>/dev/null ! if [ -s TMP ]; then ! eval "VALUE='`${SED} -e '2,$d' -e 's|[ ]*$||' <TMP`'" fi ! fi eval "$TYPE='$VALUE'" fi fi --- 273,292 ---- if [ -s TMP ]; then # VALUE is now the typedef'd definition of $TYPE. eval "VALUE='`${SED} -e 's| *$||' -e '2,$d' <TMP`'" ! # Until VALUE contains a blank, look for a typedef for it ! # in turn. ! while true; do ! if echo $VALUE | grep " " >/dev/null ; then break ! else ! rm -f TMP ! ${SED} -n -e "s|.*typedef[ ][ ]*\(.*[^a-zA-Z0-9_]\)${VALUE}[ ]*;.*|\1|w TMP" <dummy.out>/dev/null ! if [ -s TMP ]; then ! eval "VALUE='`${SED} -e '2,$d' -e 's|[ ]*$||' <TMP`'" ! else ! break ! fi fi ! done eval "$TYPE='$VALUE'" fi fi ------------------------------------------------------------------------------- -- John Polstra jdp@polstra.com Polstra & Co., Inc. Seattle, Washington USA "Self-knowledge is always bad news." -- John Barth