This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

Fix extra multilibs for arm-elf target


Hi Guys,

  I am checking in the patch below to fix a couple of problems with
  the extra multilibs generated for the arm-elf target.  If the extra
  multilib generation is enabled that is.  Since these are all
  commented out at the moment, this patch will not actually change the
  behavior of the default toolchain.

  The problems were:

    1. The big-endian/little-endian multilib definition was overriding
       the arm/thumb multilib definition, so no thumb multilibs would
       be created.

    2. A set of hardware floating point multilibs were being built
       for the Thumb, when the thumb does not support hardware
       floating point.

    3. A set of APCS-26 ABI multilibs were being built for the
       Thumb. when the thumb does not support these either.

Cheers
        Nick

2002-05-08  Nick Clifton  <nickc@cambridge.redhat.com>

	* config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
	little-endian multilibs to override arm/thumb multilibs.
        Do not build hardware floating point multilibs, nor apcs-26
	multilibs for the Thumb.

Index: gcc/config/arm/t-arm-elf
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arm/t-arm-elf,v
retrieving revision 1.15
diff -c -3 -p -w -r1.15 t-arm-elf
*** gcc/config/arm/t-arm-elf	14 Sep 2001 10:19:30 -0000	1.15
--- gcc/config/arm/t-arm-elf	8 May 2002 14:34:43 -0000
*************** MULTILIB_OPTIONS     = marm/mthumb
*** 25,40 ****
  MULTILIB_DIRNAMES    = arm thumb
  MULTILIB_EXCEPTIONS  = 
  	
! # MULTILIB_OPTIONS     = mlittle-endian/mbig-endian
! # MULTILIB_DIRNAMES    = le be
  # MULTILIB_EXCEPTIONS  = 
  # MULTILIB_MATCHES     = mbig-endian=mbe mlittle-endian=mle
  # 
  # MULTILIB_OPTIONS    += mhard-float/msoft-float
  # MULTILIB_DIRNAMES   += fpu soft
  # 
  # MULTILIB_OPTIONS    += mapcs-32/mapcs-26
  # MULTILIB_DIRNAMES   += 32bit 26bit
  # 
  # MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork
  # MULTILIB_DIRNAMES   += normal interwork
--- 25,42 ----
  MULTILIB_DIRNAMES    = arm thumb
  MULTILIB_EXCEPTIONS  = 
  	
! # MULTILIB_OPTIONS     += mlittle-endian/mbig-endian
! # MULTILIB_DIRNAMES    += le be
  # MULTILIB_EXCEPTIONS  = 
  # MULTILIB_MATCHES     = mbig-endian=mbe mlittle-endian=mle
  # 
  # MULTILIB_OPTIONS    += mhard-float/msoft-float
  # MULTILIB_DIRNAMES   += fpu soft
+ # MULTILIB_EXCEPTIONS += *mthumb/*mhard-float*
  # 
  # MULTILIB_OPTIONS    += mapcs-32/mapcs-26
  # MULTILIB_DIRNAMES   += 32bit 26bit
+ # MULTILIB_EXCEPTIONS += *mthumb/*mapcs-26*
  # 
  # MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork
  # MULTILIB_DIRNAMES   += normal interwork



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