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]

Re: Some Blackfin updates


This is the 4.0 version. I noticed that bfin-uclinux wasn't a separate configuration yet on that branch, and the FSF address hasn't been updated, so I fixed that as well.


Bernd


	Mostly from Jie Zhang (jie.zhang@analog.com)
	* config.gcc: Add bfin-uclinux.
	* config/bfin/uclinux.h: New file.
	* config/bfin/bfin-modes.def: Update FSF address.
	* config/bfin/bfin-protos.h: Likewise.
	* config/bfin/bfin.md: Likewise.
	* config/bfin/bfin.opt: Likewise.
	* config/bfin/crti.s: Likewise.
	* config/bfin/crtn.s: Likewise.
	* config/bfin/lib1funcs.asm: Likewise.
	* config/bfin/predicates.md: Likewise.
	* config/bfin/bfin.c: Likewise.
	(bfin_return_in_memory): Update to match Visual DSP compiler.
	* config/bfin/bfin.h: Update FSF address.
	(ASM_OUTPUT_ALIGN): Write alignment in bytes, not log thereof.
	* config/bfin/elf.h (NO_IMPLICIT_EXTERN_C): Define.

Index: config.gcc
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config.gcc,v
retrieving revision 1.516.2.11
diff -c -p -r1.516.2.11 config.gcc
*** config.gcc	20 Jul 2005 11:12:48 -0000	1.516.2.11
--- config.gcc	9 Aug 2005 10:32:32 -0000
*************** bfin*-elf*)
*** 739,750 ****
  	tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
          tmake_file=bfin/t-bfin-elf
          use_collect2=no
!         ;;  
  bfin*-*)
  	tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
          tmake_file=bfin/t-bfin
          use_collect2=no
!         ;;  
  c4x-*-rtems* | tic4x-*-rtems*)
  	tmake_file="c4x/t-c4x t-rtems c4x/t-rtems"
  	tm_file="c4x/c4x.h c4x/rtems.h rtems.h"
--- 739,755 ----
  	tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
          tmake_file=bfin/t-bfin-elf
          use_collect2=no
!         ;;
! bfin*-uclinux*)
! 	tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/uclinux.h"
!         tmake_file=bfin/t-bfin-elf
!         use_collect2=no
!         ;;
  bfin*-*)
  	tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
          tmake_file=bfin/t-bfin
          use_collect2=no
!         ;;
  c4x-*-rtems* | tic4x-*-rtems*)
  	tmake_file="c4x/t-c4x t-rtems c4x/t-rtems"
  	tm_file="c4x/c4x.h c4x/rtems.h rtems.h"
Index: config/bfin/bfin-modes.def
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/bfin/bfin-modes.def,v
retrieving revision 1.1.8.1
diff -c -p -r1.1.8.1 bfin-modes.def
*** config/bfin/bfin-modes.def	25 Apr 2005 10:40:25 -0000	1.1.8.1
--- config/bfin/bfin-modes.def	9 Aug 2005 10:32:32 -0000
***************
*** 16,23 ****
  
     You should have received a copy of the GNU General Public License
     along with GCC; see the file COPYING.  If not, write to the
!    Free Software Foundation, 59 Temple Place - Suite 330, Boston,
!    MA 02111-1307, USA.  */
  
  /* PDImode for the 40 bit accumulators.  */
  PARTIAL_INT_MODE (DI);
--- 16,23 ----
  
     You should have received a copy of the GNU General Public License
     along with GCC; see the file COPYING.  If not, write to the
!    Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
!    MA 02110-1301, USA.  */
  
  /* PDImode for the 40 bit accumulators.  */
  PARTIAL_INT_MODE (DI);
Index: config/bfin/bfin-protos.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/bfin/bfin-protos.h,v
retrieving revision 1.1.8.2
diff -c -p -r1.1.8.2 bfin-protos.h
*** config/bfin/bfin-protos.h	20 Jul 2005 10:36:31 -0000	1.1.8.2
--- config/bfin/bfin-protos.h	9 Aug 2005 10:32:32 -0000
***************
*** 15,22 ****
  
     You should have received a copy of the GNU General Public License
     along with GNU CC; see the file COPYING.  If not, write to
