From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1635 invoked by alias); 9 Aug 2009 23:11:05 -0000 Received: (qmail 1627 invoked by uid 22791); 9 Aug 2009 23:11:04 -0000 X-SWARE-Spam-Status: No, hits=0.9 required=5.0 tests=AWL,BAYES_50,J_CHICKENPOX_43,SPF_PASS X-Spam-Check-By: sourceware.org Received: from ybbsmtp09.mail.ogk.yahoo.co.jp (HELO ybbsmtp09.mail.ogk.yahoo.co.jp) (124.83.153.129) by sourceware.org (qpsmtpd/0.43rc1) with SMTP; Sun, 09 Aug 2009 23:10:56 +0000 Received: (qmail 51482 invoked by alias); 9 Aug 2009 23:10:53 -0000 Received: from unknown (HELO masahiro) (219.36.42.48 with poptime) by ybbsmtp09.mail.ogk.yahoo.co.jp with SMTP; 9 Aug 2009 23:10:53 -0000 X-Apparently-From: Message-ID: <095F57A600314F7E86F6731FCC889A3D@masahiro> From: "m mariga" To: "John Dallaway" Cc: References: <3100D422DF3A4D7B9D337FD86D646F40@masahiro> <4A65D8D3.9060400@dallaway.org.uk> <3F8ED0BDC83C43259ADD0DDE963395DF@masahiro> <4A671AEE.2000101@dallaway.org.uk> <407D126036C3460AB7AA0264475F04E0@masahiro> <4A6971F2.1030100@dallaway.org.uk> Date: Sun, 09 Aug 2009 23:11:00 -0000 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="ISO-8859-1"; reply-type=original Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Subject: Re: [ECOS] Re: h8300 cannot find libgcc.a X-SW-Source: 2009-08/txt/msg00023.txt.bz2 Hello, I've studied the GCC3.3.2's patch for building h8300 toolchains and I've learned its mechanism and also I am encountered with new question. Would you please teach me. When gcc-configuration makes libgcc.a,double must be 64 bits,and when making h8300-elf-gcc double must be 32 bits. In order to distinguish two targets the patch exhanges next lines. -#define LONG_LONG_TYPE_SIZE 32 +#define LONG_LONG_TYPE_SIZE (TARGET_INT32 ? 64 : 32) -#define DOUBLE_TYPE_SIZE 32 +#define DOUBLE_TYPE_SIZE (TARGET_INT32 ? 64 : 32) And there were next codes in GCC3.3.2's /gcc/config/h8300/h8300.h. --- from GCC3.3.2's /gcc/config/h8300/h8300.h /* Run-time compilation parameters selecting different hardware subsets. */ extern int target_flags; /* Masks for the -m switches. */ #define MASK_H8300S 0x00000001 #define MASK_MAC 0x00000002 #define MASK_INT32 0x00000008 #define MASK_ADDRESSES 0x00000040 #define MASK_QUICKCALL 0x00000080 #define MASK_SLOWBYTE 0x00000100 #define MASK_NORMAL_MODE 0x00000200 #define MASK_RELAX 0x00000400 #define MASK_RTL_DUMP 0x00000800 #define MASK_H8300H 0x00001000 #define MASK_ALIGN_300 0x00002000 /* Macros used in the machine description to test the flags. */ /* Make int's 32 bits. */ #define TARGET_INT32 (target_flags & MASK_INT32) /* Dump recorded insn lengths into the output file. This helps debug the md file. */ #define TARGET_ADDRESSES (target_flags & MASK_ADDRESSES) /* Pass the first few arguments in registers. */ #define TARGET_QUICKCALL (target_flags & MASK_QUICKCALL) /* Pretend byte accesses are slow. */ #define TARGET_SLOWBYTE (target_flags & MASK_SLOWBYTE) /* Dump each assembler insn's rtl into the output file. This is for debugging the compiler only. */ #define TARGET_RTL_DUMP (target_flags & MASK_RTL_DUMP) --- But there are not above codes in GCC4.4.0's /gcc/config/h8300/h8300.h !!! I tentatively added above codes in GCC4.4.0's /gcc/config/h8300/h8300.h and applied patch codes and tried to configure gcc. But the result was the same error. /opt/ecos/ecos-3.0/packages/language/c/libm/v3_0/src/mathincl/fdlibm.h:78:3: error: #error IEEE-style 64-bit doubles are required to use the math library Apparently in GCC4.4.0 or newer GCC,target_flags does not function as the same as in GCC3.3.2. Now the question is what mechanism is used in newer GCC versions to configure h8300 toolchains. How should I distinguish targets, libgcc.a and h8300-elf-gcc, in configuring ? Would you please enlighten me ? m mariga -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss