Browse Source

Merge branch 'master' of git+ssh://openadk.org/git/openadk

Waldemar Brodkorb 11 years ago
parent
commit
9bd2823a34

+ 1 - 1
package/uclibc/Makefile

@@ -2,7 +2,7 @@
 # material, please see the LICENCE file in the top-level directory.
 
 include $(TOPDIR)/rules.mk
-include $(TOPDIR)/toolchain/uClibc/Makefile.inc
+include $(TOPDIR)/toolchain/uclibc/Makefile.inc
 
 PKG_NAME:=		uClibc
 PKG_DESCR:=		embedded C library

+ 0 - 3
target/linux/config/Config.in.flash

@@ -87,7 +87,6 @@ config ADK_KERNEL_MTD_OF_PARTS
 	default n
 
 config ADK_KERNEL_MTD_M25P80
-	select ADK_KERNEL_BLOCK
 	select ADK_KERNEL_MTD
 	select ADK_KERNEL_MTD_PARTITIONS
 	select ADK_KERNEL_MTD_CHAR
@@ -113,7 +112,6 @@ config ADK_KERNEL_MTD_AR2315
 
 config ADK_TARGET_NAND
 	boolean
-	select ADK_KERNEL_BLOCK
 	select ADK_KERNEL_MISC_FILESYSTEMS
 	select ADK_KERNEL_YAFFS_FS
 	select ADK_KERNEL_YAFFS_YAFFS2
@@ -130,7 +128,6 @@ config ADK_TARGET_NAND
 
 config ADK_TARGET_MTD
 	boolean
-	select ADK_KERNEL_BLOCK
 	select ADK_KERNEL_MISC_FILESYSTEMS
 	select ADK_KERNEL_JFFS2_FS
 	select ADK_KERNEL_MTD

+ 0 - 9
target/linux/config/Config.in.fs

@@ -80,7 +80,6 @@ config ADK_KPACKAGE_KMOD_EXT2_FS
 	tristate
 	default n
 	depends on !ADK_KERNEL_EXT2_FS
-	select ADK_KERNEL_BLOCK
 	help
 	  Ext2 is a standard Linux file system for hard disks.
 
@@ -98,7 +97,6 @@ config ADK_KPACKAGE_KMOD_EXT3_FS
 	tristate
 	select ADK_KPACKAGE_KMOD_FS_MBCACHE if !ADK_KERNEL_EXT4_FS
 	depends on !ADK_KERNEL_EXT3_FS
-	select ADK_KERNEL_BLOCK
 	default n
 	help
 	  This is the journalling version of the Second extended file system
@@ -136,7 +134,6 @@ config ADK_KPACKAGE_KMOD_EXT4_FS
 	select ADK_KPACKAGE_KMOD_FS_MBCACHE
 	select ADK_KPACKAGE_KMOD_CRC16
 	depends on !ADK_KERNEL_EXT4_FS 
-	select ADK_KERNEL_BLOCK
 	default n
 	help
 	  Ext4 filesystem.
@@ -147,7 +144,6 @@ config ADK_KPACKAGE_KMOD_HFSPLUS_FS
 	select ADK_KPACKAGE_KMOD_NLS if !ADK_KERNEL_NLS
 	select ADK_KPACKAGE_KMOD_NLS_UTF8
 	select ADK_KERNEL_MISC_FILESYSTEMS
-	select ADK_KERNEL_BLOCK
 	default n
 	help
 	  If you say Y here, you will be able to mount extended format
@@ -162,7 +158,6 @@ config ADK_KPACKAGE_KMOD_NTFS_FS
 	prompt "kmod-fs-ntfs...................... NTFS file system support"
 	tristate
 	select ADK_KPACKAGE_KMOD_NLS if !ADK_KERNEL_NLS
-	select ADK_KERNEL_BLOCK
 	default n
 	help
 	  NTFS is the file system of Microsoft Windows NT, 2000, XP and 2003.
@@ -193,7 +188,6 @@ config ADK_KPACKAGE_KMOD_VFAT_FS
 	select ADK_KPACKAGE_KMOD_NLS if !ADK_KERNEL_NLS
 	select ADK_KPACKAGE_KMOD_NLS_CODEPAGE_850
 	select ADK_KPACKAGE_KMOD_NLS_ISO8859_1
-	select ADK_KERNEL_BLOCK
 	default y if ADK_TARGET_SYSTEM_RASPBERRY_PI
 	default n
 	help
