Assembler problem while trying to integrate D iompiler in GCC suite

Gerrit P. Haase gerrit@familiehaase.de
Tue Jun 7 11:10:00 GMT 2005


Gerrit P. Haase wrote:
> Hi all,
> 
> I'm trying to integrate the D frontend for GCC in the GCC 3.4.4 release,
> I'm in contact with the maintainer David Friedman, he successfully
> compiled the current (0.12.1) sources with MinGW and I expect that he
> also has tested it with other supported platforms, however I get this
> error now and I have not really an idea what the reason may be.  I found
> one patch for gas for another platform:
> http://sources.redhat.com/bugzilla/show_bug.cgi?id=857
> http://sources.redhat.com/bugzilla/show_bug.cgi?id=936
> http://sourceware.org/ml/binutils/2005-05/msg00289.html
> 
> However I don't know if this is related or if there may be another 
> problem with the e.g. source.
> 
> What is new in the source regarding this problem is this patch which 
> gives me the error cited below:

> ***************
> *** 1787,1799 ****
>   IRState::outputThunk(tree thunk_decl, tree target_decl, int offset)
>   {
>       int delta = -offset;
> !     tree alias = target_decl;
> 
>       TREE_ADDRESSABLE(target_decl) = 1;
>       TREE_USED(target_decl) = 1;
>   #if D_GCC_VER >= 34
>       DECL_VISIBILITY (thunk_decl) = DECL_VISIBILITY (target_decl);
> ! #ifdef ASM_OUTPUT_DEF
>     if (targetm.have_named_sections)
>       {
>         resolve_unique_section (target_decl, 0, flag_function_sections);
> --- 1844,1866 ----
>   IRState::outputThunk(tree thunk_decl, tree target_decl, int offset)
>   {
>       int delta = -offset;
> !     tree alias;
> ! #if D_GCC_VER >= 34
> ! #ifdef ASM_OUTPUT_DEF
> !     alias = make_alias_for_thunk(target_decl);
> ! #else
> !     alias = target_decl;
> ! #endif
> ! #else
> !     alias = target_decl;
> ! #endif
> 
>       TREE_ADDRESSABLE(target_decl) = 1;
>       TREE_USED(target_decl) = 1;
>   #if D_GCC_VER >= 34
>       DECL_VISIBILITY (thunk_decl) = DECL_VISIBILITY (target_decl);
> ! #if defined (ASM_OUTPUT_DEF) \
> !   && !defined (TARGET_IS_PE_COFF)
>     if (targetm.have_named_sections)
>       {
>         resolve_unique_section (target_decl, 0, flag_function_sections);

Maybe this is the problem here:
!   && !defined (TARGET_IS_PE_COFF)


Is TARGET_IS_PE_COFF defined for Cygwin?


Gerrit
-- 
=^..^=

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list