This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Trouble building gcc-3.4.0 cygwin->linux
- From: Jim Wilson <wilson at specifixinc dot com>
- To: Dan Kegel <dank at kegel dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Sun, 06 Jun 2004 17:57:29 -0700
- Subject: Re: Trouble building gcc-3.4.0 cygwin->linux
- References: <40820717.9060101@kegel.com> <20040418052643.GB22865@lucon.org> <4082A322.7070904@kegel.com> <20040418183933.GA14303@lucon.org> <40831CB0.4030407@kegel.com> <40C37214.1040003@kegel.com>
Dan Kegel wrote:
>[Dangit, somebody replied to this six weeks ago and told me
>what configuration variable controlled this choice, but I
>can't find the email now that I have time and need to fix this >problem!]
That would be me. See
http://gcc.gnu.org/ml/gcc/2004-04/msg00906.html
I just grepped for LTHUNK, found it in cp/method.c, and pointed you at
ASM_OUTPUT_DEF which seemed to be the culprit.
Looking at it again, I see that there are some curious __CYGWIN__ ifdefs
in there which might instead be the problem. Your cygwin-x-linux cross
compiler would have been compiled with a compiler that defined
__CYGWIN__, and thus some stuff in cp/method.c would have been enabled
and/or disabled that should not have been. To fix this, put a
#define THIS_IS_CYWGIN_REALLY
in config/i386/cygwin.h (or maybe cygming.h?) and modify cp/method.c to
use that define instead of __CYGWIN__. We need a more elegant solution
for gcc mainline, but one has already been written. This is the
TARGET_USE_LOCAL_THUNK_ALIAS_P stuff I mentioned earler.
See PR 14808. This contains the method.c.diff patch that broke gcc-3.4.
This was an attempt to write a safer simpler patch than the one that
went into mainline, which can be found here
http://gcc.gnu.org/ml/gcc-patches/2004-04/msg00432.html
Unfortunately, this patch breaks cross compilers built on cygwin.
I'm not keen on trying a cygwin build to reproduce any of this, as then
I won't be able to read mail.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com