This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [3.0] Fix for FreeBSD 2 (aout) bootstrap failure
On Jul 21, 2001, Richard Henderson <rth@redhat.com> wrote:
> On Sat, Jul 21, 2001 at 01:59:36AM -0300, Alexandre Oliva wrote:
>> Err... Why was this ok for UnixWare (sco5) and Solaris2/x86 without
>> gas, but it isn't for FreeBSD 2, even though it works?
> Because I tried bootstrapping on freebsd 2.x before. It doesn't
> work. It doesn't complain, but it produces incorrect results.
Ah. That's a good reason :-)
Ok to install this one, then? I suppose I'm going to need approval
from Mark to get it into the 3.0.1 release, if at all. It can surely
wait for 3.0.2, though.
Index: gcc/ChangeLog
from Alexandre Oliva <aoliva@redhat.com>
* config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
the definition in defaults.h.
Index: gcc/config/i386/freebsd-aout.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/i386/freebsd-aout.h,v
retrieving revision 1.2.6.1
diff -u -p -r1.2.6.1 freebsd-aout.h
--- gcc/config/i386/freebsd-aout.h 2001/05/20 19:49:17 1.2.6.1
+++ gcc/config/i386/freebsd-aout.h 2001/07/21 17:01:56
@@ -34,6 +34,13 @@ Boston, MA 02111-1307, USA. */
#define TARGET_DEFAULT \
(MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_NO_FANCY_MATH_387)
+/* The macro defined in i386.h doesn't work with the old gas of
+ FreeBSD 2.x. The definition in sco.h and sol2.h appears to work,
+ but it turns out that, even though the assembler doesn't complain,
+ we get incorrect results. Fortunately, the definition in
+ defaults.h works. */
+#undef ASM_PREFERRED_EH_DATA_FORMAT
+
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "-Dunix -D__FreeBSD__\
-Asystem=unix -Asystem=bsd -Asystem=FreeBSD"
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist *Please* write to mailing lists, not to me