Cross gcc Mailing List Archive

[Prev][Next][Index][Thread]

Previous i960Jx patch not correct




I sent a patch to gcc-2.7.2 to add support i960Jx targets (including the
i960RP). I goofed. Find the latest version included below, and also
available at <ftp://ftp.picturel.com/pub/source/i960gcc-gcc-2.7.2.patch>

The spec that calls the assembler did not pass the -AJX flag, like it
should, and does with this patch. Sorry.

----

This patch adds to gcc-2.7.2 support for the i960Jx series targets,
including the i960rp. In practice, the compiler itself is already
able to handle these targets, but the patch adds the -mjx flags
to the driver so that default flags are set correctly for the processor
at hand.

This patch also changes the default processor type to -ka instead of
-mkb. This is necessary to allow a non-numerics libgcc.a to be built
and -mja, -mjd and -mrp would not work without this change.

To apply this patch, cd to gcc-2.7.2 and execute ``patch -p1 < file''
where file is this input file.

Thu Oct 24 20:14:49 1996 1996 Stephen Williams (steve@icarus.com)

	* config/i960/i960.h: Add specification for -Jx types
	* config/i960/t-960bare: include multilib support for Jx types.

*** config/i960/i960.h.dist	Mon Aug 28 03:17:53 1995
--- config/i960/i960.h	Thu Oct 24 20:14:49 1996
***************
*** 30,35 ****
--- 30,37 ----
  /* Name to predefine in the preprocessor for processor variations.  */
  #define	CPP_SPEC "%{mic*:-D__i960\
  			%{mka:-D__i960KA}%{mkb:-D__i960KB}\
+ 			%{mja:-D__i960JA}%{mjd:-D__i960JD}%{mjf:-D__i960JF}\
+ 			%{mrp:-D__i960RP}\
  			%{msa:-D__i960SA}%{msb:-D__i960SB}\
  			%{mmc:-D__i960MC}\
  			%{mca:-D__i960CA}%{mcc:-D__i960CC}\
***************
*** 58,64 ****
     If the user gives an explicit -gstabs or -gcoff option, then do not
     try to add an implicit one, as this will fail.  */
  #define CC1_SPEC \
! 	"%{!mka:%{!mkb:%{!msa:%{!msb:%{!mmc:%{!mca:%{!mcc:%{!mcf:-mkb}}}}}}}}\
  	 %{!gs*:%{!gc*:%{mbout:%{g*:-gstabs}}\
  		       %{mcoff:%{g*:-gcoff}}\
  		       %{!mbout:%{!mcoff:%{g*:-gstabs}}}}}"
--- 60,66 ----
     If the user gives an explicit -gstabs or -gcoff option, then do not
     try to add an implicit one, as this will fail.  */
  #define CC1_SPEC \
! 	"%{!mka:%{!mkb:%{!msa:%{!msb:%{!mmc:%{!mca:%{!mcc:%{!mcf:%{!mja:%{!mjd:%{!mj
f:%{!mrp:-mka}}}}}}}}}}}}\
  	 %{!gs*:%{!gc*:%{mbout:%{g*:-gstabs}}\
  		       %{mcoff:%{g*:-gcoff}}\
  		       %{!mbout:%{!mcoff:%{g*:-gstabs}}}}}"