@@ -217,7 +211,6 @@ config ADK_KPACKAGE_KMOD_XFS_FS
 	tristate
 	select ADK_KERNEL_EXPORTFS
 	select ADK_KPACKAGE_KMOD_CRYPTO_CRC32C
-	select ADK_KERNEL_BLOCK
 	depends on !ADK_KERNEL_XFS_FS
 	default n
 	help
@@ -256,7 +249,6 @@ config ADK_KPACKAGE_KMOD_ISO9660_FS
 	prompt "kmod-fs-iso9660................... ISO 9660 CDROM file system support"
 	tristate
 	select ADK_KERNEL_JOLIET
-	select ADK_KERNEL_BLOCK
 	default n
 	help
 	  This is the standard file system used on CD-ROMs.  It was previously
@@ -273,7 +265,6 @@ config ADK_KPACKAGE_KMOD_UDF_FS
 	prompt "kmod-fs-udf....................... UDF file system support"
 	tristate
 	select ADK_KPACKAGE_KMOD_CRC_ITU_T
-	select ADK_KERNEL_BLOCK
 	default n
 	help
 	  This is the new file system used on some CD-ROMs and DVDs. Say Y if

+ 0 - 23
target/linux/config/Config.in.netdevice

@@ -1,9 +1,6 @@
 menu "Network devices support"
 comment "Ethernet network driver for target system is included into kernel"
 
-config ADK_KERNEL_NETDEVICES
-	boolean
-
 config ADK_KERNEL_NET_ETHERNET
 	boolean
 
@@ -42,7 +39,6 @@ config ADK_KERNEL_ATH_CARDS
 
 config ADK_KERNEL_CPMAC
 	boolean
-	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NET_PCI
 	select ADK_KERNEL_MII
@@ -52,7 +48,6 @@ config ADK_KERNEL_CPMAC
 
 config ADK_KERNEL_MACB
 	boolean
-	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NET_PCI
 	select ADK_KERNEL_MII
@@ -63,7 +58,6 @@ config ADK_KERNEL_MACB
 
 config ADK_KERNEL_PCNET32
 	boolean
-	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NET_PCI
 	select ADK_KERNEL_MII
@@ -72,7 +66,6 @@ config ADK_KERNEL_PCNET32
 
 config ADK_KERNEL_NATSEMI
 	boolean
-	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NET_PCI
 	select ADK_KERNEL_MII
@@ -82,7 +75,6 @@ config ADK_KERNEL_NATSEMI
 
 config ADK_KERNEL_VIA_RHINE
 	boolean
-	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NET_PCI
 	select ADK_KERNEL_MII
@@ -95,7 +87,6 @@ config ADK_KERNEL_VIA_RHINE
 
 config ADK_KERNEL_AR231X_ETHERNET
 	boolean
-	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NET_PCI
 	select ADK_KERNEL_MII
@@ -106,7 +97,6 @@ config ADK_KERNEL_AR231X_ETHERNET
 
 config ADK_KERNEL_KORINA
 	boolean
-	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NET_PCI
 	select ADK_KERNEL_MII
@@ -116,7 +106,6 @@ config ADK_KERNEL_KORINA
 
 config ADK_KERNEL_AG71XX
 	boolean
-	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NET_PCI
 	select ADK_KERNEL_MII
@@ -127,7 +116,6 @@ config ADK_KERNEL_AG71XX
 
 config ADK_KERNEL_B44
 	boolean
-	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NET_PCI
 	select ADK_KERNEL_MII
@@ -137,7 +125,6 @@ config ADK_KERNEL_B44
 
 config ADK_KERNEL_R8169
 	boolean
-	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NETDEV_1000
 	select ADK_KERNEL_MII
@@ -147,7 +134,6 @@ config ADK_KERNEL_R8169
 
 config ADK_KERNEL_USB_NET_SMSC95XX
 	boolean
-	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_USB_USBNET
 	default y if ADK_TARGET_SYSTEM_RASPBERRY_PI
@@ -160,7 +146,6 @@ depends on ADK_TARGET_WITH_PCI
 config ADK_KPACKAGE_KMOD_NE2K_PCI
 	prompt "kmod-net-ne2k-pci............. NE2000 PCI driver"
 	tristate
-	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NET_PCI
 	select ADK_KERNEL_NET_VENDOR_NATSEMI
@@ -173,7 +158,6 @@ config ADK_KPACKAGE_KMOD_NE2K_PCI
 config ADK_KPACKAGE_KMOD_PCNET32
 	prompt "kmod-net-pcnet32.............. AMD PCNet32 PCI driver"
 	tristate
