This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: `make bootstrap' fails for 980315 on FreeBSD 2.2-980105-SNAP
- To: law at cygnus dot com
- Subject: Re: `make bootstrap' fails for 980315 on FreeBSD 2.2-980105-SNAP
- From: Joern Rennecke <amylaar at cygnus dot co dot uk>
- Date: Fri, 20 Mar 1998 21:49:45 +0000 (GMT)
- Cc: pfeifer at dbai dot tuwien dot ac dot at, egcs-bugs at cygnus dot com
> > c-lang.c:184: warning: implicit declaration of function
> > `assemble_destructor'
> > stage1/xgcc -Bstage1/ -c -DIN_GCC -W -Wall -O2 -g -O2 -DHAVE_CONFIG_H
> > -I. -I. -I./config ./gengenrtl.c
> > stage1/xgcc -Bstage1/ -DIN_GCC -W -Wall -O2 -g -O2 -DHAVE_CONFIG_H
> > -o gengenrtl gengenrtl.o ` case "obstack.o" in ?*) echo obstack.o ;; esac
> > ` ` case "" in ?*) echo ;; esac ` ` case "" in ?*) echo ;; esac `
> > ./gengenrtl tmp-genrtl.h tmp-genrtl.c
> > *** Signal 11
> Sounds like freebsd is also using an old/broken assembler that
> doesn't know how to handle .align statements in code correctly.
>
> That's an educated guess based on the symptoms which look a lot
> like a NetBSD problem that we're working on.
>
> jeff
Well, let's try the same fix then:
Fri Mar 20 21:47:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
* freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
Index: config/i386/freebsd.h
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/i386/freebsd.h,v
retrieving revision 1.5
diff -p -r1.5 freebsd.h
*** freebsd.h 1998/03/06 14:44:46 1.5
--- freebsd.h 1998/03/20 21:47:23
*************** Boston, MA 02111-1307, USA. */
*** 87,92 ****
--- 87,99 ----
we want to retain compatibility with older gcc versions. */
#define DEFAULT_PCC_STRUCT_RETURN 0
+ /* i386 freebsd still uses old binutils that don't insert nops by default
+ when the .align directive demands to insert extra space in the text
+ segment. */
+ #undef ASM_OUTPUT_ALIGN
+ #define ASM_OUTPUT_ALIGN(FILE,LOG) \
+ if ((LOG)!=0) fprintf ((FILE), "\t.align %d,0x90\n", (LOG))
+
/* Profiling routines, partially copied from i386/osfrose.h. */
/* Redefine this to use %eax instead of %edx. */