This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: bootstrap/3147: arm-elf and arm-rtems unbuildable on 3.0 branch
- To: nobody at gcc dot gnu dot org
- Subject: Re: bootstrap/3147: arm-elf and arm-rtems unbuildable on 3.0 branch
- From: Richard Earnshaw <rearnsha at arm dot com>
- Date: 13 Jun 2001 11:46:04 -0000
- Cc: gcc-prs at gcc dot gnu dot org,
- Reply-To: Richard Earnshaw <rearnsha at arm dot com>
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--