Subject: Re: Assembler problem while trying to integrate D iompiler in GCC suite
From: "Gerrit P. Haase" <[email-masked]>
To: cygwin <[email-masked]>
Date: Tue, 07 Jun 2005 13:16:40 +0200
Newsgroups: D.gnu

Gerrit P. Haase wrote:

> 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?

Yes it is:

#define TARGET_IS_PE_COFF 1

Is this wrong in the d-codegen source?  I'kll try what changes if I 
include Cygwin:
! #if defined (ASM_OUTPUT_DEF) \
!   && (!defined (TARGET_IS_PE_COFF) && !defined(__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/