diff options
Diffstat (limited to 'poky/meta/recipes-support/nspr/nspr')
6 files changed, 244 insertions, 0 deletions
diff --git a/poky/meta/recipes-support/nspr/nspr/0001-md-Fix-build-with-musl.patch b/poky/meta/recipes-support/nspr/nspr/0001-md-Fix-build-with-musl.patch new file mode 100644 index 000000000..f3cd67002 --- /dev/null +++ b/poky/meta/recipes-support/nspr/nspr/0001-md-Fix-build-with-musl.patch @@ -0,0 +1,31 @@ +From 147f3c2acbd96d44025cec11800ded0282327764 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 18 Sep 2017 17:22:43 -0700 +Subject: [PATCH] md: Fix build with musl + +The MIPS specific header <sgidefs.h> is not provided by musl +linux kernel headers provide <asm/sgidefs.h> which has same definitions + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + pr/include/md/_linux.cfg | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pr/include/md/_linux.cfg b/pr/include/md/_linux.cfg +index 640b19c..31296a8 100644 +--- a/pr/include/md/_linux.cfg ++++ b/pr/include/md/_linux.cfg +@@ -499,7 +499,7 @@ + #elif defined(__mips__) + + /* For _ABI64 */ +-#include <sgidefs.h> ++#include <asm/sgidefs.h> + + #ifdef __MIPSEB__ + #define IS_BIG_ENDIAN 1 +-- +2.14.1 + diff --git a/poky/meta/recipes-support/nspr/nspr/0002-Add-nios2-support.patch b/poky/meta/recipes-support/nspr/nspr/0002-Add-nios2-support.patch new file mode 100644 index 000000000..23228067e --- /dev/null +++ b/poky/meta/recipes-support/nspr/nspr/0002-Add-nios2-support.patch @@ -0,0 +1,105 @@ +From 95bda64fb4cf1825fea745e918cfe8202843f0ba Mon Sep 17 00:00:00 2001 +From: Marek Vasut <marex@denx.de> +Date: Sat, 30 Jan 2016 07:18:02 +0100 +Subject: [PATCH] Add nios2 support + +Add support for the nios2 CPU. + +Signed-off-by: Marek Vasut <marex@denx.de> +Upstream-Status: Submitted [ https://bugzilla.mozilla.org/show_bug.cgi?id=1244421 ] +--- + nspr/pr/include/md/_linux.cfg | 45 +++++++++++++++++++++++++++++++++++++++++++ + nspr/pr/include/md/_linux.h | 14 ++++++++++++++ + 2 files changed, 59 insertions(+) + +diff --git a/pr/include/md/_linux.cfg b/nspr/pr/include/md/_linux.cfg +index 8cbf0cb..150676b 100644 +--- a/pr/include/md/_linux.cfg ++++ b/pr/include/md/_linux.cfg +@@ -972,6 +972,51 @@ + #define PR_BYTES_PER_WORD_LOG2 2 + #define PR_BYTES_PER_DWORD_LOG2 3 + ++#elif defined(__nios2__) ++ ++#define IS_LITTLE_ENDIAN 1 ++#undef IS_BIG_ENDIAN ++ ++#define PR_BYTES_PER_BYTE 1 ++#define PR_BYTES_PER_SHORT 2 ++#define PR_BYTES_PER_INT 4 ++#define PR_BYTES_PER_INT64 8 ++#define PR_BYTES_PER_LONG 4 ++#define PR_BYTES_PER_FLOAT 4 ++#define PR_BYTES_PER_DOUBLE 8 ++#define PR_BYTES_PER_WORD 4 ++#define PR_BYTES_PER_DWORD 8 ++ ++#define PR_BITS_PER_BYTE 8 ++#define PR_BITS_PER_SHORT 16 ++#define PR_BITS_PER_INT 32 ++#define PR_BITS_PER_INT64 64 ++#define PR_BITS_PER_LONG 32 ++#define PR_BITS_PER_FLOAT 32 ++#define PR_BITS_PER_DOUBLE 64 ++#define PR_BITS_PER_WORD 32 ++ ++#define PR_BITS_PER_BYTE_LOG2 3 ++#define PR_BITS_PER_SHORT_LOG2 4 ++#define PR_BITS_PER_INT_LOG2 5 ++#define PR_BITS_PER_INT64_LOG2 6 ++#define PR_BITS_PER_LONG_LOG2 5 ++#define PR_BITS_PER_FLOAT_LOG2 5 ++#define PR_BITS_PER_DOUBLE_LOG2 6 ++#define PR_BITS_PER_WORD_LOG2 5 ++ ++#define PR_ALIGN_OF_SHORT 2 ++#define PR_ALIGN_OF_INT 4 ++#define PR_ALIGN_OF_LONG 4 ++#define PR_ALIGN_OF_INT64 4 ++#define PR_ALIGN_OF_FLOAT 4 ++#define PR_ALIGN_OF_DOUBLE 4 ++#define PR_ALIGN_OF_POINTER 4 ++#define PR_ALIGN_OF_WORD 4 ++ ++#define PR_BYTES_PER_WORD_LOG2 2 ++#define PR_BYTES_PER_DWORD_LOG2 3 ++ + #elif defined(__or1k__) + + #undef IS_LITTLE_ENDIAN +diff --git a/pr/include/md/_linux.h b/nspr/pr/include/md/_linux.h +index d378db5..18260be 100644 +--- a/pr/include/md/_linux.h ++++ b/pr/include/md/_linux.h +@@ -55,6 +55,8 @@ + #define _PR_SI_ARCHITECTURE "avr32" + #elif defined(__m32r__) + #define _PR_SI_ARCHITECTURE "m32r" ++#elif defined(__nios2__) ++#define _PR_SI_ARCHITECTURE "nios2" + #elif defined(__or1k__) + #define _PR_SI_ARCHITECTURE "or1k" + #else +@@ -125,6 +127,18 @@ extern PRInt32 _PR_x86_64_AtomicSet(PRInt32 *val, PRInt32 newval); + #define _MD_ATOMIC_SET _PR_x86_64_AtomicSet + #endif + ++#if defined(__nios2__) ++#if defined(__GNUC__) ++/* Use GCC built-in functions */ ++#define _PR_HAVE_ATOMIC_OPS ++#define _MD_INIT_ATOMIC() ++#define _MD_ATOMIC_INCREMENT(ptr) __sync_add_and_fetch(ptr, 1) ++#define _MD_ATOMIC_DECREMENT(ptr) __sync_sub_and_fetch(ptr, 1) ++#define _MD_ATOMIC_ADD(ptr, i) __sync_add_and_fetch(ptr, i) ++#define _MD_ATOMIC_SET(ptr, nv) __sync_lock_test_and_set(ptr, nv) ++#endif ++#endif ++ + #if defined(__or1k__) + #if defined(__GNUC__) + /* Use GCC built-in functions */ +-- +2.7.0.rc3 + diff --git a/poky/meta/recipes-support/nspr/nspr/fix-build-on-x86_64.patch b/poky/meta/recipes-support/nspr/nspr/fix-build-on-x86_64.patch new file mode 100644 index 000000000..f12acc854 --- /dev/null +++ b/poky/meta/recipes-support/nspr/nspr/fix-build-on-x86_64.patch @@ -0,0 +1,52 @@ +Fix build failure on x86_64 + +When the target_cpu is x86_64, we should assume that the pkg uses 64bit, +only if USE_N32 is set, we can assume that the pkg uses 32bit. It used a +opposite logic before. + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> + +Upstream-Status: Pending +--- + configure.in | 12 ++++++------ + 1 files changed, 6 insertions(+), 6 deletions(-) + +Index: nspr/configure.in +=================================================================== +--- nspr.orig/configure.in ++++ nspr/configure.in +@@ -1875,28 +1875,24 @@ tools are selected during the Xcode/Deve + PR_MD_ASFILES=os_Linux_ia64.s + ;; + x86_64) +- if test -n "$USE_64"; then +- PR_MD_ASFILES=os_Linux_x86_64.s +- elif test -n "$USE_X32"; then ++ if test -n "$USE_X32"; then ++ AC_DEFINE(i386) + PR_MD_ASFILES=os_Linux_x86_64.s + CC="$CC -mx32" + CXX="$CXX -mx32" + else +- AC_DEFINE(i386) +- PR_MD_ASFILES=os_Linux_x86.s +- CC="$CC -m32" +- CXX="$CXX -m32" ++ PR_MD_ASFILES=os_Linux_x86_64.s + fi + ;; + ppc|powerpc) + PR_MD_ASFILES=os_Linux_ppc.s + ;; + powerpc64) +- if test -n "$USE_64"; then ++ if test -n "$USE_N32"; then ++ PR_MD_ASFILES=os_Linux_ppc.s ++ else + CC="$CC -m64" + CXX="$CXX -m64" +- else +- PR_MD_ASFILES=os_Linux_ppc.s + fi + ;; + esac diff --git a/poky/meta/recipes-support/nspr/nspr/nspr.pc.in b/poky/meta/recipes-support/nspr/nspr/nspr.pc.in new file mode 100644 index 000000000..d74caabe4 --- /dev/null +++ b/poky/meta/recipes-support/nspr/nspr/nspr.pc.in @@ -0,0 +1,11 @@ +os_libs=-lpthread -ldl +prefix=OEPREFIX +exec_prefix=OEEXECPREFIX +libdir=OELIBDIR +includedir=OEINCDIR + +Name: NSPR +Description: The Netscape Portable Runtime +Version: NSPRVERSION +Libs: -L${libdir} -lplds4 -lplc4 -lnspr4 -lpthread -ldl +Cflags: diff --git a/poky/meta/recipes-support/nspr/nspr/remove-rpath-from-tests.patch b/poky/meta/recipes-support/nspr/nspr/remove-rpath-from-tests.patch new file mode 100644 index 000000000..ecc6d3187 --- /dev/null +++ b/poky/meta/recipes-support/nspr/nspr/remove-rpath-from-tests.patch @@ -0,0 +1,26 @@ +Author: Andrei Gherzan <andrei@gherzan.ro> +Date: Thu Feb 9 00:03:38 2012 +0200 + +Avoid QA warnings by removing hardcoded rpath from binaries. + +[...] +WARNING: QA Issue: package nspr contains bad RPATH {builddir}/tmp/work/armv5te-poky-linux-gnueabi/nspr-4.8.9-r1/nspr-4.8.9/mozilla/nsprpub/pr/tests/../../dist/lib +in file {builddir}/tmp/work/armv5te-poky-linux-gnueabi/nspr-4.8.9-r1/packages-split/nspr/usr/lib/nspr/tests/multiwait +[...] + +Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> +Upstream-Status: Pending + +Index: nspr/pr/tests/Makefile.in +=================================================================== +--- nspr.orig/pr/tests/Makefile.in ++++ nspr/pr/tests/Makefile.in +@@ -315,7 +315,7 @@ ifeq ($(OS_ARCH), SunOS) + endif # SunOS + + ifeq (,$(filter-out Linux GNU GNU_%,$(OS_ARCH))) +- LDOPTS += -Xlinker -rpath $(ABSOLUTE_LIB_DIR) ++ LDOPTS += -Xlinker + ifeq ($(USE_PTHREADS),1) + EXTRA_LIBS = -lpthread + endif diff --git a/poky/meta/recipes-support/nspr/nspr/remove-srcdir-from-configure-in.patch b/poky/meta/recipes-support/nspr/nspr/remove-srcdir-from-configure-in.patch new file mode 100644 index 000000000..bde715c5d --- /dev/null +++ b/poky/meta/recipes-support/nspr/nspr/remove-srcdir-from-configure-in.patch @@ -0,0 +1,19 @@ +the $srcdir is not defined at the time of gnu-configurize. + +Upstream-Status: Inappropriate [OE-Core specific] + +Signed-off-by: Saul Wold <sgw@linux.intel.com> + +Index: nspr/configure.in +=================================================================== +--- nspr.orig/configure.in ++++ nspr/configure.in +@@ -8,7 +8,7 @@ AC_PREREQ(2.61) + AC_INIT + AC_CONFIG_SRCDIR([pr/include/nspr.h]) + +-AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) ++AC_CONFIG_AUX_DIR(build/autoconf) + AC_CANONICAL_TARGET + + dnl ======================================================== |