Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <42A57DF4.3030705@familiehaase.de> Date: Tue, 07 Jun 2005 12:59:00 +0200 From: "Gerrit P. Haase" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.8) Gecko/20050511 MIME-Version: 1.0 Newsgroups: D.gnu To: cygwin Subject: Assembler problem while trying to integrate D iompiler in GCC suite Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes 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: diff -cr d-0.12/README d-0.12.1/README *** d-0.12/README Sat May 28 18:00:56 2005 --- d-0.12.1/README Sun Jun 5 19:51:22 2005 *************** *** 1,6 **** ! D Front End for GCC - Release 0.12 ! Last update: May 24, 2005 Supported Systems * GCC 3.3.x, 3.4.x --- 1,6 ---- ! D Front End for GCC - Release 0.12.1 ! Last update: June 5, 2005 Supported Systems * GCC 3.3.x, 3.4.x *************** *** 17,25 **** Downloads ! * Main package (Release 0.12) ! http://home.earthlink.net/~dvdfrdmn/d/gdc-0.12.tgz ! http://home.earthlink.net/~dvdfrdmn/d/gdc-0.12.tar.bz2 * Build Instructions http://home.earthlink.net/~dvdfrdmn/d/INSTALL.html (or see INSTALL included in the main package) --- 17,25 ---- Downloads ! * Main package (Release 0.12.1) ! http://home.earthlink.net/~dvdfrdmn/d/gdc-0.12.1.tgz ! http://home.earthlink.net/~dvdfrdmn/d/gdc-0.12.1.tar.bz2 * Build Instructions http://home.earthlink.net/~dvdfrdmn/d/INSTALL.html (or see INSTALL included in the main package) *************** *** 172,177 **** --- 172,186 ---- Changes + 0.12.1: + + * Fixes + o Compilation errors and crashes with -fpic + o Crashes with interfaces on Cygwin/MinGW + o Support the -mno-cygwin option + + 0.12: + * Fixes o Various problems building MinGW in MSYS o Mango "endless output" diff -cr d-0.12/d-codegen.cc d-0.12.1/d-codegen.cc *** d-0.12/d-codegen.cc Sat May 28 18:00:56 2005 --- d-0.12.1/d-codegen.cc Sun Jun 5 19:27:36 2005 *************** *** 1743,1748 **** --- 1743,1805 ---- return call_exp; } + + #if D_GCC_VER >= 34 + #ifdef ASM_OUTPUT_DEF + static int thunk_labelno; + + /* Create a static alias to function. */ + + static tree + make_alias_for_thunk (tree function) + { + tree alias; + char buf[256]; + + #if defined (TARGET_IS_PE_COFF) + if (DECL_ONE_ONLY (function)) + return function; + #endif + + ASM_GENERATE_INTERNAL_LABEL (buf, "LTHUNK", thunk_labelno); + thunk_labelno++; + alias = build_decl (FUNCTION_DECL, get_identifier (buf), + TREE_TYPE (function)); + //DECL_LANG_SPECIFIC (alias) = DECL_LANG_SPECIFIC (function); + //cxx_dup_lang_specific_decl (alias); + DECL_CONTEXT (alias) = NULL; + TREE_READONLY (alias) = TREE_READONLY (function); + TREE_THIS_VOLATILE (alias) = TREE_THIS_VOLATILE (function); + TREE_PUBLIC (alias) = 0; + //DECL_INTERFACE_KNOWN (alias) = 1; + //DECL_NOT_REALLY_EXTERN (alias) = 1; + //DECL_THIS_STATIC (alias) = 1; + //DECL_SAVED_FUNCTION_DATA (alias) = NULL; + //DECL_DESTRUCTOR_P (alias) = 0; + //DECL_CONSTRUCTOR_P (alias) = 0; + //DECL_CLONED_FUNCTION (alias) = NULL_TREE; + DECL_EXTERNAL (alias) = 0; + DECL_ARTIFICIAL (alias) = 1; + DECL_NO_STATIC_CHAIN (alias) = 1; + //DECL_PENDING_INLINE_P (alias) = 0; + DECL_INLINE (alias) = 0; + DECL_DECLARED_INLINE_P (alias) = 0; + //DECL_DEFERRED_FN (alias) = 0; + //DECL_USE_TEMPLATE (alias) = 0; + //DECL_TEMPLATE_INSTANTIATED (alias) = 0; + //DECL_TEMPLATE_INFO (alias) = NULL; + //DECL_INITIAL (alias) = error_mark_node; + TREE_ADDRESSABLE (alias) = 1; + TREE_USED (alias) = 1; + SET_DECL_ASSEMBLER_NAME (alias, DECL_NAME (alias)); + TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (alias)) = 1; + if (!flag_syntax_only) + assemble_alias (alias, DECL_ASSEMBLER_NAME (function)); + return alias; + } + #endif + #endif + // Can't output thunks while a function is being compiled. Called from // d-decls.cc (no cur_irs) static Array deferredThunks; *************** *** 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); diff -cr d-0.12/d-glue.cc d-0.12.1/d-glue.cc *** d-0.12/d-glue.cc Thu May 26 21:05:04 2005 --- d-0.12.1/d-glue.cc Sun Jun 5 19:27:36 2005 *************** *** 2361,2366 **** --- 2361,2367 ---- build_pointer_type( mod_ref_type )); dkeep(the_mod_ref); DECL_EXTERNAL( the_mod_ref ) = 1; + TREE_PUBLIC( the_mod_ref ) = 1; tree m1 = build(MODIFY_EXPR, void_type_node, build(COMPONENT_REF, TREE_TYPE(f0), our_mod_ref, f0), Gives me this error now: $ /gcc/gcc-3.4.4/gcc-3.4.4-1/.build/gcc/gdc -save-temps -B/gcc/gcc-3.4.4/gcc-3.4.4-1/.build/gcc/ -B/usr/i686-pc-cygwin/bin/ -B/usr/i686-pc-cy> gdc: warning: -pipe ignored because -save-temps specified socketstream.s: Assembler messages: socketstream.s:1416: Error: Local symbol `LTHUNK0' can't be equated to undefined symbol `__D3std6stream6Stream9readExactFPvkZv' socketstream.s:1416: Error: Local symbol `LTHUNK1' can't be equated to undefined symbol `__D3std6stream6Stream4readFAhZk' socketstream.s:1416: Error: Local symbol `LTHUNK2' can't be equated to undefined symbol `__D3std6stream6Stream4readFJgZv' socketstream.s:1416: Error: Local symbol `LTHUNK3' can't be equated to undefined symbol `__D3std6stream6Stream4readFJhZv' socketstream.s:1416: Error: Local symbol `LTHUNK4' can't be equated to undefined symbol `__D3std6stream6Stream4readFJsZv' socketstream.s:1416: Error: Local symbol `LTHUNK5' can't be equated to undefined symbol `__D3std6stream6Stream4readFJtZv' socketstream.s:1416: Error: Local symbol `LTHUNK6' can't be equated to undefined symbol `__D3std6stream6Stream4readFJiZv' socketstream.s:1416: Error: Local symbol `LTHUNK7' can't be equated to undefined symbol `__D3std6stream6Stream4readFJkZv' socketstream.s:1416: Error: Local symbol `LTHUNK8' can't be equated to undefined symbol `__D3std6stream6Stream4readFJlZv' socketstream.s:1416: Error: Local symbol `LTHUNK9' can't be equated to undefined symbol `__D3std6stream6Stream4readFJmZv' socketstream.s:1416: Error: Local symbol `LTHUNK10' can't be equated to undefined symbol `__D3std6stream6Stream4readFJfZv' socketstream.s:1416: Error: Local symbol `LTHUNK11' can't be equated to undefined symbol `__D3std6stream6Stream4readFJdZv' socketstream.s:1416: Error: Local symbol `LTHUNK12' can't be equated to undefined symbol `__D3std6stream6Stream4readFJeZv' socketstream.s:1416: Error: Local symbol `LTHUNK13' can't be equated to undefined symbol `__D3std6stream6Stream4readFJoZv' socketstream.s:1416: Error: Local symbol `LTHUNK14' can't be equated to undefined symbol `__D3std6stream6Stream4readFJpZv' socketstream.s:1416: Error: Local symbol `LTHUNK15' can't be equated to undefined symbol `__D3std6stream6Stream4readFJjZv' socketstream.s:1416: Error: Local symbol `LTHUNK16' can't be equated to undefined symbol `__D3std6stream6Stream4readFJqZv' socketstream.s:1416: Error: Local symbol `LTHUNK17' can't be equated to undefined symbol `__D3std6stream6Stream4readFJrZv' socketstream.s:1416: Error: Local symbol `LTHUNK18' can't be equated to undefined symbol `__D3std6stream6Stream4readFJcZv' socketstream.s:1416: Error: Local symbol `LTHUNK19' can't be equated to undefined symbol `__D3std6stream6Stream4readFJaZv' socketstream.s:1416: Error: Local symbol `LTHUNK20' can't be equated to undefined symbol `__D3std6stream6Stream4readFJuZv' socketstream.s:1416: Error: Local symbol `LTHUNK21' can't be equated to undefined symbol `__D3std6stream6Stream4readFJwZv' socketstream.s:1416: Error: Local symbol `LTHUNK22' can't be equated to undefined symbol `__D3std6stream6Stream4readFJAaZv' socketstream.s:1416: Error: Local symbol `LTHUNK23' can't be equated to undefined symbol `__D3std6stream6Stream4readFJAuZv' socketstream.s:1416: Error: Local symbol `LTHUNK25' can't be equated to undefined symbol `__D3std6stream6Stream8readLineFAaZAa' socketstream.s:1416: Error: Local symbol `LTHUNK27' can't be equated to undefined symbol `__D3std6stream6Stream9readLineWFAuZAu' socketstream.s:1416: Error: Local symbol `LTHUNK28' can't be equated to undefined symbol `__D3std6stream6Stream7opApplyFDFKAaZiZi' socketstream.s:1416: Error: Local symbol `LTHUNK29' can't be equated to undefined symbol `__D3std6stream6Stream7opApplyFDFKmKAaZiZi' socketstream.s:1416: Error: Local symbol `LTHUNK30' can't be equated to undefined symbol `__D3std6stream6Stream7opApplyFDFKAuZiZi' socketstream.s:1416: Error: Local symbol `LTHUNK31' can't be equated to undefined symbol `__D3std6stream6Stream7opApplyFDFKmKAuZiZi' socketstream.s:1416: Error: Local symbol `LTHUNK32' can't be equated to undefined symbol `__D3std6stream6Stream10readStringFkZAa' socketstream.s:1416: Error: Local symbol `LTHUNK33' can't be equated to undefined symbol `__D3std6stream6Stream11readStringWFkZAu' socketstream.s:1416: Error: Local symbol `LTHUNK36' can't be equated to undefined symbol `__D3std6stream6Stream6ungetcFaZa' socketstream.s:1416: Error: Local symbol `LTHUNK37' can't be equated to undefined symbol `__D3std6stream6Stream7ungetcwFuZu' socketstream.s:1416: Error: Local symbol `LTHUNK38' can't be equated to undefined symbol `__D3std6stream6Stream6vscanfFAaPaZi' socketstream.s:1416: Error: Local symbol `LTHUNK39' can't be equated to undefined symbol `__D3std6stream6Stream5scanfFAaYi' socketstream.s:1416: Error: Local symbol `LTHUNK40' can't be equated to undefined symbol `__D3std6stream6Stream9availableFZk' socketstream.s:1416: Error: Local symbol `LTHUNK42' can't be equated to undefined symbol `__D3std6stream6Stream6isOpenFZb' socketstream.s:1416: Error: Local symbol `LTHUNK43' can't be equated to undefined symbol `__D3std6stream6Stream10writeExactFPvkZv' socketstream.s:1416: Error: Local symbol `LTHUNK44' can't be equated to undefined symbol `__D3std6stream6Stream5writeFAhZk' socketstream.s:1416: Error: Local symbol `LTHUNK45' can't be equated to undefined symbol `__D3std6stream6Stream5writeFgZv' socketstream.s:1416: Error: Local symbol `LTHUNK46' can't be equated to undefined symbol `__D3std6stream6Stream5writeFhZv' socketstream.s:1416: Error: Local symbol `LTHUNK47' can't be equated to undefined symbol `__D3std6stream6Stream5writeFsZv' socketstream.s:1416: Error: Local symbol `LTHUNK48' can't be equated to undefined symbol `__D3std6stream6Stream5writeFtZv' socketstream.s:1416: Error: Local symbol `LTHUNK49' can't be equated to undefined symbol `__D3std6stream6Stream5writeFiZv' socketstream.s:1416: Error: Local symbol `LTHUNK50' can't be equated to undefined symbol `__D3std6stream6Stream5writeFkZv' socketstream.s:1416: Error: Local symbol `LTHUNK51' can't be equated to undefined symbol `__D3std6stream6Stream5writeFlZv' socketstream.s:1416: Error: Local symbol `LTHUNK52' can't be equated to undefined symbol `__D3std6stream6Stream5writeFmZv' socketstream.s:1416: Error: Local symbol `LTHUNK53' can't be equated to undefined symbol `__D3std6stream6Stream5writeFfZv' socketstream.s:1416: Error: Local symbol `LTHUNK54' can't be equated to undefined symbol `__D3std6stream6Stream5writeFdZv' socketstream.s:1416: Error: Local symbol `LTHUNK55' can't be equated to undefined symbol `__D3std6stream6Stream5writeFeZv' socketstream.s:1416: Error: Local symbol `LTHUNK56' can't be equated to undefined symbol `__D3std6stream6Stream5writeFoZv' socketstream.s:1416: Error: Local symbol `LTHUNK57' can't be equated to undefined symbol `__D3std6stream6Stream5writeFpZv' socketstream.s:1416: Error: Local symbol `LTHUNK58' can't be equated to undefined symbol `__D3std6stream6Stream5writeFjZv' socketstream.s:1416: Error: Local symbol `LTHUNK59' can't be equated to undefined symbol `__D3std6stream6Stream5writeFqZv' socketstream.s:1416: Error: Local symbol `LTHUNK60' can't be equated to undefined symbol `__D3std6stream6Stream5writeFrZv' socketstream.s:1416: Error: Local symbol `LTHUNK61' can't be equated to undefined symbol `__D3std6stream6Stream5writeFcZv' socketstream.s:1416: Error: Local symbol `LTHUNK62' can't be equated to undefined symbol `__D3std6stream6Stream5writeFaZv' socketstream.s:1416: Error: Local symbol `LTHUNK63' can't be equated to undefined symbol `__D3std6stream6Stream5writeFuZv' socketstream.s:1416: Error: Local symbol `LTHUNK64' can't be equated to undefined symbol `__D3std6stream6Stream5writeFwZv' socketstream.s:1416: Error: Local symbol `LTHUNK65' can't be equated to undefined symbol `__D3std6stream6Stream5writeFAaZv' socketstream.s:1416: Error: Local symbol `LTHUNK66' can't be equated to undefined symbol `__D3std6stream6Stream5writeFAuZv' socketstream.s:1416: Error: Local symbol `LTHUNK67' can't be equated to undefined symbol `__D3std6stream6Stream9writeLineFAaZv' socketstream.s:1416: Error: Local symbol `LTHUNK68' can't be equated to undefined symbol `__D3std6stream6Stream10writeLineWFAuZv' socketstream.s:1416: Error: Local symbol `LTHUNK69' can't be equated to undefined symbol `__D3std6stream6Stream11writeStringFAaZv' socketstream.s:1416: Error: Local symbol `LTHUNK70' can't be equated to undefined symbol `__D3std6stream6Stream12writeStringWFAuZv' socketstream.s:1416: Error: Local symbol `LTHUNK71' can't be equated to undefined symbol `__D3std6stream6Stream7vprintfFAaPaZk' socketstream.s:1416: Error: Local symbol `LTHUNK72' can't be equated to undefined symbol `__D3std6stream6Stream6printfFAaYk' socketstream.s:1416: Error: Local symbol `LTHUNK73' can't be equated to undefined symbol `__D3std6stream6Stream6writefFYC3std6stream6Stream' socketstream.s:1416: Error: Local symbol `LTHUNK74' can't be equated to undefined symbol `__D3std6stream6Stream8writeflnFYC3std6stream6Stream' socketstream.s:1416: Error: Local symbol `LTHUNK75' can't be equated to undefined symbol `__D3std6stream6Stream5flushFZv' socketstream.s:1416: Error: Local symbol `LTHUNK77' can't be equated to undefined symbol `__D3std6stream6Stream6isOpenFZb' 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/