Quellcode durchsuchen

finetune kernel config for lemote

- boot via tftp works now
- fix libgcrypt compile issue
- disable-sjlj-exceptions, does not compile for mips64
Waldemar Brodkorb vor 15 Jahren
Ursprung
Commit
96dcd54773

+ 2 - 2
package/libgcrypt/Makefile

@@ -4,9 +4,9 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		libgcrypt
-PKG_VERSION:=		1.4.1
+PKG_VERSION:=		1.4.4
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		555488ddfc81a6e0df1fb5112e7eee13
+PKG_MD5SUM:=		9e6dcf7fef1ae96b57207a1de91fdaa4
 PKG_DESCR:=		GNU crypto library
 PKG_SECTION:=		libs
 PKG_DEPENDS:=		libgpg-error

+ 67 - 0
package/libgcrypt/patches/patch-mpi_longlong_h

@@ -0,0 +1,67 @@
+--- libgcrypt-1.4.4.orig/mpi/longlong.h	2008-08-19 17:20:03.000000000 +0200
++++ libgcrypt-1.4.4/mpi/longlong.h	2009-06-14 19:45:28.000000000 +0200
+@@ -710,18 +710,35 @@ extern USItype __udiv_qrnnd ();
+ #endif /* __m88110__ */
+ #endif /* __m88000__ */
+ 
++/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */
++#if defined (__GNUC__) && defined (__GNUC_MINOR__)
++#define __GNUC_PREREQ(maj, min) \
++  ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
++#else
++#define __GNUC_PREREQ(maj, min)  0
++#endif
++
+ /***************************************
+  **************  MIPS  *****************
+  ***************************************/
+ #if defined (__mips__) && W_TYPE_SIZE == 32
+-#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7
++#if __GNUC_PREREQ (4,4)
++#define umul_ppmm(w1, w0, u, v) \
++  do {                                                                 \
++    UDItype __ll = (UDItype)(u) * (v);                                 \
++    w1 = __ll >> 32;                                                   \
++    w0 = __ll;                                                         \
++  } while (0)
++#endif
++#if !defined (umul_ppmm) && __GNUC_PREREQ (2,7)
+ #define umul_ppmm(w1, w0, u, v) \
+   __asm__ ("multu %2,%3"                                                \
+ 	   : "=l" ((USItype)(w0)),                                      \
+ 	     "=h" ((USItype)(w1))                                       \
+ 	   : "d" ((USItype)(u)),                                        \
+ 	     "d" ((USItype)(v)))
+-#else
++#endif
++#if !defined (umul_ppmm)
+ #define umul_ppmm(w1, w0, u, v) \
+   __asm__ ("multu %2,%3 \n" \
+ 	   "mflo %0 \n"     \
+@@ -739,14 +756,24 @@ extern USItype __udiv_qrnnd ();
+  **************  MIPS/64  **************
+  ***************************************/
+ #if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64
+-#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7
++#if __GNUC_PREREQ (4,4)
++#define umul_ppmm(w1, w0, u, v) \
++  do {                                                                 \
++    typedef unsigned int __ll_UTItype __attribute__((mode(TI)));       \
++    __ll_UTItype __ll = (__ll_UTItype)(u) * (v);                       \
++    w1 = __ll >> 64;                                                   \
++    w0 = __ll;                                                         \
++  } while (0)
++#endif
++#if !defined (umul_ppmm) && __GNUC_PREREQ (2,7)
+ #define umul_ppmm(w1, w0, u, v) \
+   __asm__ ("dmultu %2,%3"                                               \
+ 	   : "=l" ((UDItype)(w0)),                                      \
+ 	     "=h" ((UDItype)(w1))                                       \
+ 	   : "d" ((UDItype)(u)),                                        \
+ 	     "d" ((UDItype)(v)))
+-#else
++#endif
++#if !defined (umul_ppmm)
+ #define umul_ppmm(w1, w0, u, v) \
+   __asm__ ("dmultu %2,%3 \n"    \
+ 	   "mflo %0 \n"         \

Datei-Diff unterdrückt, da er zu groß ist
+ 93 - 731
target/lemote/kernel.config


Datei-Diff unterdrückt, da er zu groß ist
+ 323 - 404
target/lemote/patches/yeelong.patch


+ 1 - 1
toolchain/gcc/Makefile

@@ -22,7 +22,7 @@ GCC_CONFOPTS=		--prefix=$(STAGING_TOOLS) \
 			--enable-target-optspace \
 			--with-gnu-ld \
 			--disable-libmudflap \
-			--enable-sjlj-exceptions \
+			--disable-sjlj-exceptions \
 			--disable-libgomp \
 			--disable-biarch \
 			--disable-multilib \

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.