[m-rev.] update GCC back-end interface to GCC 3.3 beta

Fergus Henderson fjh at cs.mu.OZ.AU
Fri Sep 20 21:17:31 AEST 2002


On 11-Sep-2002, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> This is a change to update the GCC back-end interface to the current GCC
> CVS top-of-tree.  I won't commit this to the main branch yet, for two
> reasons:
> 
> (1) GCC 3.3 hasn't been released yet, and it is probably easier for
>     most people if we require the use of a released version of GCC,
>     rather than a CVS snapshot.
> 
> (2) It doesn't bootstrap, due to a bug which I have not yet investigated.

(2) seems to be a bug in the GCC back-end.  It breaks with -O2 -fpic.
This bug breaks the (hlc.gc) C back-end, as well as the --target asm back-end.
The symptom is undefined labels when linking the stage 2 library.

I have reported this bug to the GCC maintainers (PR 7887).
I hope it will get fixed before GCC 3.3 is released.

In the mean time, I have a work-around: put
	EXTRA_MLOBJS = $(MERCURY_DIR)/workaround.o
in Mmake.params (and Mmake.stage.params, if present),
and add workaround.c (see attached).
 
-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
The University of Melbourne         |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: workaround.c
Type: text/x-csrc
Size: 435 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/reviews/attachments/20020920/1ca2bd66/attachment.c>


More information about the reviews mailing list