!    the Free Software Foundation, 59 Temple Place - Suite 330,
!    Boston, MA 02111-1307, USA.  */
  
  /* Function prototypes that cannot exist in bfin.h due to dependency
     complications.  */
--- 15,22 ----
  
     You should have received a copy of the GNU General Public License
     along with GNU CC; see the file COPYING.  If not, write to
!    the Free Software Foundation, 51 Franklin Street, Fifth Floor,
!    Boston, MA 02110-1301, USA.  */
  
  /* Function prototypes that cannot exist in bfin.h due to dependency
     complications.  */
Index: config/bfin/bfin.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/bfin/bfin.c,v
retrieving revision 1.5.2.6
diff -c -p -r1.5.2.6 bfin.c
*** config/bfin/bfin.c	20 Jul 2005 10:43:32 -0000	1.5.2.6
--- config/bfin/bfin.c	9 Aug 2005 10:32:32 -0000
***************
*** 1,4 ****
! /* The Blackfin code generation auxilary output file.
     Copyright (C) 2005  Free Software Foundation, Inc.
     Contributed by Analog Devices.
  
--- 1,4 ----
! /* The Blackfin code generation auxiliary output file.
     Copyright (C) 2005  Free Software Foundation, Inc.
     Contributed by Analog Devices.
  
***************
*** 16,23 ****
  
     You should have received a copy of the GNU General Public License
     along with GCC; see the file COPYING.  If not, write to
!    the Free Software Foundation, 59 Temple Place - Suite 330,
!    Boston, MA 02111-1307, USA.  */
  
  #include "config.h"
  #include "system.h"
--- 16,23 ----
  
     You should have received a copy of the GNU General Public License
     along with GCC; see the file COPYING.  If not, write to
!    the Free Software Foundation, 51 Franklin Street, Fifth Floor,
!    Boston, MA 02110-1301, USA.  */
  
  #include "config.h"
  #include "system.h"
*************** bfin_pass_by_reference (CUMULATIVE_ARGS 
*** 1273,1296 ****
  int
  bfin_return_in_memory (tree type)
  {
!   int size;
!   enum machine_mode mode = TYPE_MODE (type);
! 
!   if (mode == BLKmode)
!     return 1;
!   size = int_size_in_bytes (type);	
!   if (VECTOR_MODE_P (mode) || mode == TImode)
!     {
!       /* User-created vectors small enough to fit in REG.  */
!       if (size < 8)
!         return 0;
!       if (size == 8 || size == 16)
! 	return 1;
!     }
! 
!   if (size > 12)
!     return 1;
!   return 0;
  }
  
  /* Register in which address to store a structure value
--- 1273,1280 ----
  int
  bfin_return_in_memory (tree type)
  {
!   int size = int_size_in_bytes (type);
!   return size > 2 * UNITS_PER_WORD || size == -1;
  }
  
  /* Register in which address to store a structure value
Index: config/bfin/bfin.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/bfin/bfin.h,v
retrieving revision 1.3.4.3
diff -c -p -r1.3.4.3 bfin.h
*** config/bfin/bfin.h	20 Jul 2005 10:36:32 -0000	1.3.4.3
--- config/bfin/bfin.h	9 Aug 2005 10:32:32 -0000
***************
*** 16,23 ****
  
     You should have received a copy of the GNU General Public License
     along with GCC; see the file COPYING.  If not, write to
!    the Free Software Foundation, 59 Temple Place - Suite 330,
!    Boston, MA 02111-1307, USA.  */
  
  #ifndef _BFIN_CONFIG
  #define _BFIN_CONFIG
--- 16,23 ----
  
     You should have received a copy of the GNU General Public License
     along with GCC; see the file COPYING.  If not, write to
!    the Free Software Foundation, 51 Franklin Street, Fifth Floor,
!    Boston, MA 02110-1301, USA.  */
  
  #ifndef _BFIN_CONFIG
  #define _BFIN_CONFIG
*************** do { char __buf[256];					\
*** 1167,1174 ****
      } while (0)
  
  #define ASM_OUTPUT_ALIGN(FILE,LOG) 				\
!     do {		 					\
! 	fprintf (FILE, ".align %d\n", LOG);			\
      } while (0)
  
  #define ASM_OUTPUT_SKIP(FILE,SIZE)		\
--- 1167,1175 ----
      } while (0)
  
  #define ASM_OUTPUT_ALIGN(FILE,LOG) 				\