-	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NET_PCI
 	select ADK_KERNEL_MII
@@ -184,7 +168,6 @@ config ADK_KPACKAGE_KMOD_PCNET32
 config ADK_KPACKAGE_KMOD_8139CP
 	prompt "kmod-net-rtl8139cp............ RTL8139C+ PCI driver"
 	tristate
-	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NET_PCI
 	select ADK_KERNEL_NET_VENDOR_REALTEK
@@ -196,7 +179,6 @@ config ADK_KPACKAGE_KMOD_8139CP
 config ADK_KPACKAGE_KMOD_8139TOO
 	prompt "kmod-net-rtl8139.............. RTL8139 PCI driver"
 	tristate
-	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NET_PCI
 	select ADK_KERNEL_MII
@@ -207,7 +189,6 @@ config ADK_KPACKAGE_KMOD_8139TOO
 config ADK_KPACKAGE_KMOD_E100
 	prompt "kmod-net-e100................. Intel(R) PRO/100+ driver"
 	tristate
-	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_PCI
 	select ADK_KERNEL_MII
 	default n
@@ -217,7 +198,6 @@ config ADK_KPACKAGE_KMOD_E100
 config ADK_KPACKAGE_KMOD_E1000
 	prompt "kmod-net-e1000................ Intel(R) PRO/1000 Gigabit Ethernet driver"
 	tristate
-	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NETDEV_1000
 	depends on !ADK_KERNEL_E1000
@@ -232,7 +212,6 @@ config ADK_KPACKAGE_KMOD_E1000
 config ADK_KPACKAGE_KMOD_SKY2
 	prompt "kmod-net-sky2................. Marvell Yukon driver"
 	tristate
-	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NETDEV_1000
 	select ADK_KERNEL_NET_VENDOR_MARVELL
@@ -243,7 +222,6 @@ config ADK_KPACKAGE_KMOD_SKY2
 config ADK_KPACKAGE_KMOD_R8169
 	prompt "kmod-net-r8169................ RTL8169 driver"
 	tristate
-	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NETDEV_1000
 	select ADK_KERNEL_MII
@@ -258,7 +236,6 @@ config ADK_KERNEL_WLAN
 	boolean
 
 config ADK_KERNEL_WIRELESS
-	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_WLAN
 	boolean
 

+ 0 - 2
target/linux/config/Config.in.network

@@ -180,7 +180,6 @@ config ADK_KPACKAGE_KMOD_IPV6_SIT
 config ADK_KPACKAGE_KMOD_PPP
 	prompt "kmod-ppp.......................... PPP support"
 	tristate
-	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_PPP_ASYNC
 	select ADK_KERNEL_SLHC
 	select ADK_KPACKAGE_KMOD_CRC_CCITT
@@ -243,7 +242,6 @@ config ADK_KPACKAGE_KMOD_PPPOE
 config ADK_KPACKAGE_KMOD_TUN
 	prompt "kmod-tun.......................... Universal TUN/TAP driver"
 	tristate
-	select ADK_KERNEL_NETDEVICES
 	default n
 	help
 	  Kernel support for the TUN/TAP tunneling device

+ 2 - 2
toolchain/Makefile

@@ -21,8 +21,8 @@ TARGETS+=glibc
 LIBC:=glibc
 endif
 ifeq ($(ADK_TARGET_LIB_UCLIBC),y)
-TARGETS+=uClibc
-LIBC:=uClibc
+TARGETS+=uclibc
+LIBC:=uclibc
 endif
 ifeq ($(ADK_TARGET_LIB_MUSL),y)
 TARGETS+=musl

+ 0 - 5
toolchain/gcc/Makefile.inc

@@ -2,12 +2,7 @@
 # material, please see the LICENCE file in the top-level directory.
 
 PKG_NAME:=		gcc
-ifeq ($(ADK_LINUX_SPARC),y)
-PKG_VERSION:=		4.7.3
-PKG_MD5SUM:=		86f428a30379bdee0224e353ee2f999e
-else
 PKG_VERSION:=		4.8.2
 PKG_MD5SUM:=		deca88241c1135e2ff9fa5486ab5957b
-endif
 PKG_RELEASE:=		1
 PKG_SITES:=		${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/}

+ 154 - 0
toolchain/gcc/patches/4.8.2/sparc-miscompile.patch