***************
*** 69,75 ****
  #define ASM_SPEC \
  	"%{mka:-AKA}%{mkb:-AKB}%{msa:-ASA}%{msb:-ASB}\
  	%{mmc:-AMC}%{mca:-ACA}%{mcc:-ACC}%{mcf:-ACF}\
! 	%{!mka:%{!mkb:%{!msa:%{!msb:%{!mmc:%{!mca:%{!mcc:%{!mcf:-AKB}}}}}}}}\
  	%{mlink-relax:-linkrelax}"
  
  /* Specs for the linker, to handle processor variations.
--- 71,78 ----
  #define ASM_SPEC \
  	"%{mka:-AKA}%{mkb:-AKB}%{msa:-ASA}%{msb:-ASB}\
  	%{mmc:-AMC}%{mca:-ACA}%{mcc:-ACC}%{mcf:-ACF}\
!         %{mja:-AJX}%{mjd:-AJX}%{mjf:-AJX}%{mrp:-AJX}\
! 	%{!mka:%{!mkb:%{!msa:%{!msb:%{!mmc:%{!mca:%{!mcc:%{!mcf:%{!mja:%{!mjd:%{!mjf
:%{!mrp:-AKB}}}}}}}}}}}}\
  	%{mlink-relax:-linkrelax}"
  
  /* Specs for the linker, to handle processor variations.
***************
*** 133,139 ****
  #define	TARGET_PROTECTED	(target_flags & TARGET_FLAG_PROTECTED)
  
  /* The following three are mainly used to provide a little sanity checking
!    against the -mARCH flags given.  */
  
  /* Nonzero if we should generate code for the KA and similar processors.
     No FPU, no microcode instructions.  */
--- 136,143 ----
  #define	TARGET_PROTECTED	(target_flags & TARGET_FLAG_PROTECTED)
  
  /* The following three are mainly used to provide a little sanity checking
!    against the -mARCH flags given. The Jx series, for the purposes of
!    gcc, is a Kx with a data cache. */
  
  /* Nonzero if we should generate code for the KA and similar processors.
     No FPU, no microcode instructions.  */
***************
*** 226,231 ****
--- 230,240 ----
  			TARGET_FLAG_COMPLEX_ADDR)},\
  /*  {"kc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED|\
  			TARGET_FLAG_MC|TARGET_FLAG_COMPLEX_ADDR)},*/ \
+     {"ja", (TARGET_FLAG_K_SERIES|TARGET_FLAG_COMPLEX_ADDR)},\
+     {"jd", (TARGET_FLAG_K_SERIES|TARGET_FLAG_COMPLEX_ADDR)},\
+     {"jf", (TARGET_FLAG_NUMERICS|TARGET_FLAG_K_SERIES| \
+ 			TARGET_FLAG_COMPLEX_ADDR)},\
+     {"rp", (TARGET_FLAG_K_SERIES|TARGET_FLAG_COMPLEX_ADDR)},\
      {"mc", (TARGET_FLAG_NUMERICS|TARGET_FLAG_PROTECTED|\
  			TARGET_FLAG_MC|TARGET_FLAG_COMPLEX_ADDR)},\
      {"ca", (TARGET_FLAG_C_SERIES|TARGET_FLAG_BRANCH_PREDICT|\
***************
*** 302,308 ****
  }
  
  /* Don't enable anything by default.  The user is expected to supply a -mARCH
!    option.  If none is given, then -mkb is added by CC1_SPEC.  */
  #define TARGET_DEFAULT 0
  
  /* Target machine storage layout.  */
--- 311,317 ----
  }
  
  /* Don't enable anything by default.  The user is expected to supply a -mARCH
!    option.  If none is given, then -mka is added by CC1_SPEC.  */
  #define TARGET_DEFAULT 0
  
  /* Target machine storage layout.  */
*** config/i960/t-960bare.dist	Thu Jan 12 10:25:35 1995
--- config/i960/t-960bare	Thu Oct 24 14:07:34 1996
***************
*** 14,20 ****
  
  MULTILIB_OPTIONS=mnumerics
  MULTILIB_DIRNAMES=float
! MULTILIB_MATCHES=mnumerics=msb mnumerics=msc mnumerics=mkb mnumerics=mkc 
mnumerics=mmc mnumerics=mcb mnumerics=mcc
  
  LIBGCC = stmp-multilib
  INSTALL_LIBGCC = install-multilib
--- 14,20 ----
  
  MULTILIB_OPTIONS=mnumerics
  MULTILIB_DIRNAMES=float
! MULTILIB_MATCHES=mnumerics=msb mnumerics=msc mnumerics=mkb mnumerics=mkc 
mnumerics=mmc mnumerics=mcb mnumerics=mcc mnumerics=mjf
  
  LIBGCC = stmp-multilib
  INSTALL_LIBGCC = install-multilib




Home | Subject Index | Thread Index