!     do {							\
!       if ((LOG) != 0)						\
! 	fprintf (FILE, "\t.align %d\n", 1 << (LOG));		\
      } while (0)
  
  #define ASM_OUTPUT_SKIP(FILE,SIZE)		\
Index: config/bfin/bfin.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/bfin/bfin.md,v
retrieving revision 1.1.8.5
diff -c -p -r1.1.8.5 bfin.md
*** config/bfin/bfin.md	20 Jul 2005 10:36:32 -0000	1.1.8.5
--- config/bfin/bfin.md	9 Aug 2005 10:32:33 -0000
***************
*** 16,23 ****
  
  ;; You should have received a copy of the GNU General Public License
  ;; along with GCC; see the file COPYING.  If not, write to
! ;; the Free Software Foundation, 59 Temple Place - Suite 330,
! ;; Boston, MA 02111-1307, USA.
  
  ; operand punctuation marks:
  ;
--- 16,23 ----
  
  ;; You should have received a copy of the GNU General Public License
  ;; along with GCC; see the file COPYING.  If not, write to
! ;; the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! ;; Boston, MA 02110-1301, USA.
  
  ; operand punctuation marks:
  ;
Index: config/bfin/bfin.opt
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/bfin/bfin.opt,v
retrieving revision 1.3.4.1
diff -c -p -r1.3.4.1 bfin.opt
*** config/bfin/bfin.opt	25 Apr 2005 10:40:25 -0000	1.3.4.1
--- config/bfin/bfin.opt	9 Aug 2005 10:32:34 -0000
***************
*** 16,23 ****
  ;
  ; You should have received a copy of the GNU General Public License
  ; along with GCC; see the file COPYING.  If not, write to the Free
! ; Software Foundation, 59 Temple Place - Suite 330, Boston, MA
! ; 02111-1307, USA.
  
  momit-leaf-frame-pointer
  Target Report Mask(OMIT_LEAF_FRAME_POINTER)
--- 16,23 ----
  ;
  ; You should have received a copy of the GNU General Public License
  ; along with GCC; see the file COPYING.  If not, write to the Free
! ; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
! ; 02110-1301, USA.
  
  momit-leaf-frame-pointer
  Target Report Mask(OMIT_LEAF_FRAME_POINTER)
Index: config/bfin/crti.s
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/bfin/crti.s,v
retrieving revision 1.1.8.1
diff -c -p -r1.1.8.1 crti.s
*** config/bfin/crti.s	25 Apr 2005 10:40:25 -0000	1.1.8.1
--- config/bfin/crti.s	9 Aug 2005 10:32:34 -0000
*************** GNU General Public License for more deta
*** 17,24 ****
  
  You should have received a copy of the GNU General Public License
  along with GCC; see the file COPYING.  If not, write to