@@ -0,0 +1,154 @@
+diff -Nur gcc-4.8.2.orig/gcc/tree-ssa-forwprop.c gcc-4.8.2/gcc/tree-ssa-forwprop.c
+--- gcc-4.8.2.orig/gcc/tree-ssa-forwprop.c	2013-02-25 16:31:31.000000000 +0100
++++ gcc-4.8.2/gcc/tree-ssa-forwprop.c	2014-03-22 19:37:04.797991879 +0100
+@@ -688,6 +688,130 @@
+      recompute_tree_invariant_for_addr_expr (gimple_assign_rhs1 (stmt));
+ }
+ 
++ /* DEF_RHS contains the address of the 0th element in an array.	 
++    USE_STMT uses type of DEF_RHS to compute the address of an	 
++    arbitrary element within the array.  The (variable) byte offset	 
++    of the element is contained in OFFSET.	 
++ 	 
++    We walk back through the use-def chains of OFFSET to verify that	 
++    it is indeed computing the offset of an element within the array	 
++    and extract the index corresponding to the given byte offset.	 
++ 	 
++    We then try to fold the entire address expression into a form	 
++    &array[index].	 
++ 	 
++    If we are successful, we replace the right hand side of USE_STMT	 
++    with the new address computation.  */	 
++ 	 
++ static bool	 
++ forward_propagate_addr_into_variable_array_index (tree offset,	 
++                                                   tree def_rhs,	 
++                                                   gimple_stmt_iterator *use_stmt_gsi)	 
++ {	 
++   tree index, tunit;	 
++   gimple offset_def, use_stmt = gsi_stmt (*use_stmt_gsi);	 
++   tree new_rhs, tmp;	 
++ 	 
++   if (TREE_CODE (TREE_OPERAND (def_rhs, 0)) == ARRAY_REF)	 
++     tunit = TYPE_SIZE_UNIT (TREE_TYPE (TREE_TYPE (def_rhs)));	 
++   else if (TREE_CODE (TREE_TYPE (TREE_OPERAND (def_rhs, 0))) == ARRAY_TYPE)	 
++     tunit = TYPE_SIZE_UNIT (TREE_TYPE (TREE_TYPE (TREE_TYPE (def_rhs))));	 
++   else	 
++     return false;	 
++   if (!host_integerp (tunit, 1))	 
++     return false;	 
++ 	 
++   /* Get the offset's defining statement.  */	 
++   offset_def = SSA_NAME_DEF_STMT (offset);	 
++ 	 
++   /* Try to find an expression for a proper index.  This is either a	 
++      multiplication expression by the element size or just the ssa name we came	 
++      along in case the element size is one. In that case, however, we do not	 
++      allow multiplications because they can be computing index to a higher	 
++      level dimension (PR 37861). */	 
++   if (integer_onep (tunit))	 
++     {	 
++       if (is_gimple_assign (offset_def)	 
++           && gimple_assign_rhs_code (offset_def) == MULT_EXPR)	 
++         return false;	 
++ 	 
++       index = offset;	 
++     }	 
++   else	 
++     {	 
++       /* The statement which defines OFFSET before type conversion	 
++          must be a simple GIMPLE_ASSIGN.  */	 
++       if (!is_gimple_assign (offset_def))	 
++         return false;	 
++ 	 
++       /* The RHS of the statement which defines OFFSET must be a	 
++          multiplication of an object by the size of the array elements.	 
++          This implicitly verifies that the size of the array elements	 
++          is constant.  */	 
++      if (gimple_assign_rhs_code (offset_def) == MULT_EXPR	 
++          && TREE_CODE (gimple_assign_rhs2 (offset_def)) == INTEGER_CST	 
++          && tree_int_cst_equal (gimple_assign_rhs2 (offset_def), tunit))	 
++        {	 
++          /* The first operand to the MULT_EXPR is the desired index.  */	 
++          index = gimple_assign_rhs1 (offset_def);	 
++        }	 
++      /* If we have idx * tunit + CST * tunit re-associate that.  */	 
++      else if ((gimple_assign_rhs_code (offset_def) == PLUS_EXPR	 
++                || gimple_assign_rhs_code (offset_def) == MINUS_EXPR)	 
++               && TREE_CODE (gimple_assign_rhs1 (offset_def)) == SSA_NAME	 
++               && TREE_CODE (gimple_assign_rhs2 (offset_def)) == INTEGER_CST	 
++               && (tmp = div_if_zero_remainder (EXACT_DIV_EXPR,	 
++                                                gimple_assign_rhs2 (offset_def),	 
++                                                tunit)) != NULL_TREE)	 
++        {	 
++          gimple offset_def2 = SSA_NAME_DEF_STMT (gimple_assign_rhs1 (offset_def));	 
++          if (is_gimple_assign (offset_def2)	 
++              && gimple_assign_rhs_code (offset_def2) == MULT_EXPR	 
++              && TREE_CODE (gimple_assign_rhs2 (offset_def2)) == INTEGER_CST	 
++              && tree_int_cst_equal (gimple_assign_rhs2 (offset_def2), tunit))	 
++            {	 
++              index = fold_build2 (gimple_assign_rhs_code (offset_def),	 
++                                   TREE_TYPE (offset),	 
++                                   gimple_assign_rhs1 (offset_def2), tmp);	 
++            }	 
++          else	 
++            return false;	 
++        }	 
++      else	 
++         return false;	 
++     }	 
++ 	 
++   /* Replace the pointer addition with array indexing.  */	 
++   index = force_gimple_operand_gsi (use_stmt_gsi, index, true, NULL_TREE,	 
++                                     true, GSI_SAME_STMT);	 
++   if (TREE_CODE (TREE_OPERAND (def_rhs, 0)) == ARRAY_REF)	 
++     {	 
++       new_rhs = unshare_expr (def_rhs);	 
++       TREE_OPERAND (TREE_OPERAND (new_rhs, 0), 1) = index;	 
++     }	 
++   else	 
++     {	 
++       new_rhs = build4 (ARRAY_REF, TREE_TYPE (TREE_TYPE (TREE_TYPE (def_rhs))),	 
++                         unshare_expr (TREE_OPERAND (def_rhs, 0)),	 
++                         index, integer_zero_node, NULL_TREE);	 
++       new_rhs = build_fold_addr_expr (new_rhs);	 
++       if (!useless_type_conversion_p (TREE_TYPE (gimple_assign_lhs (use_stmt)),	 
++                                       TREE_TYPE (new_rhs)))	 
++         {	 
++           new_rhs = force_gimple_operand_gsi (use_stmt_gsi, new_rhs, true,	 
++                                               NULL_TREE, true, GSI_SAME_STMT);	 
++           new_rhs = fold_convert (TREE_TYPE (gimple_assign_lhs (use_stmt)),	 
++                                   new_rhs);	 
++         }	 
++     }	 
++   gimple_assign_set_rhs_from_tree (use_stmt_gsi, new_rhs);	 
++   fold_stmt (use_stmt_gsi);	 
++   tidy_after_forward_propagate_addr (gsi_stmt (*use_stmt_gsi));	 
++   return true;	 
++ }	 
++
++
++
+ /* NAME is a SSA_NAME representing DEF_RHS which is of the form
+    ADDR_EXPR <whatever>.
+ 
+@@ -977,6 +1101,19 @@
+       tidy_after_forward_propagate_addr (use_stmt);
+       return true;
+     }
++   /* Try to optimize &x[0] p+ OFFSET where OFFSET is defined by	 
++      converting a multiplication of an index by the size of the	 
++      array elements, then the result is converted into the proper	 
++      type for the arithmetic.  */	 
++   if (TREE_CODE (rhs2) == SSA_NAME	 
++       && (TREE_CODE (array_ref) != ARRAY_REF	 
++           || integer_zerop (TREE_OPERAND (array_ref, 1)))	 
++       && useless_type_conversion_p (TREE_TYPE (name), TREE_TYPE (def_rhs))	 
++       /* Avoid problems with IVopts creating PLUS_EXPRs with a	 
++          different type than their operands.  */	 
++       && useless_type_conversion_p (TREE_TYPE (lhs), TREE_TYPE (def_rhs)))	 
++     return forward_propagate_addr_into_variable_array_index (rhs2, def_rhs,	 
++                                                              use_stmt_gsi);	 
+ 
+   return false;
+ }

+ 0 - 0
toolchain/uClibc/Makefile → toolchain/uclibc/Makefile


+ 0 - 0
toolchain/uClibc/Makefile.inc → toolchain/uclibc/Makefile.inc


+ 0 - 0
toolchain/uClibc/patches/uclibc-git-20140313.patch → toolchain/uclibc/patches/uclibc-git-20140313.patch


+ 0 - 0
toolchain/uClibc/patches/xxx-origin.patch → toolchain/uclibc/patches/xxx-origin.patch


+ 0 - 0
toolchain/uClibc/patches/xxx-sparc-wait4.patch → toolchain/uclibc/patches/xxx-sparc-wait4.patch