Assembler problem while trying to integrate D iompiler in GCC suite
Gerrit P. Haase
gerrit@familiehaase.de
Tue Jun 7 11:34:00 GMT 2005
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/
More information about the Cygwin
mailing list