This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Assembler problem while trying to integrate D iompiler in GCC suite


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]