! the Free Software Foundation, 59 Temple Place - Suite 330,
! Boston, MA 02111-1307, USA.  */
  
  /* As a special exception, if you link this library with files
     compiled with GCC to produce an executable, this does not cause
--- 17,24 ----
  
  You should have received a copy of the GNU General Public License
  along with GCC; see the file COPYING.  If not, write to
! the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! Boston, MA 02110-1301, USA.  */
  
  /* As a special exception, if you link this library with files
     compiled with GCC to produce an executable, this does not cause
Index: config/bfin/crtn.s
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/bfin/crtn.s,v
retrieving revision 1.1.8.1
diff -c -p -r1.1.8.1 crtn.s
*** config/bfin/crtn.s	25 Apr 2005 10:40:25 -0000	1.1.8.1
--- config/bfin/crtn.s	9 Aug 2005 10:32:34 -0000
*************** GNU General Public License for more deta
*** 17,24 ****
  
  You should have received a copy of the GNU General Public License
  along with GCC; see the file COPYING.  If not, write to
! the Free Software Foundation, 59 Temple Place - Suite 330,
! Boston, MA 02111-1307, USA.  */
  
  /* As a special exception, if you link this library with files
     compiled with GCC to produce an executable, this does not cause
--- 17,24 ----
  
  You should have received a copy of the GNU General Public License
  along with GCC; see the file COPYING.  If not, write to
! the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! Boston, MA 02110-1301, USA.  */
  
  /* As a special exception, if you link this library with files
     compiled with GCC to produce an executable, this does not cause
Index: config/bfin/elf.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/bfin/elf.h,v
retrieving revision 1.1.8.1
diff -c -p -r1.1.8.1 elf.h
*** config/bfin/elf.h	25 Apr 2005 10:40:25 -0000	1.1.8.1
--- config/bfin/elf.h	9 Aug 2005 10:32:34 -0000
***************
*** 14,16 ****
--- 14,18 ----
  
  #undef USER_LABEL_PREFIX
  #define USER_LABEL_PREFIX "_"
+ 
+ #define NO_IMPLICIT_EXTERN_C
Index: config/bfin/lib1funcs.asm
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/bfin/lib1funcs.asm,v
retrieving revision 1.1.8.1
diff -c -p -r1.1.8.1 lib1funcs.asm
*** config/bfin/lib1funcs.asm	25 Apr 2005 10:40:25 -0000	1.1.8.1
--- config/bfin/lib1funcs.asm	9 Aug 2005 10:32:34 -0000
*************** GNU General Public License for more deta
*** 16,23 ****
  
  You should have received a copy of the GNU General Public License
  along with GCC; see the file COPYING.  If not, write to
! the Free Software Foundation, 59 Temple Place - Suite 330,
! Boston, MA 02111-1307, USA.  */
  
  /* As a special exception, if you link this library with files
     compiled with GCC to produce an executable, this does not cause
--- 16,23 ----
  
  You should have received a copy of the GNU General Public License
  along with GCC; see the file COPYING.  If not, write to
! the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! Boston, MA 02110-1301, USA.  */
  
  /* As a special exception, if you link this library with files
     compiled with GCC to produce an executable, this does not cause
Index: config/bfin/predicates.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/bfin/predicates.md,v
retrieving revision 1.1.8.2
diff -c -p -r1.1.8.2 predicates.md
*** config/bfin/predicates.md	20 Jul 2005 10:36:32 -0000	1.1.8.2
--- config/bfin/predicates.md	9 Aug 2005 10:32:34 -0000
***************
*** 14,21 ****
  ;;
  ;; You should have received a copy of the GNU General Public License
  ;; along with GCC; see the file COPYING.  If not, write to
! ;; the Free Software Foundation, 59 Temple Place - Suite 330,
! ;; Boston, MA 02111-1307, USA.
  
  ;; Return nonzero iff OP is one of the integer constants 1 or 2.
  (define_predicate "pos_scale_operand"
--- 14,21 ----
  ;;
  ;; You should have received a copy of the GNU General Public License
  ;; along with GCC; see the file COPYING.  If not, write to
! ;; the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! ;; Boston, MA 02110-1301, USA.
  
  ;; Return nonzero iff OP is one of the integer constants 1 or 2.
  (define_predicate "pos_scale_operand"
Index: config/bfin/uclinux.h
===================================================================
RCS file: config/bfin/uclinux.h
diff -N config/bfin/uclinux.h
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- config/bfin/uclinux.h	9 Aug 2005 10:32:34 -0000
***************
*** 0 ****
--- 1,12 ----
+ #undef  STARTFILE_SPEC
+ #define STARTFILE_SPEC \
+   "crt1%O%s crti%O%s crtbegin%O%s"
+ 
+ #undef  ENDFILE_SPEC
+ #define ENDFILE_SPEC \
+   "crtend%O%s crtn%O%s"
+ 
+ #undef  LIB_SPEC
+ #define LIB_SPEC "%{pthread:-lpthread} -lc"
+ 
+ #define NO_IMPLICIT_EXTERN_C

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