This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


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

Re: bootstrap/3147: arm-elf and arm-rtems unbuildable on 3.0 branch


The following reply was made to PR bootstrap/3147; it has been noted by GNATS.

From: Richard Earnshaw <rearnsha@arm.com>
To: joel@OARcorp.com
Cc: gcc-gnats@gcc.gnu.org, Richard.Earnshaw@arm.com
Subject: Re: bootstrap/3147: arm-elf and arm-rtems unbuildable on 3.0 
 branch
Date: Wed, 13 Jun 2001 12:35:42 +0100

 This is a multipart MIME message.
 
 --==_Exmh_5568127680
 Content-Type: text/plain; charset=us-ascii
 
 The problem is that some of the ARM files are forcibly defining __arm__ in 
 CPP_PREDEFINES.  This is wrong, since it causes longlong.h to define 
 multiplication routines that are invalid for THUMB code.
 
 Please try this patch:
 
 <date>  Richard Earnshaw (rearnsha@arm.com)
 
 	* arm/conix-elf.h, arm/unknown-elf-oabi.h, arm/rtems-elf.h
 	(CPP_PREDEFINES): Don't pre-define "arm" or "__arm__" here.
 
 
 --==_Exmh_5568127680
 Content-Type: application/x-patch ; name="darm.patch"
 Content-Description: darm.patch
 Content-Disposition: attachment; filename="darm.patch"
 
 Index: conix-elf.h
 ===================================================================
 RCS file: /cvs/gcc/egcs/gcc/config/arm/conix-elf.h,v
 retrieving revision 1.5.4.1
 diff -p -r1.5.4.1 conix-elf.h
 *** conix-elf.h	2001/05/13 07:10:07	1.5.4.1
 --- conix-elf.h	2001/06/13 11:31:11
 *************** func_ptr __DTOR_END__[1] = { (func_ptr) 
 *** 147,153 ****
   #endif
        
   #define CPP_PREDEFINES \
 !   "-D__arm__ -D__CONIX__ -Acpu=arm -Amachine=arm -D__ELF__"
   
   /* Now get the routine arm-elf definitions.  */
   #include "arm/elf.h"
 --- 147,153 ----
   #endif
        
   #define CPP_PREDEFINES \
 !   "-D__CONIX__ -Acpu=arm -Amachine=arm -D__ELF__"
   
   /* Now get the routine arm-elf definitions.  */
   #include "arm/elf.h"
 Index: rtems-elf.h
 ===================================================================
 RCS file: /cvs/gcc/egcs/gcc/config/arm/rtems-elf.h,v
 retrieving revision 1.1
 diff -p -r1.1 rtems-elf.h
 *** rtems-elf.h	2000/12/07 02:42:01	1.1
 --- rtems-elf.h	2001/06/13 11:31:11
 *************** Boston, MA 02111-1307, USA.  */
 *** 26,32 ****
   #include "unknown-elf.h"
   
   #undef CPP_PREDEFINES
 ! #define CPP_PREDEFINES "-Darm -Darm_elf -Drtems -D__rtems__ -D__ELF__ \
      -Asystem(rtems) -Acpu(arm) -Amachine(arm)"
   
   /*#undef INVOKE_main*/
 --- 26,32 ----
   #include "unknown-elf.h"
   
   #undef CPP_PREDEFINES
 ! #define CPP_PREDEFINES "-Darm_elf -Drtems -D__rtems__ -D__ELF__ \
      -Asystem(rtems) -Acpu(arm) -Amachine(arm)"
   
   /*#undef INVOKE_main*/
 Index: unknown-elf-oabi.h
 ===================================================================
 RCS file: /cvs/gcc/egcs/gcc/config/arm/unknown-elf-oabi.h,v
 retrieving revision 1.3
 diff -p -r1.3 unknown-elf-oabi.h
 *** unknown-elf-oabi.h	2000/11/02 23:29:08	1.3
 --- unknown-elf-oabi.h	2001/06/13 11:31:11
 *************** Boston, MA 02111-1307, USA.  */
 *** 24,30 ****
   #define TARGET_VERSION	fputs (" (ARM/ELF non-Linux old abi)", stderr);
   #endif
   
 ! #define CPP_PREDEFINES "-Darm_oabi -Darm -Darm_elf -Acpu=arm -Amachine=arm -D__ELF__"
   
   #ifndef ASM_SPEC
   #define ASM_SPEC "-moabi %{mbig-endian:-EB} %{mcpu=*:-m%*} %{march=*:-m%*} \
 --- 24,30 ----
   #define TARGET_VERSION	fputs (" (ARM/ELF non-Linux old abi)", stderr);
   #endif
   
 ! #define CPP_PREDEFINES "-Darm_oabi -Darm_elf -Acpu=arm -Amachine=arm -D__ELF__"
   
   #ifndef ASM_SPEC
   #define ASM_SPEC "-moabi %{mbig-endian:-EB} %{mcpu=*:-m%*} %{march=*:-m%*} \
 
 --==_Exmh_5568127680--
 
 


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