All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 01/27] libssp-nonshared: Add recipe
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
@ 2018-05-05  0:13 ` Khem Raj
  2018-05-05  0:13 ` [PATCH 02/27] musl: Depend on libssp-nonshared Khem Raj
                   ` (26 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:13 UTC (permalink / raw)
  To: openembedded-core

libssp-nonshared is a minimal gcc runtime piece which is needed
on non-glibc systems which do implement libssp APIs in libc

Use PIE flags to compile libssp_nonshared.a so it works with
security flags on as well

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-core/musl/libssp-nonshared.bb    | 39 ++++++++++++++++
 .../musl/libssp-nonshared/ssp-local.c         | 45 +++++++++++++++++++
 2 files changed, 84 insertions(+)
 create mode 100644 meta/recipes-core/musl/libssp-nonshared.bb
 create mode 100644 meta/recipes-core/musl/libssp-nonshared/ssp-local.c

diff --git a/meta/recipes-core/musl/libssp-nonshared.bb b/meta/recipes-core/musl/libssp-nonshared.bb
new file mode 100644
index 0000000000..458eafef52
--- /dev/null
+++ b/meta/recipes-core/musl/libssp-nonshared.bb
@@ -0,0 +1,39 @@
+# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Minimal libssp_nonshared.a must needed for ssp to work with gcc on musl"
+LICENSE = "GPL-3.0-with-GCC-exception"
+LIC_FILES_CHKSUM = "file://ssp-local.c;beginline=1;endline=32;md5=c06d391208c0cfcbc541a6728ed65cc4"
+SECTION = "libs"
+
+SRC_URI = "file://ssp-local.c"
+
+PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
+
+INHIBIT_DEFAULT_DEPS = "1"
+
+STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
+STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}"
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils \
+           virtual/${TARGET_PREFIX}gcc-initial \
+"
+
+do_configure[noexec] = "1"
+
+S = "${WORKDIR}"
+
+do_compile() {
+	${CC} ${CPPFLAGS} ${CFLAGS} -fPIE -c ssp-local.c -o ssp-local.o
+	${AR} r libssp_nonshared.a ssp-local.o
+}
+do_install() {
+	install -Dm 0644 ${B}/libssp_nonshared.a ${D}${base_libdir}/libssp_nonshared.a
+}
+#
+# We will skip parsing for non-musl systems
+#
+COMPATIBLE_HOST = ".*-musl.*"
+RDEPENDS_${PN}-staticdev = ""
+RDEPENDS_${PN}-dev = ""
+RRECOMMENDS_${PN}-dbg = "${PN}-staticdev (= ${EXTENDPKGV})"
diff --git a/meta/recipes-core/musl/libssp-nonshared/ssp-local.c b/meta/recipes-core/musl/libssp-nonshared/ssp-local.c
new file mode 100644
index 0000000000..8f51afa2c1
--- /dev/null
+++ b/meta/recipes-core/musl/libssp-nonshared/ssp-local.c
@@ -0,0 +1,45 @@
+/* Stack protector support.
+   Copyright (C) 2005-2018 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 3, or (at your option) any later
+version.
+
+In addition to the permissions in the GNU General Public License, the
+Free Software Foundation gives you unlimited permission to link the
+compiled version of this file into combinations with other programs,
+and to distribute those combinations without any restriction coming
+from the use of this file.  (The General Public License restrictions
+do apply in other respects; for example, they cover modification of
+the file, and distribution when not linked into a combine
+executable.)
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+Under Section 7 of GPL version 3, you are granted additional
+permissions described in the GCC Runtime Library Exception, version
+3.1, as published by the Free Software Foundation.
+
+You should have received a copy of the GNU General Public License and
+a copy of the GCC Runtime Library Exception along with this program;
+see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+<http://www.gnu.org/licenses/>.  */
+
+extern void __stack_chk_fail (void);
+
+/* Some targets can avoid loading a GP for calls to hidden functions.
+   Using this entry point may avoid the load of a GP entirely for the
+   function, making the overall code smaller.  */
+
+void
+__attribute__((visibility ("hidden")))
+__stack_chk_fail_local (void)
+{
+  __stack_chk_fail ();
+}
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 02/27] musl: Depend on libssp-nonshared
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
  2018-05-05  0:13 ` [PATCH 01/27] libssp-nonshared: Add recipe Khem Raj
@ 2018-05-05  0:13 ` Khem Raj
  2018-05-05  0:13 ` [PATCH 03/27] gcc-runtime: Disable gcc version of libssp Khem Raj
                   ` (25 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:13 UTC (permalink / raw)
  To: openembedded-core

libssp-nonshared is required on musl since
it does not implement the gcc runtime piece of
libssp, which actually it a gcc optimization to
reach to __stack_chk_fail

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-core/musl/musl_git.bb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes-core/musl/musl_git.bb
index 34190e530e..01fec69aeb 100644
--- a/meta/recipes-core/musl/musl_git.bb
+++ b/meta/recipes-core/musl/musl_git.bb
@@ -22,6 +22,7 @@ DEPENDS = "virtual/${TARGET_PREFIX}binutils \
            libgcc-initial \
            linux-libc-headers \
            bsd-headers \
+           libssp-nonshared \
           "
 
 export CROSS_COMPILE="${TARGET_PREFIX}"
@@ -65,7 +66,7 @@ do_install() {
 	done
 }
 
-RDEPENDS_${PN}-dev += "linux-libc-headers-dev bsd-headers-dev"
+RDEPENDS_${PN}-dev += "linux-libc-headers-dev bsd-headers-dev libssp-nonshared-staticdev"
 RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev"
 RPROVIDES_${PN} += "ldd libsegfault rtld(GNU_HASH)"
 
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 03/27] gcc-runtime: Disable gcc version of libssp
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
  2018-05-05  0:13 ` [PATCH 01/27] libssp-nonshared: Add recipe Khem Raj
  2018-05-05  0:13 ` [PATCH 02/27] musl: Depend on libssp-nonshared Khem Raj
@ 2018-05-05  0:13 ` Khem Raj
  2018-05-05  0:13 ` [PATCH 04/27] libunwind: Drop adding libssp to linker flags Khem Raj
                   ` (24 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:13 UTC (permalink / raw)
  To: openembedded-core

libssp is implemented fully in glibc as well as in musl
so we really do not need the gcc version of this library
except may be for mingw, where we keep it enabled anyway
gcc in OE is built with the knowledge that C library
already provides libssp implementation, we should therefore
not need the gcc implementation of same.

libssp_nonshared piece is a detail which is needed when gcc
is the compiler, in glibc this is part of libc_nonshared.a
already and libc_nonshared.a is linked always when linking
with -lc becuase libc.so in glibc is actually a linker script

GROUP ( /usr/lib/libc.so.6 /usr/lib/libc_nonshared.a  AS_NEEDED ( /usr/lib/ld-linux-x86-64.so.2 ) )

which automatically links in the needed runtime bits, this however
is not the case for musl, where core SSP APIs are implemented in full
but compiler specific runtime isn't, for this we add a new package
called libssp_nonshared which generate the needed runtime stub
and gcc is already carrying patch to link to libssp_nonshared.a
on musl

This should fix a long standing problem where static PIE executable
were not buildable with OE since it was conflicting SSP implementation
one from C library and the other one from gcc and we end up with
duplicate symbol errors during linking.

Backport a patch from trunk which enhances enable|disable-libssp
to not only disable building libssp but also not emit the gcc
specs to use it for subsequent linking when stack-protector options
are used on compiler cmdline

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/gcc/gcc-7.3.inc         |   7 +-
 ...cc-override-TARGET_LIBC_PROVIDES_SSP.patch | 204 ++++++++++++++++++
 meta/recipes-devtools/gcc/gcc-runtime.inc     |   4 +-
 3 files changed, 212 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-devtools/gcc/gcc-7.3/0049-gcc-override-TARGET_LIBC_PROVIDES_SSP.patch

diff --git a/meta/recipes-devtools/gcc/gcc-7.3.inc b/meta/recipes-devtools/gcc/gcc-7.3.inc
index d968c322d2..0586182282 100644
--- a/meta/recipes-devtools/gcc/gcc-7.3.inc
+++ b/meta/recipes-devtools/gcc/gcc-7.3.inc
@@ -72,6 +72,7 @@ SRC_URI = "\
            file://0045-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \
            file://0047-sync-gcc-stddef.h-with-musl.patch \
            file://0048-gcc-Enable-static-PIE.patch \
+           file://0049-gcc-override-TARGET_LIBC_PROVIDES_SSP.patch \
            file://fix-segmentation-fault-precompiled-hdr.patch \
            file://no-sse-fix-test-case-failures.patch \
            ${BACKPORTS} \
@@ -93,10 +94,12 @@ FORTRAN = ""
 JAVA = ""
 
 LTO = "--enable-lto"
+SSP ?= "--disable-libssp"
+SSP_mingw32 = "--enable-libssp"
 
 EXTRA_OECONF_BASE = "\
     ${LTO} \
-    --enable-libssp \
+    ${SSP} \
     --enable-libitm \
     --disable-bootstrap \
     --disable-libmudflap \
@@ -120,7 +123,7 @@ EXTRA_OECONF_INITIAL = "\
     --disable-plugin \
     --enable-decimal-float=no \
     --without-isl \
-    gcc_cv_libc_provides_ssp=yes \
+    --disable-libssp \
 "
 
 EXTRA_OECONF_PATHS = "\
diff --git a/meta/recipes-devtools/gcc/gcc-7.3/0049-gcc-override-TARGET_LIBC_PROVIDES_SSP.patch b/meta/recipes-devtools/gcc/gcc-7.3/0049-gcc-override-TARGET_LIBC_PROVIDES_SSP.patch
new file mode 100644
index 0000000000..7c53c95c3a
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-7.3/0049-gcc-override-TARGET_LIBC_PROVIDES_SSP.patch
@@ -0,0 +1,204 @@
+From 9815bd97561c778ee0bc0c17f245e88e66570111 Mon Sep 17 00:00:00 2001
+From: sandra <sandra@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Wed, 1 Nov 2017 02:14:19 +0000
+Subject: [PATCH] 2017-10-31  Sandra Loosemore  <sandra@codesourcery.com>
+
+	gcc/
+	* configure.ac (--enable-libssp): New.
+	(gcc_cv_libc_provides_ssp): Check for explicit setting before
+	trying to determine target-specific default.  Adjust indentation.
+	* configure: Regenerated.
+	* doc/install.texi (Configuration): Expand --disable-libssp
+	documentation.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@254288 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Backport [https://patchwork.ozlabs.org/patch/823049/]
+
+ gcc/ChangeLog        |  9 +++++++++
+ gcc/configure        | 26 +++++++++++++++++++++++---
+ gcc/configure.ac     | 24 ++++++++++++++++++++----
+ gcc/doc/install.texi |  3 ++-
+ 4 files changed, 54 insertions(+), 8 deletions(-)
+
+Index: gcc-7.3.0/gcc/configure.ac
+===================================================================
+--- gcc-7.3.0.orig/gcc/configure.ac
++++ gcc-7.3.0/gcc/configure.ac
+@@ -5719,10 +5719,25 @@ if test x$gcc_cv_solaris_crts = xyes; th
+   	    [Define if the system-provided CRTs are present on Solaris.])
+ fi
+ 
++AC_ARG_ENABLE(libssp,
++[AS_HELP_STRING([--enable-libssp], [enable linking against libssp])],
++[case "${enableval}" in
++  yes|no)
++    ;;
++  *)
++    AC_MSG_ERROR([unknown libssp setting $enableval])
++    ;;
++esac], [])
++
+ # Test for stack protector support in target C library.
+ AC_CACHE_CHECK(__stack_chk_fail in target C library,
+-      gcc_cv_libc_provides_ssp,
+-      [gcc_cv_libc_provides_ssp=no
++  gcc_cv_libc_provides_ssp,
++  [gcc_cv_libc_provides_ssp=no
++  if test "x$enable_libssp" = "xno"; then
++    gcc_cv_libc_provides_ssp=yes
++  elif test "x$enable_libssp" = "xyes"; then
++    gcc_cv_libc_provides_ssp=no
++  else
+     case "$target" in
+        *-*-musl*)
+ 	 # All versions of musl provide stack protector
+@@ -5759,8 +5774,9 @@ AC_CACHE_CHECK(__stack_chk_fail in targe
+ 	 AC_CHECK_FUNC(__stack_chk_fail,[gcc_cv_libc_provides_ssp=yes],
+            [echo "no __stack_chk_fail on this target"])
+         ;;
+-  *) gcc_cv_libc_provides_ssp=no ;;
+-    esac])
++       *) gcc_cv_libc_provides_ssp=no ;;
++    esac
++  fi])
+ 
+ if test x$gcc_cv_libc_provides_ssp = xyes; then
+   AC_DEFINE(TARGET_LIBC_PROVIDES_SSP, 1,
+Index: gcc-7.3.0/gcc/doc/install.texi
+===================================================================
+--- gcc-7.3.0.orig/gcc/doc/install.texi
++++ gcc-7.3.0/gcc/doc/install.texi
+@@ -1658,7 +1658,8 @@ not be built.
+ 
+ @item --disable-libssp
+ Specify that the run-time libraries for stack smashing protection
+-should not be built.
++should not be built or linked against.  On many targets library support
++is provided by the C library instead.
+ 
+ @item --disable-libquadmath
+ Specify that the GCC quad-precision math library should not be built.
+Index: gcc-7.3.0/gcc/configure
+===================================================================
+--- gcc-7.3.0.orig/gcc/configure
++++ gcc-7.3.0/gcc/configure
+@@ -940,6 +940,7 @@ enable_fix_cortex_a53_843419
+ with_glibc_version
+ enable_gnu_unique_object
+ enable_linker_build_id
++enable_libssp
+ enable_default_ssp
+ with_long_double_128
+ with_gc
+@@ -1679,6 +1680,7 @@ Optional Features:
+                           extension on glibc systems
+   --enable-linker-build-id
+                           compiler will always pass --build-id to linker
++  --enable-libssp         enable linking against libssp
+   --enable-default-ssp    enable Stack Smashing Protection as default
+   --enable-maintainer-mode
+                           enable make rules and dependencies not useful (and
+@@ -18450,7 +18452,7 @@ else
+   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+   lt_status=$lt_dlunknown
+   cat > conftest.$ac_ext <<_LT_EOF
+-#line 18436 "configure"
++#line 18455 "configure"
+ #include "confdefs.h"
+ 
+ #if HAVE_DLFCN_H
+@@ -18556,7 +18558,7 @@ else
+   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+   lt_status=$lt_dlunknown
+   cat > conftest.$ac_ext <<_LT_EOF
+-#line 18542 "configure"
++#line 18561 "configure"
+ #include "confdefs.h"
+ 
+ #if HAVE_DLFCN_H
+@@ -25234,6 +25236,7 @@ $as_echo "#define HAVE_AS_SPARC5_VIS4 1"
+ 
+ fi
+ 
++
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for SPARC6 instructions" >&5
+ $as_echo_n "checking assembler for SPARC6 instructions... " >&6; }
+ if test "${gcc_cv_as_sparc_sparc6+set}" = set; then :
+@@ -25270,6 +25273,7 @@ $as_echo "#define HAVE_AS_SPARC6 1" >>co
+ 
+ fi
+ 
++
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for LEON instructions" >&5
+ $as_echo_n "checking assembler for LEON instructions... " >&6; }
+ if test "${gcc_cv_as_sparc_leon+set}" = set; then :
+@@ -28947,6 +28951,18 @@ $as_echo "#define HAVE_SOLARIS_CRTS 1" >
+ 
+ fi
+ 
++# Check whether --enable-libssp was given.
++if test "${enable_libssp+set}" = set; then :
++  enableval=$enable_libssp; case "${enableval}" in
++  yes|no)
++    ;;
++  *)
++    as_fn_error "unknown libssp setting $enableval" "$LINENO" 5
++    ;;
++esac
++fi
++
++
+ # Test for stack protector support in target C library.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking __stack_chk_fail in target C library" >&5
+ $as_echo_n "checking __stack_chk_fail in target C library... " >&6; }
+@@ -28954,6 +28970,11 @@ if test "${gcc_cv_libc_provides_ssp+set}
+   $as_echo_n "(cached) " >&6
+ else
+   gcc_cv_libc_provides_ssp=no
++  if test "x$enable_libssp" = "xno"; then
++    gcc_cv_libc_provides_ssp=yes
++  elif test "x$enable_libssp" = "xyes"; then
++    gcc_cv_libc_provides_ssp=no
++  else
+     case "$target" in
+        *-*-musl*)
+ 	 # All versions of musl provide stack protector
+@@ -29001,8 +29022,9 @@ else
+ fi
+ 
+         ;;
+-  *) gcc_cv_libc_provides_ssp=no ;;
++       *) gcc_cv_libc_provides_ssp=no ;;
+     esac
++  fi
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_libc_provides_ssp" >&5
+ $as_echo "$gcc_cv_libc_provides_ssp" >&6; }
+@@ -29037,18 +29059,15 @@ fi
+ 
+ 
+ # Test for <sys/sdt.h> on the target.
+-
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5
+-$as_echo_n "checking sys/sdt.h in the target C library... " >&6; }
+-have_sys_sdt_h=no
++#GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
++#AC_MSG_CHECKING(sys/sdt.h in the target C library)
++#have_sys_sdt_h=no
+ #if test -f $target_header_dir/sys/sdt.h; then
+ #  have_sys_sdt_h=yes
+-#
+-#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
+-#
++#  AC_DEFINE(HAVE_SYS_SDT_H, 1,
++#            [Define if your target C library provides sys/sdt.h])
+ #fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5
+-$as_echo "$have_sys_sdt_h" >&6; }
++#AC_MSG_RESULT($have_sys_sdt_h)
+ 
+ # Check if TFmode long double should be used by default or not.
+ # Some glibc targets used DFmode long double, but with glibc 2.4
diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
index 7629fa56ff..72b8081cd3 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -22,8 +22,10 @@ RUNTIMELIBITM_nios2 = ""
 RUNTIMELIBITM_microblaze = ""
 RUNTIMELIBITM_riscv32 = ""
 RUNTIMELIBITM_riscv64 = ""
+RUNTIMELIBSSP ?= ""
+RUNTIMELIBSSP_mingw32 ?= "libssp"
 
-RUNTIMETARGET = "libssp libstdc++-v3 libgomp libatomic ${RUNTIMELIBITM} \
+RUNTIMETARGET = "${RUNTIMELIBSSP} libstdc++-v3 libgomp libatomic ${RUNTIMELIBITM} \
     ${@bb.utils.contains_any('FORTRAN', [',fortran',',f77'], 'libquadmath', '', d)} \
 "
 RUNTIMETARGET_append_x86 = " libmpx"
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 04/27] libunwind: Drop adding libssp to linker flags
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (2 preceding siblings ...)
  2018-05-05  0:13 ` [PATCH 03/27] gcc-runtime: Disable gcc version of libssp Khem Raj
@ 2018-05-05  0:13 ` Khem Raj
  2018-05-05  0:13 ` [PATCH 05/27] musl: Upgrade to latest Khem Raj
                   ` (23 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:13 UTC (permalink / raw)
  To: openembedded-core

This is no longer needed as gcc provided libssp
is not built

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-support/libunwind/libunwind.inc | 2 --
 1 file changed, 2 deletions(-)

diff --git a/meta/recipes-support/libunwind/libunwind.inc b/meta/recipes-support/libunwind/libunwind.inc
index b9c532d3ad..36851d07ed 100644
--- a/meta/recipes-support/libunwind/libunwind.inc
+++ b/meta/recipes-support/libunwind/libunwind.inc
@@ -14,8 +14,6 @@ PACKAGECONFIG[latexdocs] = "--enable-documentation, --disable-documentation, lat
 EXTRA_OECONF_arm = "--enable-debug-frame"
 EXTRA_OECONF_aarch64 = "--enable-debug-frame"
 
-SECURITY_LDFLAGS_append_libc-musl = " -lssp_nonshared -lssp"
-
 do_install_append () {
 	oe_multilib_header libunwind.h
 }
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 05/27] musl: Upgrade to latest
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (3 preceding siblings ...)
  2018-05-05  0:13 ` [PATCH 04/27] libunwind: Drop adding libssp to linker flags Khem Raj
@ 2018-05-05  0:13 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 06/27] pbzip2: Fix C++11 warnings found with clang Khem Raj
                   ` (22 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:13 UTC (permalink / raw)
  To: openembedded-core

Changes are here
https://git.musl-libc.org/cgit/musl/log/?qt=range&q=618b18c78e33acfe54a4434e91aa57b8e171df89..941bd884cc0221d051840ce6d21650339e711863

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-core/musl/musl_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes-core/musl/musl_git.bb
index 01fec69aeb..a0a098f5b4 100644
--- a/meta/recipes-core/musl/musl_git.bb
+++ b/meta/recipes-core/musl/musl_git.bb
@@ -3,7 +3,7 @@
 
 require musl.inc
 
-SRCREV = "618b18c78e33acfe54a4434e91aa57b8e171df89"
+SRCREV = "941bd884cc0221d051840ce6d21650339e711863"
 
 PV = "1.1.19+git${SRCPV}"
 
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 06/27] pbzip2: Fix C++11 warnings found with clang
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (4 preceding siblings ...)
  2018-05-05  0:13 ` [PATCH 05/27] musl: Upgrade to latest Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 07/27] alsa-tools: Update to 1.1.6 Khem Raj
                   ` (21 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...valid-suffix-on-literal-C-11-warning.patch | 73 +++++++++++++++++++
 meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb |  4 +-
 2 files changed, 76 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-extended/pbzip2/pbzip2/0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch

diff --git a/meta/recipes-extended/pbzip2/pbzip2/0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch b/meta/recipes-extended/pbzip2/pbzip2/0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch
new file mode 100644
index 0000000000..8fc377c31b
--- /dev/null
+++ b/meta/recipes-extended/pbzip2/pbzip2/0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch
@@ -0,0 +1,73 @@
+From de4a948d356c9befb88c796168e97eb05b9a3385 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 23 Apr 2018 22:54:42 -0700
+Subject: [PATCH] pbzip2: Fix invalid suffix on literal C++11 warning
+
+Fixes -Wreserved-user-defined-literal] errors.
+Also reported in launchpad here https://bugs.launchpad.net/pbzip2/+bug/1746369
+
+Upstream-Status: Submitted [https://launchpadlibrarian.net/355230152/pbzip2.patch]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ pbzip2.cpp | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/pbzip2.cpp b/pbzip2.cpp
+index 66ca978..4287ea7 100644
+--- a/pbzip2.cpp
++++ b/pbzip2.cpp
+@@ -1220,7 +1220,7 @@ int producer_decompress(int hInfile, OFF_T fileSize, queue *fifo)
+ 			// give warning to user if block is larger than 250 million bytes
+ 			if (fileData->bufSize > 250000000)
+ 			{
+-				fprintf(stderr, "pbzip2:  *WARNING: Compressed block size is large [%"PRIuMAX" bytes].\n",
++				fprintf(stderr, "pbzip2:  *WARNING: Compressed block size is large [%" PRIuMAX " bytes].\n",
+ 						(uintmax_t) fileData->bufSize);
+ 				fprintf(stderr, "          If program aborts, use regular BZIP2 to decompress.\n");
+ 			}
+@@ -1829,7 +1829,7 @@ void *fileWriter(void *outname)
+ 	
+ 	if (QuietMode != 1)
+ 	{
+-		fprintf(stderr, "    Output Size: %"PRIuMAX" bytes\n", (uintmax_t)CompressedSize);
++		fprintf(stderr, "    Output Size: %" PRIuMAX " bytes\n", (uintmax_t)CompressedSize);
+ 	}
+ 
+ 	#ifdef PBZIP_DEBUG
+@@ -2072,7 +2072,7 @@ int directcompress(int hInfile, OFF_T fileSize, int blockSize, const char *OutFi
+ 		close(hOutfile);
+ 	if (QuietMode != 1)
+ 	{
+-		fprintf(stderr, "    Output Size: %"PRIuMAX" bytes\n", (uintmax_t)CompressedSize);
++		fprintf(stderr, "    Output Size: %" PRIuMAX " bytes\n", (uintmax_t)CompressedSize);
+ 	}
+ 
+ 	syncSetProducerDone(1); // Not really needed for direct version
+@@ -2794,7 +2794,7 @@ void outputBufferInit(size_t size)
+ 	// unlikely to get here since more likely exception will be thrown
+ 	if (OutputBuffer.size() != size)
+ 	{
+-		fprintf(stderr, "pbzip2: *ERROR: Could not initialize (OutputBuffer); size=%"PRIuMAX"!  Aborting...\n", (uintmax_t)size);
++		fprintf(stderr, "pbzip2: *ERROR: Could not initialize (OutputBuffer); size=%" PRIuMAX "!  Aborting...\n", (uintmax_t)size);
+ 		safe_mutex_unlock(OutMutex);
+ 		exit(1);
+ 	}
+@@ -4102,7 +4102,7 @@ int main(int argc, char* argv[])
+ 			if (decompress == 1)
+ 				fprintf(stderr, " BWT Block Size: %c00k\n", BWTblockSizeChar);
+ 			if (hasInFile)
+-				fprintf(stderr, "     Input Size: %"PRIuMAX" bytes\n", (uintmax_t)InFileSize);
++				fprintf(stderr, "     Input Size: %" PRIuMAX " bytes\n", (uintmax_t)InFileSize);
+ 		}
+ 
+ 		if (decompress == 1)
+@@ -4224,7 +4224,7 @@ int main(int argc, char* argv[])
+ 			{
+ 				NumBufferedBlocksMax = numCPU;
+ 				if (QuietMode != 1)
+-					fprintf(stderr, "*Warning* Max memory limit increased to %"PRIuMAX" MB to support %d CPUs\n", (uintmax_t)((NumBufferedBlocksMax + (numCPU * 2)) * blockSize)/1000000, numCPU);
++					fprintf(stderr, "*Warning* Max memory limit increased to %" PRIuMAX " MB to support %d CPUs\n", (uintmax_t)((NumBufferedBlocksMax + (numCPU * 2)) * blockSize)/1000000, numCPU);
+ 			}
+ 			else
+ 			{
diff --git a/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb b/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
index 06d37adc36..4e96de2ed3 100644
--- a/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
+++ b/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
@@ -11,7 +11,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=398b8832c6f840cfebd20ab2be6a3743"
 DEPENDS = "bzip2"
 DEPENDS_append_class-native = " bzip2-replacement-native"
 
-SRC_URI = "https://launchpad.net/${BPN}/1.1/${PV}/+download/${BP}.tar.gz"
+SRC_URI = "https://launchpad.net/${BPN}/1.1/${PV}/+download/${BP}.tar.gz \
+           file://0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch \
+           "
 
 SRC_URI[md5sum] = "4cb87da2dba05540afce162f34b3a9a6"
 SRC_URI[sha256sum] = "8fd13eaaa266f7ee91f85c1ea97c86d9c9cc985969db9059cdebcb1e1b7bdbe6"
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 07/27] alsa-tools: Update to 1.1.6
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (5 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 06/27] pbzip2: Fix C++11 warnings found with clang Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 08/27] alsa-lib: Upgrade " Khem Raj
                   ` (20 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

License-Update: FSF address updated in hdsploader/COPYING and ld10k1/COPYING.LIB

Fix built with clang along the way

Package python dependent tools into a separate package

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...served-user-defined-literal-warnings.patch | 28 +++++++++++++
 .../alsa/alsa-tools/autotools.patch           | 42 ++++++++++++-------
 ...lsa-tools_1.1.5.bb => alsa-tools_1.1.6.bb} | 25 ++++++++---
 3 files changed, 75 insertions(+), 20 deletions(-)
 create mode 100644 meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch
 rename meta/recipes-multimedia/alsa/{alsa-tools_1.1.5.bb => alsa-tools_1.1.6.bb} (62%)

diff --git a/meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch b/meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch
new file mode 100644
index 0000000000..2290915eab
--- /dev/null
+++ b/meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch
@@ -0,0 +1,28 @@
+From 2e48e4045e1e951433da0ca4b1e49798eedde14f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 24 Apr 2018 12:21:18 -0700
+Subject: [PATCH] Fix clang -Wreserved-user-defined-literal warnings
+
+| us428control.cc:66:18: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
+|         printf("usage: "PROGNAME" [-v verbosity_level 0..2] [-c card] [-D device] [-u usb-device] [-m mode]\n");
+|                         ^
+
+Upstream-Status: Submitted [https://patchwork.kernel.org/patch/10360805/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ us428control/us428control.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/us428control/us428control.cc b/us428control/us428control.cc
+index e839bf4..8cb3c42 100644
+--- a/us428control/us428control.cc
++++ b/us428control/us428control.cc
+@@ -63,7 +63,7 @@ static void usage(void)
+ {
+ 	printf("Tascam US-428 Control\n");
+ 	printf("version %s\n", VERSION);
+-	printf("usage: "PROGNAME" [-v verbosity_level 0..2] [-c card] [-D device] [-u usb-device] [-m mode]\n");
++	printf("usage: " PROGNAME " [-v verbosity_level 0..2] [-c card] [-D device] [-u usb-device] [-m mode]\n");
+ 	printf("mode is one of (us224, us428, mixxx)\n");
+ }
+ /*
diff --git a/meta/recipes-multimedia/alsa/alsa-tools/autotools.patch b/meta/recipes-multimedia/alsa/alsa-tools/autotools.patch
index 2e74963c89..c85834a593 100644
--- a/meta/recipes-multimedia/alsa/alsa-tools/autotools.patch
+++ b/meta/recipes-multimedia/alsa/alsa-tools/autotools.patch
@@ -1,3 +1,8 @@
+From b9a65bf3ba5628cfe8cfd2d10ce2dcf11a606775 Mon Sep 17 00:00:00 2001
+From: Dongxiao Xu <dongxiao.xu@intel.com>
+Date: Thu, 14 Jul 2011 15:40:36 +0800
+Subject: [PATCH] alsa-tools: Fix recipe build error.
+
 Add parameters to autoreconf to support cross compile.
 Remove some sub-components which needs further recipe support.
 
@@ -5,22 +10,17 @@ Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
 
 Upstream-Status: Inappropriate [configuration]
 
-diff -ruN alsa-tools-1.0.24.1-orig//ld10k1/gitcompile alsa-tools-1.0.24.1/ld10k1/gitcompile
---- alsa-tools-1.0.24.1-orig//ld10k1/gitcompile	2011-07-06 11:27:40.227665002 +0800
-+++ alsa-tools-1.0.24.1/ld10k1/gitcompile	2011-07-14 13:26:18.017665004 +0800
-@@ -1,6 +1,6 @@
- #!/bin/bash
- 
--autoreconf -fi || exit 1
-+autoreconf $ACLOCAL_FLAGS -fi || exit 1
- export CFLAGS='-O2 -Wall -pipe -g'
- echo "CFLAGS=$CFLAGS"
- echo "./configure $@"
-diff -ruN alsa-tools-1.0.24.1-orig//Makefile alsa-tools-1.0.24.1/Makefile
---- alsa-tools-1.0.24.1-orig//Makefile	2011-07-06 11:27:40.207665000 +0800
-+++ alsa-tools-1.0.24.1/Makefile	2011-07-14 15:08:08.877665009 +0800
+---
+ Makefile          | 4 ++--
+ ld10k1/gitcompile | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index c32bf25..1119372 100644
+--- a/Makefile
++++ b/Makefile
 @@ -1,8 +1,8 @@
- VERSION = 1.1.5
+ VERSION = 1.1.6
  TOP = .
 -SUBDIRS = as10k1 envy24control hdsploader hdspconf hdspmixer \
 +SUBDIRS = as10k1 envy24control \
@@ -30,3 +30,15 @@ diff -ruN alsa-tools-1.0.24.1-orig//Makefile alsa-tools-1.0.24.1/Makefile
  	  hwmixvolume hdajackretask hda-verb hdajacksensetest
  
  all:
+diff --git a/ld10k1/gitcompile b/ld10k1/gitcompile
+index 99429ac..20005d9 100755
+--- a/ld10k1/gitcompile
++++ b/ld10k1/gitcompile
+@@ -1,6 +1,6 @@
+ #!/bin/bash
+ 
+-autoreconf -fi || exit 1
++autoreconf $ACLOCAL_FLAGS -fi || exit 1
+ export CFLAGS='-O2 -Wall -pipe -g'
+ echo "CFLAGS=$CFLAGS"
+ echo "./configure $@"
diff --git a/meta/recipes-multimedia/alsa/alsa-tools_1.1.5.bb b/meta/recipes-multimedia/alsa/alsa-tools_1.1.6.bb
similarity index 62%
rename from meta/recipes-multimedia/alsa/alsa-tools_1.1.5.bb
rename to meta/recipes-multimedia/alsa/alsa-tools_1.1.6.bb
index 1be43aa6e7..e065eec6b8 100644
--- a/meta/recipes-multimedia/alsa/alsa-tools_1.1.5.bb
+++ b/meta/recipes-multimedia/alsa/alsa-tools_1.1.6.bb
@@ -5,17 +5,19 @@ SECTION = "console/utils"
 LICENSE = "GPLv2 & LGPLv2+"
 DEPENDS = "alsa-lib ncurses glib-2.0"
 
-LIC_FILES_CHKSUM = "file://hdsploader/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
-                    file://ld10k1/COPYING.LIB;md5=7fbc338309ac38fefcd64b04bb903e34"
+LIC_FILES_CHKSUM = "file://hdsploader/COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+                    file://ld10k1/COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7 \
+                    "
 
 SRC_URI = "ftp://ftp.alsa-project.org/pub/tools/${BP}.tar.bz2 \
            file://autotools.patch \
            ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'file://makefile_no_gtk.patch', d)} \
            file://gitcompile_hdajacksensetest \
+           file://0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch \
            "
 
-SRC_URI[md5sum] = "3afb92eb1b4f2edc8691498e57c3ec78"
-SRC_URI[sha256sum] = "bc3c6567de835223ee7d69487b8c22fb395a2e8c613341b0c96e6a5f6a2bd534"
+SRC_URI[md5sum] = "5ca8c9437ae779997cd62fb2815fef19"
+SRC_URI[sha256sum] = "d69c4dc2fb641a974d9903e9eb78c94cb0c7ac6c45bae664f0c9d6c0a1593227"
 
 inherit autotools-brokensep pkgconfig
 
@@ -37,4 +39,17 @@ do_compile_prepend () {
     cp ${WORKDIR}/gitcompile_hdajacksensetest ${S}/hdajacksensetest/gitcompile
 }
 
-FILES_${PN} += "${datadir}/ld10k1"
+do_install_append() {
+    sed -i -e "s|/usr/bin/python2|/usr/bin/env python2|g" ${D}${bindir}/hwmixvolume
+}
+
+PACKAGES =+ "${PN}-hwmixvolume"
+
+FILES_${PN}-hwmixvolume = "${bindir}/hwmixvolume"
+
+FILES_${PN} += "${datadir}/ld10k1 \
+                ${datadir}/icons/hicolor \
+               "
+
+RDEPENDS_${PN}-hwmixvolume += "python"
+
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 08/27] alsa-lib: Upgrade to 1.1.6
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (6 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 07/27] alsa-tools: Update to 1.1.6 Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 09/27] glibc: Drop obsolete rpc and libnsl Khem Raj
                   ` (19 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

License-Update: FSF address updated

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../alsa/{alsa-lib_1.1.5.bb => alsa-lib_1.1.6.bb}        | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
 rename meta/recipes-multimedia/alsa/{alsa-lib_1.1.5.bb => alsa-lib_1.1.6.bb} (75%)

diff --git a/meta/recipes-multimedia/alsa/alsa-lib_1.1.5.bb b/meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb
similarity index 75%
rename from meta/recipes-multimedia/alsa/alsa-lib_1.1.5.bb
rename to meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb
index c5bf107e5e..db77a01cf6 100644
--- a/meta/recipes-multimedia/alsa/alsa-lib_1.1.5.bb
+++ b/meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb
@@ -3,14 +3,15 @@ HOMEPAGE = "http://www.alsa-project.org"
 BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
 SECTION = "libs/multimedia"
 LICENSE = "LGPLv2.1 & GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 \
-                    file://src/socket.c;beginline=1;endline=26;md5=11ff89a8a7a4a690a5c78effe8159545"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \
+                    file://src/socket.c;md5=dd1bc7f44872690224d89c1a9806e495;beginline=1;endline=26 \
+                    "
 
 BBCLASSEXTEND = "native nativesdk"
 
 SRC_URI = "ftp://ftp.alsa-project.org/pub/lib/${BP}.tar.bz2"
-SRC_URI[md5sum] = "a2b465c3a5265d8a57f3ff39c6c4fc29"
-SRC_URI[sha256sum] = "f4f68ad3c6da36b0b5241ac3c798a7a71e0e97d51f972e9f723b3f20a9650ae6"
+SRC_URI[md5sum] = "2f981a8f7897c59ec2ddc44916d33788"
+SRC_URI[sha256sum] = "5f2cd274b272cae0d0d111e8a9e363f08783329157e8dd68b3de0c096de6d724"
 
 inherit autotools pkgconfig
 
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 09/27] glibc: Drop obsolete rpc and libnsl
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (7 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 08/27] alsa-lib: Upgrade " Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 10/27] rpcsvc-proto: Add recipe Khem Raj
                   ` (18 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

use libnsl2 and rpcsvc-proto packages

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/classes/libc-common.bbclass              |   4 -
 .../distro/include/default-distrovars.inc     |   2 +-
 meta/conf/local.conf.sample.extended          |   2 +-
 .../glibc/cross-localedef-native_2.27.bb      |   1 -
 meta/recipes-core/glibc/glibc-initial.inc     |   4 +-
 meta/recipes-core/glibc/glibc-package.inc     |   5 +-
 meta/recipes-core/glibc/glibc.inc             |   4 -
 .../0021-eglibc-Install-PIC-archives.patch    | 123 ------------------
 meta/recipes-core/glibc/glibc_2.27.bb         |  18 +--
 9 files changed, 7 insertions(+), 156 deletions(-)
 delete mode 100644 meta/recipes-core/glibc/glibc/0021-eglibc-Install-PIC-archives.patch

diff --git a/meta/classes/libc-common.bbclass b/meta/classes/libc-common.bbclass
index 9ea2c03749..0e351b6746 100644
--- a/meta/classes/libc-common.bbclass
+++ b/meta/classes/libc-common.bbclass
@@ -1,9 +1,5 @@
 do_install() {
 	oe_runmake install_root=${D} install
-	for r in ${rpcsvc}; do
-		h=`echo $r|sed -e's,\.x$,.h,'`
-		install -m 0644 ${S}/sunrpc/rpcsvc/$h ${D}/${includedir}/rpcsvc/
-	done
 	install -Dm 0644 ${WORKDIR}/etc/ld.so.conf ${D}/${sysconfdir}/ld.so.conf
 	install -d ${D}${localedir}
 	make -f ${WORKDIR}/generate-supported.mk IN="${S}/localedata/SUPPORTED" OUT="${WORKDIR}/SUPPORTED"
diff --git a/meta/conf/distro/include/default-distrovars.inc b/meta/conf/distro/include/default-distrovars.inc
index 9620ad48de..5aa3434ec7 100644
--- a/meta/conf/distro/include/default-distrovars.inc
+++ b/meta/conf/distro/include/default-distrovars.inc
@@ -14,7 +14,7 @@ DISTRO_FEATURES_DEFAULT ?= "acl alsa argp bluetooth ext2 irda largefile pcmcia u
 DISTRO_FEATURES_LIBC_DEFAULT ?= "ipv4 ipv6 libc-backtrace libc-big-macros libc-bsd libc-cxx-tests libc-catgets libc-charsets libc-crypt \
 					libc-crypt-ufc libc-db-aliases libc-envz libc-fcvt libc-fmtmsg libc-fstab libc-ftraverse \
 					libc-getlogin libc-idn libc-inet-anl libc-libm libc-locales libc-locale-code \
-					libc-memusage libc-nis libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams libc-sunrpc \
+					libc-memusage libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams \
 					libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \
 					libc-posix-wchar-io"
 DISTRO_FEATURES_LIBC ?= "${DISTRO_FEATURES_LIBC_DEFAULT}"
diff --git a/meta/conf/local.conf.sample.extended b/meta/conf/local.conf.sample.extended
index 5d6c37dbcf..e698acb84b 100644
--- a/meta/conf/local.conf.sample.extended
+++ b/meta/conf/local.conf.sample.extended
@@ -32,7 +32,7 @@
 #DISTRO_FEATURES_LIBC = "ipv6 libc-backtrace libc-big-macros libc-bsd libc-cxx-tests libc-catgets libc-charsets libc-crypt \
 #               libc-crypt-ufc libc-db-aliases libc-envz libc-fcvt libc-fmtmsg libc-fstab libc-ftraverse \
 #               libc-getlogin libc-idn libc-inet libc-inet-anl libc-libm libc-locales libc-locale-code \
-#               libc-memusage libc-nis libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams libc-sunrpc \
+#               libc-memusage libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams \
 #               libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \
 #               libc-posix-wchar-io"
 
diff --git a/meta/recipes-core/glibc/cross-localedef-native_2.27.bb b/meta/recipes-core/glibc/cross-localedef-native_2.27.bb
index 5e92eb71d5..6a26376ac2 100644
--- a/meta/recipes-core/glibc/cross-localedef-native_2.27.bb
+++ b/meta/recipes-core/glibc/cross-localedef-native_2.27.bb
@@ -32,7 +32,6 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
            file://0018-eglibc-Help-bootstrap-cross-toolchain.patch \
            file://0019-eglibc-Clear-cache-lines-on-ppc8xx.patch \
            file://0020-eglibc-Resolve-__fpscr_values-on-SH4.patch \
-           file://0021-eglibc-Install-PIC-archives.patch \
            file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \
            file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \
            file://archive-path.patch \
diff --git a/meta/recipes-core/glibc/glibc-initial.inc b/meta/recipes-core/glibc/glibc-initial.inc
index b86e2fb2db..28f006fc7f 100644
--- a/meta/recipes-core/glibc/glibc-initial.inc
+++ b/meta/recipes-core/glibc/glibc-initial.inc
@@ -13,9 +13,9 @@ do_configure () {
 	cfgscript=`python3 -c "import os; print(os.path.relpath('${S}', '.'))"`/configure
 	$cfgscript --host=${TARGET_SYS} --build=${BUILD_SYS} \
 		--prefix=/usr \
-		--without-cvs --disable-sanity-checks \
+		--disable-sanity-checks \
 		--with-headers=${STAGING_DIR_TARGET}${includedir} \
-		--enable-hacker-mode --enable-addons
+		--enable-hacker-mode
 }
 
 do_compile () {
diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc
index 728bc5381f..ae3f2f63a5 100644
--- a/meta/recipes-core/glibc/glibc-package.inc
+++ b/meta/recipes-core/glibc/glibc-package.inc
@@ -28,7 +28,7 @@ FILES_sln = "${base_sbindir}/sln"
 FILES_${PN}-pic = "${libdir}/*_pic.a ${libdir}/*_pic.map ${libdir}/libc_pic/*.o"
 FILES_libsotruss = "${libdir}/audit/sotruss-lib.so"
 FILES_SOLIBSDEV = "${libdir}/lib*${SOLIBSDEV}"
-FILES_${PN}-dev += "${bindir}/rpcgen ${libdir}/*_nonshared.a ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal"
+FILES_${PN}-dev += "${libdir}/*_nonshared.a ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal"
 FILES_${PN}-staticdev += "${libdir}/*.a ${base_libdir}/*.a"
 FILES_nscd = "${sbindir}/nscd* ${sysconfdir}/init.d/nscd ${systemd_unitdir}/system/nscd* ${sysconfdir}/tmpfiles.d/nscd.conf \
               ${sysconfdir}/nscd.conf ${sysconfdir}/default/volatiles/98_nscd ${localstatedir}/db/nscd"
@@ -51,7 +51,7 @@ DESCRIPTION_glibc-extra-nss = "glibc: nis, nisplus and hesiod search services."
 SUMMARY_ldd = "print shared library dependencies"
 DESCRIPTION_ldd = "${bindir}/ldd prints shared library dependencies for each program or shared library specified on the command line."
 SUMMARY_${PN}-utils = "Miscellaneous utilities provided by glibc"
-DESCRIPTION_${PN}-utils = "Miscellaneous utilities including getconf, iconv, locale, gencat, rpcgen, ..."
+DESCRIPTION_${PN}-utils = "Miscellaneous utilities including getconf, iconv, locale, gencat, ..."
 DESCRIPTION_libsotruss = "Library to support sotruss which traces calls through PLTs"
 DESCRIPTION_tzcode = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect"
 
@@ -71,7 +71,6 @@ do_install_append () {
 	if [ -f ${D}${bindir}/mtrace ]; then
 		sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' -e '2s,exec.*perl,exec ${USRBINPATH}/env perl,' ${D}${bindir}/mtrace
 	fi
-	rm -rf ${D}${includedir}/rpcsvc/rquota*
 	# Info dir listing isn't interesting at this point so remove it if it exists.
 	if [ -e "${D}${infodir}/dir" ]; then
 		rm -f ${D}${infodir}/dir
diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc
index ce1222be68..3db55f926f 100644
--- a/meta/recipes-core/glibc/glibc.inc
+++ b/meta/recipes-core/glibc/glibc.inc
@@ -33,8 +33,6 @@ siteconfig_do_siteconfig_gencache_prepend = " \
 
 # nptl needs unwind support in gcc, which can't be built without glibc.
 DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial libgcc-initial linux-libc-headers virtual/${TARGET_PREFIX}libc-initial"
-# nptl needs libgcc but dlopens it, so our shlibs code doesn't detect this
-#RDEPENDS_${PN} += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}"
 
 CRYPTPROVIDES = "virtual/crypt"
 CRYPTPROVIDES_class-nativesdk = ""
@@ -80,8 +78,6 @@ do_configure_prepend() {
 	sed -e "s#@BASH@#/bin/sh#" -i ${S}/elf/ldd.bash.in
 }
 
-GLIBC_ADDONS ?= "nptl,libidn"
-
 # Enable backtrace from abort()
 do_configure_append_arm () {
 	echo "CFLAGS-abort.c = -fasynchronous-unwind-tables" >> ${B}/configparms
diff --git a/meta/recipes-core/glibc/glibc/0021-eglibc-Install-PIC-archives.patch b/meta/recipes-core/glibc/glibc/0021-eglibc-Install-PIC-archives.patch
deleted file mode 100644
index 530f4e1087..0000000000
--- a/meta/recipes-core/glibc/glibc/0021-eglibc-Install-PIC-archives.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-From c1beab8a11985f96f5eb644e7103d343b705afc6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 18 Mar 2015 01:57:01 +0000
-Subject: [PATCH 21/27] eglibc: Install PIC archives
-
-Forward port from eglibc
-
-2008-02-07  Joseph Myers  <joseph@codesourcery.com>
-
-        * Makerules (install-extras, install-map): New variables.
-        (installed-libcs): Add libc_pic.a.
-        (install-lib): Include _pic.a files for versioned shared
-        libraries.
-        (install-map-nosubdir, install-extras-nosubdir): Add rules for
-        installing extra files.
-        (install-no-libc.a-nosubdir): Depend on install-map-nosubdir and
-        install-extras-nosubdir.
-
-2008-04-01  Maxim Kuvyrkov  <maxim@codesourcery.com>
-
-        * Makerules (install-lib): Don't install libpthread_pic.a.
-        (install-map): Don't install libpthread_pic.map.
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makerules | 42 ++++++++++++++++++++++++++++++++++++++++--
- 1 file changed, 40 insertions(+), 2 deletions(-)
-
-diff --git a/Makerules b/Makerules
-index ef6abeac6d..eeaa667f49 100644
---- a/Makerules
-+++ b/Makerules
-@@ -778,6 +778,9 @@ ifeq ($(build-shared),yes)
- $(common-objpfx)libc.so: $(common-objpfx)libc.map
- endif
- common-generated += libc.so libc_pic.os
-+ifndef subdir
-+install-extras := soinit.o sofini.o
-+endif
- ifdef libc.so-version
- $(common-objpfx)libc.so$(libc.so-version): $(common-objpfx)libc.so
- 	$(make-link)
-@@ -1029,6 +1032,7 @@ endif
- 
- install: check-install-supported
- 
-+installed-libcs := $(installed-libcs) $(inst_libdir)/libc_pic.a
- install: $(installed-libcs)
- $(installed-libcs): $(inst_libdir)/lib$(libprefix)%: lib $(+force)
- 	$(make-target-directory)
-@@ -1057,6 +1061,22 @@ versioned := $(strip $(foreach so,$(install-lib.so),\
- install-lib.so-versioned := $(filter $(versioned), $(install-lib.so))
- install-lib.so-unversioned := $(filter-out $(versioned), $(install-lib.so))
- 
-+# Install the _pic.a files for versioned libraries, and corresponding
-+# .map files.
-+# libpthread_pic.a breaks mklibs, so don't install it and its map.
-+install-lib := $(install-lib) $(install-lib.so-versioned:%.so=%_pic.a)
-+install-lib := $(filter-out libpthread_pic.a,$(install-lib))
-+# Despite having a soname libhurduser and libmachuser do not use symbol
-+# versioning, so don't install the corresponding .map files.
-+ifeq ($(build-shared),yes)
-+install-map := $(patsubst %.so,%.map,\
-+			$(foreach L,$(install-lib.so-versioned),$(notdir $L)))
-+install-map := $(filter-out libhurduser.map libmachuser.map libpthread.map,$(install-map))
-+ifndef subdir
-+install-map := $(install-map) libc.map
-+endif
-+endif
-+
- # For versioned libraries, we install three files:
- #	$(inst_libdir)/libfoo.so	-- for linking, symlink or ld script
- #	$(inst_slibdir)/libfoo.so.NN	-- for loading by SONAME, symlink
-@@ -1311,9 +1331,22 @@ $(addprefix $(inst_includedir)/,$(headers-nonh)): $(inst_includedir)/%: \
- endif	# headers-nonh
- endif	# headers
- 
-+ifdef install-map
-+$(addprefix $(inst_libdir)/,$(patsubst lib%.map,lib%_pic.map,$(install-map))): \
-+  $(inst_libdir)/lib%_pic.map: $(common-objpfx)lib%.map $(+force)
-+	$(do-install)
-+endif
-+
-+ifdef install-extras
-+$(addprefix $(inst_libdir)/libc_pic/,$(install-extras)): \
-+  $(inst_libdir)/libc_pic/%.o: $(elf-objpfx)%.os $(+force)
-+	$(do-install)
-+endif
-+
- .PHONY: install-bin-nosubdir install-bin-script-nosubdir \
- 	install-rootsbin-nosubdir install-sbin-nosubdir install-lib-nosubdir \
--	install-data-nosubdir install-headers-nosubdir
-+	install-data-nosubdir install-headers-nosubdir install-map-nosubdir \
-+	install-extras-nosubdir
- install-bin-nosubdir: $(addprefix $(inst_bindir)/,$(install-bin))
- install-bin-script-nosubdir: $(addprefix $(inst_bindir)/,$(install-bin-script))
- install-rootsbin-nosubdir: \
-@@ -1326,6 +1359,10 @@ install-data-nosubdir: $(addprefix $(inst_datadir)/,$(install-data))
- install-headers-nosubdir: $(addprefix $(inst_includedir)/,$(headers))
- install-others-nosubdir: $(install-others)
- install-others-programs-nosubdir: $(install-others-programs)
-+install-map-nosubdir: $(addprefix $(inst_libdir)/,\
-+		       $(patsubst lib%.map,lib%_pic.map,$(install-map)))
-+install-extras-nosubdir: $(addprefix $(inst_libdir)/libc_pic/,\
-+		       $(install-extras))
- 
- # We need all the `-nosubdir' targets so that `install' in the parent
- # doesn't depend on several things which each iterate over the subdirs.
-@@ -1335,7 +1372,8 @@ install-%:: install-%-nosubdir ;
- 
- .PHONY: install install-no-libc.a-nosubdir
- install-no-libc.a-nosubdir: install-headers-nosubdir install-data-nosubdir \
--			    install-lib-nosubdir install-others-nosubdir
-+			    install-lib-nosubdir install-others-nosubdir \
-+			    install-map-nosubdir install-extras-nosubdir
- ifeq ($(build-programs),yes)
- install-no-libc.a-nosubdir: install-bin-nosubdir install-bin-script-nosubdir \
- 			    install-rootsbin-nosubdir install-sbin-nosubdir \
--- 
-2.16.1
-
diff --git a/meta/recipes-core/glibc/glibc_2.27.bb b/meta/recipes-core/glibc/glibc_2.27.bb
index c814798bbd..d3bdeaefc3 100644
--- a/meta/recipes-core/glibc/glibc_2.27.bb
+++ b/meta/recipes-core/glibc/glibc_2.27.bb
@@ -35,7 +35,6 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
            file://0018-eglibc-Help-bootstrap-cross-toolchain.patch \
            file://0019-eglibc-Clear-cache-lines-on-ppc8xx.patch \
            file://0020-eglibc-Resolve-__fpscr_values-on-SH4.patch \
-           file://0021-eglibc-Install-PIC-archives.patch \
            file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \
            file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \
            file://0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \
@@ -76,14 +75,11 @@ COMPATIBLE_HOST_libc-musl_class-target = "null"
 GLIBCPIE ??= ""
 
 EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
-                --without-cvs --disable-profile \
+                --disable-profile \
                 --disable-debug --without-gd \
                 --enable-clocale=gnu \
-                --enable-add-ons=libidn \
                 --with-headers=${STAGING_INCDIR} \
                 --without-selinux \
-                --enable-obsolete-rpc \
-                --enable-obsolete-nsl \
                 --enable-tunables \
                 --enable-bind-now \
                 --enable-stack-protector=strong \
@@ -113,22 +109,10 @@ do_configure () {
         CPPFLAGS="" oe_runconf
 }
 
-rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \
-	  yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \
-	  rusers.x spray.x nfs_prot.x rquota.x key_prot.x"
-
 do_compile () {
 	# -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging
 	unset LDFLAGS
 	base_do_compile
-	(
-		cd ${S}/sunrpc/rpcsvc
-		for r in ${rpcsvc}; do
-			h=`echo $r|sed -e's,\.x$,.h,'`
-			rm -f $h
-			${B}/sunrpc/cross-rpcgen -h $r -o $h || bbwarn "${PN}: unable to generate header for $r"
-		done
-	)
 	echo "Adjust ldd script"
 	if [ -n "${RTLDLIST}" ]
 	then
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 10/27] rpcsvc-proto: Add recipe
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (8 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 09/27] glibc: Drop obsolete rpc and libnsl Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 11/27] libnss-nis: " Khem Raj
                   ` (17 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/conf/distro/include/maintainers.inc      |  1 +
 .../rpcsvc-proto/rpcsvc-proto.bb              | 37 +++++++++++++++++++
 .../0001-Use-cross-compiled-rpcgen.patch      | 26 +++++++++++++
 3 files changed, 64 insertions(+)
 create mode 100644 meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb
 create mode 100644 meta/recipes-extended/rpcsvc-proto/rpcsvc-proto/0001-Use-cross-compiled-rpcgen.patch

diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 4fb9fc23d1..d7d0c1e2da 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -613,6 +613,7 @@ RECIPE_MAINTAINER_pn-resolvconf = "Chen Qi <Qi.Chen@windriver.com>"
 RECIPE_MAINTAINER_pn-rgb = "Armin Kuster <akuster808@gmail.com>"
 RECIPE_MAINTAINER_pn-rpcbind = "Hongxu Jia <hongxu.jia@windriver.com>"
 RECIPE_MAINTAINER_pn-rng-tools = "Maxin B. John <maxin.john@intel.com>"
+RECIPE_MAINTAINER_pn-rpcsvc-proto = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER_pn-rpm = "Mark Hatle <mark.hatle@windriver.com>"
 RECIPE_MAINTAINER_pn-rpmresolve = "Mark Hatle <mark.hatle@windriver.com>"
 RECIPE_MAINTAINER_pn-rsync = "Yi Zhao <yi.zhao@windriver.com>"
diff --git a/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb b/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb
new file mode 100644
index 0000000000..fdeafe283a
--- /dev/null
+++ b/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb
@@ -0,0 +1,37 @@
+# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "rpcsvc protocol definitions from glibc"
+
+DESCRIPTION = "This package contains rpcsvc proto.x files from glibc, which are\
+missing in libtirpc. Additional it contains rpcgen, which is needed\
+to create header files and sources from protocol files.\
+This package is only needed, if glibc is installed without the\
+deprecated sunrpc functionality and libtirpc should replace it."
+
+HOMEPAGE = "https://github.com/thkukuk/rpcsvc-proto"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0daaf958d5531ab86169ec6e275e1517"
+SECTION = "libs"
+DEPENDS += "rpcsvc-proto-native"
+
+PV = "1.3.1+git${SRCPV}"
+
+SRCREV = "abcf24a09665b3def0f54c87d2acd4796de5d83a"
+
+SRC_URI = "git://github.com/thkukuk/${BPN} \
+           file://0001-Use-cross-compiled-rpcgen.patch \
+          "
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+EXTRA_OEMAKE_class-native = " -C rpcgen"
+
+do_install_append() {
+	# They come from quota recipe
+	rm -rf ${D}${includedir}/rpcsvc/rquota.[hx]
+}
+
+BBCLASSEXTEND += "native nativesdk"
diff --git a/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto/0001-Use-cross-compiled-rpcgen.patch b/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto/0001-Use-cross-compiled-rpcgen.patch
new file mode 100644
index 0000000000..4ee4940295
--- /dev/null
+++ b/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto/0001-Use-cross-compiled-rpcgen.patch
@@ -0,0 +1,26 @@
+From de9345207beb71e4d5b6b40b52cac4ebd2e3858c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 27 Apr 2018 23:23:20 -0700
+Subject: [PATCH] Use cross compiled rpcgen
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ rpcsvc/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/rpcsvc/Makefile.am b/rpcsvc/Makefile.am
+index 83867c0..4753242 100644
+--- a/rpcsvc/Makefile.am
++++ b/rpcsvc/Makefile.am
+@@ -12,5 +12,5 @@ nodist_rpcsvc_HEADERS = klm_prot.h nlm_prot.h rstat.h spray.h \
+ 	nfs_prot.h rquota.h sm_inter.h
+ 
+ %.h: %.x
+-	$(top_builddir)/rpcgen/rpcgen -h -o $@ $<
++	rpcgen -h -o $@ $<
+ 
+-- 
+2.17.0
+
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 11/27] libnss-nis: Add recipe
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (9 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 10/27] rpcsvc-proto: Add recipe Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 12/27] libtirpc: Upgrade to 1.0.4-tc1 Khem Raj
                   ` (16 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

This will substitute the glibc nis module which
has been removed

Skip for non-glibc systems

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/conf/distro/include/maintainers.inc      |  1 +
 .../recipes-extended/libnss-nis/libnss-nis.bb | 36 +++++++++++++++++++
 2 files changed, 37 insertions(+)
 create mode 100644 meta/recipes-extended/libnss-nis/libnss-nis.bb

diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index d7d0c1e2da..d8fc181879 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -349,6 +349,7 @@ RECIPE_MAINTAINER_pn-libnl = "Alexander Kanavin <alexander.kanavin@intel.com>"
 RECIPE_MAINTAINER_pn-libnotify = "Maxin B. John <maxin.john@intel.com>"
 RECIPE_MAINTAINER_pn-libnsl2 = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER_pn-libnss-mdns = "Alexander Kanavin <alexander.kanavin@intel.com>"
+RECIPE_MAINTAINER_pn-libnss-nis = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER_pn-libogg = "Maxin B. John <maxin.john@intel.com>"
 RECIPE_MAINTAINER_pn-libomxil = "Maxin B. John <maxin.john@intel.com>"
 RECIPE_MAINTAINER_pn-libowl = "Maxin B. John <maxin.john@intel.com>"
diff --git a/meta/recipes-extended/libnss-nis/libnss-nis.bb b/meta/recipes-extended/libnss-nis/libnss-nis.bb
new file mode 100644
index 0000000000..e0f69b02ef
--- /dev/null
+++ b/meta/recipes-extended/libnss-nis/libnss-nis.bb
@@ -0,0 +1,36 @@
+# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "NSS module for glibc, to provide NIS support for glibc"
+
+DESCRIPTION = "This package contains the NSS NIS plugin for glibc.\
+This code was formerly part of glibc, but is now standalone to\
+be able to link against TI-RPC for IPv6 support."
+
+HOMEPAGE = "https://github.com/thkukuk/libnss_nis"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+SECTION = "libs"
+DEPENDS += "libtirpc libnsl2"
+
+PV = "3.0+git${SRCPV}"
+
+SRCREV = "d4aea48657a8e90d7922574b8021ee03915a36cb"
+
+SRC_URI = "git://github.com/thkukuk/libnss_nis \
+          "
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+BBCLASSEXTEND += "native nativesdk"
+#
+# We will skip parsing this packagegeoup for non-glibc systems
+#
+python __anonymous () {
+    if d.getVar('TCLIBC') != "glibc":
+        raise bb.parse.SkipRecipe("incompatible with %s C library" %
+                                   d.getVar('TCLIBC'))
+}
+
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc
@ 2018-05-05  0:14 Khem Raj
  2018-05-05  0:13 ` [PATCH 01/27] libssp-nonshared: Add recipe Khem Raj
                   ` (27 more replies)
  0 siblings, 28 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

This patchset is primarily fixing how we use ssp support
in system runtime, Now we use the glibc/musl version consistently and suppliment
musl implementation with libssp_nonshared.a due to gcc needing it. mingw will
use the gcc implementation of libssp

Second major change is to drop the obsoleted features of glibc
we have been carrying them for some releases now and its time to
drop the ball on rpc/nsl eventually in a followup when we upgrade to glibc
2.28 we should drop crypt as well, this also means that the changes we did
for musl for rpc/nsl can now we applied generally and thats evident from
few commits in the series

Added libnss-nis and rpcsvc-proto for stubborn recipes until they migrate
to use libtirpc

Few upgrades are generally helping gcc8 upgrade which I will post separately
once this patchset is baked and applied.

This series have been tested with poky-lsb/core-image-sato on all qemu
machines with both musl/glibc combinations

The following changes since commit ae8b78f2ef5df4b24f8e2294c5e2760367b8bf8d:

  settings-daemon: Drop pointless apply=yes in SRC_URI (2018-05-04 09:55:00 +0100)

are available in the Git repository at:

  git://git.openembedded.org/openembedded-core-contrib kraj/pu
  http://cgit.openembedded.org/openembedded-core-contrib/log/?h=kraj/pu

Khem Raj (27):
  libssp-nonshared: Add recipe
  musl: Depend on libssp-nonshared
  gcc-runtime: Disable gcc version of libssp
  libunwind: Drop adding libssp to linker flags
  musl: Upgrade to latest
  pbzip2: Fix C++11 warnings found with clang
  alsa-tools: Update to 1.1.6
  alsa-lib: Upgrade to 1.1.6
  glibc: Drop obsolete rpc and libnsl
  rpcsvc-proto: Add recipe
  libnss-nis: Add recipe
  libtirpc: Upgrade to 1.0.4-tc1
  libnsl: Upgrade to tip beyond 1.2.0 release
  ltp: Fix build after removing rpc and libnsl in glibc
  xinetd: Use libtirpc even on glibc
  tcp-wrapper: Use external libnsl
  Use libtirpc even on glibc
  perl: Account for libnsl being dropped from glibc
  mdadm: Fix build with gcc8
  libnsl2: Install into /usr/include and /usr/lib
  ppp: Install net/ppp_defs.h on musl
  allarch.bbclass: Exclude package_do_shlibs from do_package signature
  packagegroup: Do not add libssp to SDK
  Disable using GST_GL if gst does not enable it
  mesa: Define PYTHON2
  strace: Upgrade to 4.22
  gdb: Upgrade to 8.1 release

 meta/classes/allarch.bbclass                  |   1 +
 meta/classes/libc-common.bbclass              |   4 -
 .../distro/include/default-distrovars.inc     |   2 +-
 meta/conf/distro/include/maintainers.inc      |   2 +
 meta/conf/distro/include/tcmode-default.inc   |   2 +-
 meta/conf/local.conf.sample.extended          |   2 +-
 meta/recipes-connectivity/ppp/ppp_2.4.7.bb    |   4 +
 .../glibc/cross-localedef-native_2.27.bb      |   1 -
 meta/recipes-core/glibc/glibc-initial.inc     |   4 +-
 meta/recipes-core/glibc/glibc-package.inc     |   5 +-
 meta/recipes-core/glibc/glibc.inc             |   4 -
 .../0021-eglibc-Install-PIC-archives.patch    | 123 ---
 meta/recipes-core/glibc/glibc_2.27.bb         |  18 +-
 meta/recipes-core/musl/libssp-nonshared.bb    |  39 +
 .../musl/libssp-nonshared/ssp-local.c         |  45 +
 meta/recipes-core/musl/musl_git.bb            |   5 +-
 ...packagegroup-core-standalone-sdk-target.bb |   2 +-
 .../packagegroups/packagegroup-self-hosted.bb |  11 +-
 meta/recipes-devtools/gcc/gcc-7.3.inc         |   7 +-
 ...cc-override-TARGET_LIBC_PROVIDES_SSP.patch | 204 ++++
 meta/recipes-devtools/gcc/gcc-runtime.inc     |   4 +-
 .../gdb/{gdb-8.0.1.inc => gdb-8.1.inc}        |   5 +-
 ...ian_8.0.1.bb => gdb-cross-canadian_8.1.bb} |   0
 .../{gdb-cross_8.0.1.bb => gdb-cross_8.1.bb}  |   0
 .../0001-include-sys-types.h-for-mode_t.patch |  12 +-
 ...port-for-Renesas-SH-sh4-architecture.patch | 153 ++-
 ...0012-Unbreak-GDBserver-build-for-x32.patch | 101 --
 .../gdb/{gdb_8.0.1.bb => gdb_8.1.bb}          |   0
 meta/recipes-devtools/perl/perl_5.24.1.bb     |   2 +-
 .../strace/disable-git-version-gen.patch      |  12 +-
 ...st-test-for-m32-mx32-compile-support.patch |  22 +-
 .../strace/{strace_4.20.bb => strace_4.22.bb} |  11 +-
 .../0001-include-sys-cdefs.h-explicitly.patch |  68 --
 ...de-stdint.h-for-uintptr_t-definition.patch |  27 -
 .../0002-Define-glibc-specific-macros.patch   |  57 --
 meta/recipes-extended/libnsl/libnsl2_git.bb   |  19 +-
 .../recipes-extended/libnss-nis/libnss-nis.bb |  36 +
 .../0001-include-stdint.h-for-uintptr_t.patch |  29 -
 ...0001-replace-__bzero-with-memset-API.patch |  64 --
 .../libtirpc/Use-netbsd-queue.h.patch         | 878 ------------------
 .../export_key_secretkey_is_set.patch         |  31 -
 .../libtirpc/libtirpc-1.0.4-rc1.patch         | 103 ++
 .../libtirpc/libtirpc/musl.patch              |  18 +
 .../{libtirpc_1.0.2.bb => libtirpc_1.0.3.bb}  |  13 +-
 ...0001-Disable-rpc01-on-glibc-and-musl.patch |  29 +
 ...option-to-select-libc-implementation.patch |  14 -
 meta/recipes-extended/ltp/ltp_20180118.bb     |   1 +
 ...able-errors-due-to-new-gcc8-warnings.patch |  30 +
 ...tead-of-memcpy-on-overlapping-region.patch |  31 +
 meta/recipes-extended/mdadm/mdadm_4.0.bb      |   2 +
 ...valid-suffix-on-literal-C-11-warning.patch |  73 ++
 meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb |   4 +-
 .../rpcsvc-proto/rpcsvc-proto.bb              |  37 +
 .../0001-Use-cross-compiled-rpcgen.patch      |  26 +
 .../tcp-wrappers/tcp-wrappers_7.6.bb          |   2 +-
 .../watchdog/watchdog_5.15.bb                 |  11 +-
 meta/recipes-extended/xinetd/xinetd_2.3.15.bb |   7 +-
 meta/recipes-graphics/mesa/mesa.inc           |   1 +
 .../{alsa-lib_1.1.5.bb => alsa-lib_1.1.6.bb}  |   9 +-
 ...served-user-defined-literal-warnings.patch |  28 +
 .../alsa/alsa-tools/autotools.patch           |  42 +-
 ...lsa-tools_1.1.5.bb => alsa-tools_1.1.6.bb} |  25 +-
 .../webkitgtk/detect-gstreamer-gl.patch       |  20 +
 meta/recipes-sato/webkit/webkitgtk_2.20.0.bb  |   1 +
 meta/recipes-support/libunwind/libunwind.inc  |   2 -
 65 files changed, 933 insertions(+), 1612 deletions(-)
 delete mode 100644 meta/recipes-core/glibc/glibc/0021-eglibc-Install-PIC-archives.patch
 create mode 100644 meta/recipes-core/musl/libssp-nonshared.bb
 create mode 100644 meta/recipes-core/musl/libssp-nonshared/ssp-local.c
 create mode 100644 meta/recipes-devtools/gcc/gcc-7.3/0049-gcc-override-TARGET_LIBC_PROVIDES_SSP.patch
 rename meta/recipes-devtools/gdb/{gdb-8.0.1.inc => gdb-8.1.inc} (85%)
 rename meta/recipes-devtools/gdb/{gdb-cross-canadian_8.0.1.bb => gdb-cross-canadian_8.1.bb} (100%)
 rename meta/recipes-devtools/gdb/{gdb-cross_8.0.1.bb => gdb-cross_8.1.bb} (100%)
 delete mode 100644 meta/recipes-devtools/gdb/gdb/0012-Unbreak-GDBserver-build-for-x32.patch
 rename meta/recipes-devtools/gdb/{gdb_8.0.1.bb => gdb_8.1.bb} (100%)
 rename meta/recipes-devtools/strace/{strace_4.20.bb => strace_4.22.bb} (85%)
 delete mode 100644 meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch
 delete mode 100644 meta/recipes-extended/libnsl/libnsl2/0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch
 delete mode 100644 meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch
 create mode 100644 meta/recipes-extended/libnss-nis/libnss-nis.bb
 delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/0001-include-stdint.h-for-uintptr_t.patch
 delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch
 delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/Use-netbsd-queue.h.patch
 delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/export_key_secretkey_is_set.patch
 create mode 100644 meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.4-rc1.patch
 create mode 100644 meta/recipes-extended/libtirpc/libtirpc/musl.patch
 rename meta/recipes-extended/libtirpc/{libtirpc_1.0.2.bb => libtirpc_1.0.3.bb} (63%)
 create mode 100644 meta/recipes-extended/ltp/ltp/0001-Disable-rpc01-on-glibc-and-musl.patch
 create mode 100644 meta/recipes-extended/mdadm/files/0001-Disable-errors-due-to-new-gcc8-warnings.patch
 create mode 100644 meta/recipes-extended/mdadm/files/0001-use-memmove-instead-of-memcpy-on-overlapping-region.patch
 create mode 100644 meta/recipes-extended/pbzip2/pbzip2/0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch
 create mode 100644 meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb
 create mode 100644 meta/recipes-extended/rpcsvc-proto/rpcsvc-proto/0001-Use-cross-compiled-rpcgen.patch
 rename meta/recipes-multimedia/alsa/{alsa-lib_1.1.5.bb => alsa-lib_1.1.6.bb} (75%)
 create mode 100644 meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch
 rename meta/recipes-multimedia/alsa/{alsa-tools_1.1.5.bb => alsa-tools_1.1.6.bb} (62%)
 create mode 100644 meta/recipes-sato/webkit/webkitgtk/detect-gstreamer-gl.patch

-- 
2.17.0



^ permalink raw reply	[flat|nested] 29+ messages in thread

* [PATCH 12/27] libtirpc: Upgrade to 1.0.4-tc1
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (10 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 11/27] libnss-nis: " Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 13/27] libnsl: Upgrade to tip beyond 1.2.0 release Khem Raj
                   ` (15 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

Drop backported patches
Redo musl support patch such that it
can be applied universally

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../0001-include-stdint.h-for-uintptr_t.patch |  29 -
 ...0001-replace-__bzero-with-memset-API.patch |  64 --
 .../libtirpc/Use-netbsd-queue.h.patch         | 878 ------------------
 .../export_key_secretkey_is_set.patch         |  31 -
 .../libtirpc/libtirpc-1.0.4-rc1.patch         | 103 ++
 .../libtirpc/libtirpc/musl.patch              |  18 +
 .../{libtirpc_1.0.2.bb => libtirpc_1.0.3.bb}  |  13 +-
 7 files changed, 125 insertions(+), 1011 deletions(-)
 delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/0001-include-stdint.h-for-uintptr_t.patch
 delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch
 delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/Use-netbsd-queue.h.patch
 delete mode 100644 meta/recipes-extended/libtirpc/libtirpc/export_key_secretkey_is_set.patch
 create mode 100644 meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.4-rc1.patch
 create mode 100644 meta/recipes-extended/libtirpc/libtirpc/musl.patch
 rename meta/recipes-extended/libtirpc/{libtirpc_1.0.2.bb => libtirpc_1.0.3.bb} (63%)

diff --git a/meta/recipes-extended/libtirpc/libtirpc/0001-include-stdint.h-for-uintptr_t.patch b/meta/recipes-extended/libtirpc/libtirpc/0001-include-stdint.h-for-uintptr_t.patch
deleted file mode 100644
index 7e3e2f86ad..0000000000
--- a/meta/recipes-extended/libtirpc/libtirpc/0001-include-stdint.h-for-uintptr_t.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From acb9a37977cf0a9630eac74af9adebf35e38e719 Mon Sep 17 00:00:00 2001
-From: Thorsten Kukuk <kukuk@thkukuk.de>
-Date: Tue, 14 Nov 2017 10:39:08 -0500
-Subject: [PATCH] Include stdint.h from xdr_sizeof.c to avoid missing
- declaration errors.
-
-Signed-off-by: Thorsten Kukuk <kukuk@suse.de>
-Signed-off-by: Steve Dickson <steved@redhat.com>
----
- src/xdr_sizeof.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/xdr_sizeof.c b/src/xdr_sizeof.c
-index d23fbd1..79d6707 100644
---- a/src/xdr_sizeof.c
-+++ b/src/xdr_sizeof.c
-@@ -39,6 +39,7 @@
- #include <rpc/xdr.h>
- #include <sys/types.h>
- #include <stdlib.h>
-+#include <stdint.h>
- #include "un-namespace.h"
- 
- /* ARGSUSED */
--- 
-1.8.3.1
diff --git a/meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch b/meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch
deleted file mode 100644
index 7ae19cb319..0000000000
--- a/meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 5356b63005e9d8169e0399cb76f26fbd29a78dee Mon Sep 17 00:00:00 2001
-From: Joshua Kinard <kumba@gentoo.org>
-Date: Wed, 23 Aug 2017 14:31:36 -0400
-Subject: [PATCH] Replace bzero() calls with equivalent memset() calls
-
-As annotated in the bzero(3) man page, bzero() was marked as LEGACY in
-POSIX.1-2001 and removed in POSIX.1-2008, and should be replaced with
-memset() calls to write zeros to a memory region.  The attached patch
-replaces two bzero() calls and one __bzero() call in libtirpc with
-equivalent memset() calls.  The latter replacement fixes a compile error
-under uclibc-ng, which lacks a definition for __bzero()
-
-Signed-off-by: Joshua Kinard <kumba@gentoo.org>
-Signed-off-by: Steve Dickson <steved@redhat.com>
----
- src/auth_time.c    | 2 +-
- src/des_impl.c     | 2 +-
- src/svc_auth_des.c | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/auth_time.c b/src/auth_time.c
-index 7f83ab4..69400bc 100644
---- a/src/auth_time.c
-+++ b/src/auth_time.c
-@@ -317,7 +317,7 @@ __rpc_get_time_offset(td, srv, thost, uaddr, netid)
- 	sprintf(ipuaddr, "%d.%d.%d.%d.0.111", a1, a2, a3, a4);
- 	useua = &ipuaddr[0];
- 
--	bzero((char *)&sin, sizeof(sin));
-+	memset(&sin, 0, sizeof(sin));
- 	if (uaddr_to_sockaddr(useua, &sin)) {
- 		msg("unable to translate uaddr to sockaddr.");
- 		if (needfree)
-diff --git a/src/des_impl.c b/src/des_impl.c
-index 9dbccaf..15bec2a 100644
---- a/src/des_impl.c
-+++ b/src/des_impl.c
-@@ -588,7 +588,7 @@ _des_crypt (char *buf, unsigned len, struct desparams *desp)
-     }
-   tin0 = tin1 = tout0 = tout1 = xor0 = xor1 = 0;
-   tbuf[0] = tbuf[1] = 0;
--  __bzero (schedule, sizeof (schedule));
-+  memset (schedule, 0, sizeof (schedule));
- 
-   return (1);
- }
-diff --git a/src/svc_auth_des.c b/src/svc_auth_des.c
-index 2e90146..19a7c60 100644
---- a/src/svc_auth_des.c
-+++ b/src/svc_auth_des.c
-@@ -356,7 +356,7 @@ cache_init()
- 
- 	authdes_cache = (struct cache_entry *)
- 		mem_alloc(sizeof(struct cache_entry) * AUTHDES_CACHESZ);	
--	bzero((char *)authdes_cache, 
-+	memset(authdes_cache, 0,
- 		sizeof(struct cache_entry) * AUTHDES_CACHESZ);
- 
- 	authdes_lru = (short *)mem_alloc(sizeof(short) * AUTHDES_CACHESZ);
--- 
-1.8.3.1
diff --git a/meta/recipes-extended/libtirpc/libtirpc/Use-netbsd-queue.h.patch b/meta/recipes-extended/libtirpc/libtirpc/Use-netbsd-queue.h.patch
deleted file mode 100644
index f93223feb4..0000000000
--- a/meta/recipes-extended/libtirpc/libtirpc/Use-netbsd-queue.h.patch
+++ /dev/null
@@ -1,878 +0,0 @@
-musl does not provide sys/queue.h implementation. Borrow queue.h from
-the NetBSD project
-http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/sys/queue.h?rev=1.68
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
-diff -Naur libtirpc-1.0.1-orig/src/clnt_bcast.c libtirpc-1.0.1/src/clnt_bcast.c
---- libtirpc-1.0.1-orig/src/clnt_bcast.c	2015-10-30 17:15:14.000000000 +0200
-+++ libtirpc-1.0.1/src/clnt_bcast.c	2015-12-21 17:03:52.066008311 +0200
-@@ -40,7 +40,6 @@
-  */
- #include <sys/socket.h>
- #include <sys/types.h>
--#include <sys/queue.h>
- 
- #include <net/if.h>
- #include <netinet/in.h>
-@@ -62,6 +61,7 @@
- #include <err.h>
- #include <string.h>
- 
-+#include "queue.h"
- #include "rpc_com.h"
- #include "debug.h"
- 
-diff -Naur libtirpc-1.0.1-orig/tirpc/queue.h libtirpc-1.0.1/tirpc/queue.h
---- libtirpc-1.0.1-orig/tirpc/queue.h	1970-01-01 02:00:00.000000000 +0200
-+++ libtirpc-1.0.1/tirpc/queue.h	2015-12-21 17:02:44.427853905 +0200
-@@ -0,0 +1,846 @@
-+/*	$NetBSD: queue.h,v 1.68 2014/11/19 08:10:01 uebayasi Exp $	*/
-+
-+/*
-+ * Copyright (c) 1991, 1993
-+ *	The Regents of the University of California.  All rights reserved.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ * 1. Redistributions of source code must retain the above copyright
-+ *    notice, this list of conditions and the following disclaimer.
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ *    notice, this list of conditions and the following disclaimer in the
-+ *    documentation and/or other materials provided with the distribution.
-+ * 3. Neither the name of the University nor the names of its contributors
-+ *    may be used to endorse or promote products derived from this software
-+ *    without specific prior written permission.
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-+ * SUCH DAMAGE.
-+ *
-+ *	@(#)queue.h	8.5 (Berkeley) 8/20/94
-+ */
-+
-+#ifndef	_SYS_QUEUE_H_
-+#define	_SYS_QUEUE_H_
-+
-+/*
-+ * This file defines five types of data structures: singly-linked lists,
-+ * lists, simple queues, tail queues, and circular queues.
-+ *
-+ * A singly-linked list is headed by a single forward pointer. The
-+ * elements are singly linked for minimum space and pointer manipulation
-+ * overhead at the expense of O(n) removal for arbitrary elements. New
-+ * elements can be added to the list after an existing element or at the
-+ * head of the list.  Elements being removed from the head of the list
-+ * should use the explicit macro for this purpose for optimum
-+ * efficiency. A singly-linked list may only be traversed in the forward
-+ * direction.  Singly-linked lists are ideal for applications with large
-+ * datasets and few or no removals or for implementing a LIFO queue.
-+ *
-+ * A list is headed by a single forward pointer (or an array of forward
-+ * pointers for a hash table header). The elements are doubly linked
-+ * so that an arbitrary element can be removed without a need to
-+ * traverse the list. New elements can be added to the list before
-+ * or after an existing element or at the head of the list. A list
-+ * may only be traversed in the forward direction.
-+ *
-+ * A simple queue is headed by a pair of pointers, one the head of the
-+ * list and the other to the tail of the list. The elements are singly
-+ * linked to save space, so elements can only be removed from the
-+ * head of the list. New elements can be added to the list after
-+ * an existing element, at the head of the list, or at the end of the
-+ * list. A simple queue may only be traversed in the forward direction.
-+ *
-+ * A tail queue is headed by a pair of pointers, one to the head of the
-+ * list and the other to the tail of the list. The elements are doubly
-+ * linked so that an arbitrary element can be removed without a need to
-+ * traverse the list. New elements can be added to the list before or
-+ * after an existing element, at the head of the list, or at the end of
-+ * the list. A tail queue may be traversed in either direction.
-+ *
-+ * A circle queue is headed by a pair of pointers, one to the head of the
-+ * list and the other to the tail of the list. The elements are doubly
-+ * linked so that an arbitrary element can be removed without a need to
-+ * traverse the list. New elements can be added to the list before or after
-+ * an existing element, at the head of the list, or at the end of the list.
-+ * A circle queue may be traversed in either direction, but has a more
-+ * complex end of list detection.
-+ *
-+ * For details on the use of these macros, see the queue(3) manual page.
-+ */
-+
-+/*
-+ * Include the definition of NULL only on NetBSD because sys/null.h
-+ * is not available elsewhere.  This conditional makes the header
-+ * portable and it can simply be dropped verbatim into any system.
-+ * The caveat is that on other systems some other header
-+ * must provide NULL before the macros can be used.
-+ */
-+#ifdef __NetBSD__
-+#include <sys/null.h>
-+#endif
-+
-+#if defined(QUEUEDEBUG)
-+# if defined(_KERNEL)
-+#  define QUEUEDEBUG_ABORT(...) panic(__VA_ARGS__)
-+# else
-+#  include <err.h>
-+#  define QUEUEDEBUG_ABORT(...) err(1, __VA_ARGS__)
-+# endif
-+#endif
-+
-+/*
-+ * Singly-linked List definitions.
-+ */
-+#define	SLIST_HEAD(name, type)						\
-+struct name {								\
-+	struct type *slh_first;	/* first element */			\
-+}
-+
-+#define	SLIST_HEAD_INITIALIZER(head)					\
-+	{ NULL }
-+
-+#define	SLIST_ENTRY(type)						\
-+struct {								\
-+	struct type *sle_next;	/* next element */			\
-+}
-+
-+/*
-+ * Singly-linked List access methods.
-+ */
-+#define	SLIST_FIRST(head)	((head)->slh_first)
-+#define	SLIST_END(head)		NULL
-+#define	SLIST_EMPTY(head)	((head)->slh_first == NULL)
-+#define	SLIST_NEXT(elm, field)	((elm)->field.sle_next)
-+
-+#define	SLIST_FOREACH(var, head, field)					\
-+	for((var) = (head)->slh_first;					\
-+	    (var) != SLIST_END(head);					\
-+	    (var) = (var)->field.sle_next)
-+
-+#define	SLIST_FOREACH_SAFE(var, head, field, tvar)			\
-+	for ((var) = SLIST_FIRST((head));				\
-+	    (var) != SLIST_END(head) &&					\
-+	    ((tvar) = SLIST_NEXT((var), field), 1);			\
-+	    (var) = (tvar))
-+
-+/*
-+ * Singly-linked List functions.
-+ */
-+#define	SLIST_INIT(head) do {						\
-+	(head)->slh_first = SLIST_END(head);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SLIST_INSERT_AFTER(slistelm, elm, field) do {			\
-+	(elm)->field.sle_next = (slistelm)->field.sle_next;		\
-+	(slistelm)->field.sle_next = (elm);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SLIST_INSERT_HEAD(head, elm, field) do {			\
-+	(elm)->field.sle_next = (head)->slh_first;			\
-+	(head)->slh_first = (elm);					\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SLIST_REMOVE_AFTER(slistelm, field) do {			\
-+	(slistelm)->field.sle_next =					\
-+	    SLIST_NEXT(SLIST_NEXT((slistelm), field), field);		\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SLIST_REMOVE_HEAD(head, field) do {				\
-+	(head)->slh_first = (head)->slh_first->field.sle_next;		\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SLIST_REMOVE(head, elm, type, field) do {			\
-+	if ((head)->slh_first == (elm)) {				\
-+		SLIST_REMOVE_HEAD((head), field);			\
-+	}								\
-+	else {								\
-+		struct type *curelm = (head)->slh_first;		\
-+		while(curelm->field.sle_next != (elm))			\
-+			curelm = curelm->field.sle_next;		\
-+		curelm->field.sle_next =				\
-+		    curelm->field.sle_next->field.sle_next;		\
-+	}								\
-+} while (/*CONSTCOND*/0)
-+
-+
-+/*
-+ * List definitions.
-+ */
-+#define	LIST_HEAD(name, type)						\
-+struct name {								\
-+	struct type *lh_first;	/* first element */			\
-+}
-+
-+#define	LIST_HEAD_INITIALIZER(head)					\
-+	{ NULL }
-+
-+#define	LIST_ENTRY(type)						\
-+struct {								\
-+	struct type *le_next;	/* next element */			\
-+	struct type **le_prev;	/* address of previous next element */	\
-+}
-+
-+/*
-+ * List access methods.
-+ */
-+#define	LIST_FIRST(head)		((head)->lh_first)
-+#define	LIST_END(head)			NULL
-+#define	LIST_EMPTY(head)		((head)->lh_first == LIST_END(head))
-+#define	LIST_NEXT(elm, field)		((elm)->field.le_next)
-+
-+#define	LIST_FOREACH(var, head, field)					\
-+	for ((var) = ((head)->lh_first);				\
-+	    (var) != LIST_END(head);					\
-+	    (var) = ((var)->field.le_next))
-+
-+#define	LIST_FOREACH_SAFE(var, head, field, tvar)			\
-+	for ((var) = LIST_FIRST((head));				\
-+	    (var) != LIST_END(head) &&					\
-+	    ((tvar) = LIST_NEXT((var), field), 1);			\
-+	    (var) = (tvar))
-+
-+#define	LIST_MOVE(head1, head2) do {					\
-+	LIST_INIT((head2));						\
-+	if (!LIST_EMPTY((head1))) {					\
-+		(head2)->lh_first = (head1)->lh_first;			\
-+		LIST_INIT((head1));					\
-+	}								\
-+} while (/*CONSTCOND*/0)
-+
-+/*
-+ * List functions.
-+ */
-+#if defined(QUEUEDEBUG)
-+#define	QUEUEDEBUG_LIST_INSERT_HEAD(head, elm, field)			\
-+	if ((head)->lh_first &&						\
-+	    (head)->lh_first->field.le_prev != &(head)->lh_first)	\
-+		QUEUEDEBUG_ABORT("LIST_INSERT_HEAD %p %s:%d", (head),	\
-+		    __FILE__, __LINE__);
-+#define	QUEUEDEBUG_LIST_OP(elm, field)					\
-+	if ((elm)->field.le_next &&					\
-+	    (elm)->field.le_next->field.le_prev !=			\
-+	    &(elm)->field.le_next)					\
-+		QUEUEDEBUG_ABORT("LIST_* forw %p %s:%d", (elm),		\
-+		    __FILE__, __LINE__);				\
-+	if (*(elm)->field.le_prev != (elm))				\
-+		QUEUEDEBUG_ABORT("LIST_* back %p %s:%d", (elm),		\
-+		    __FILE__, __LINE__);
-+#define	QUEUEDEBUG_LIST_POSTREMOVE(elm, field)				\
-+	(elm)->field.le_next = (void *)1L;				\
-+	(elm)->field.le_prev = (void *)1L;
-+#else
-+#define	QUEUEDEBUG_LIST_INSERT_HEAD(head, elm, field)
-+#define	QUEUEDEBUG_LIST_OP(elm, field)
-+#define	QUEUEDEBUG_LIST_POSTREMOVE(elm, field)
-+#endif
-+
-+#define	LIST_INIT(head) do {						\
-+	(head)->lh_first = LIST_END(head);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	LIST_INSERT_AFTER(listelm, elm, field) do {			\
-+	QUEUEDEBUG_LIST_OP((listelm), field)				\
-+	if (((elm)->field.le_next = (listelm)->field.le_next) != 	\
-+	    LIST_END(head))						\
-+		(listelm)->field.le_next->field.le_prev =		\
-+		    &(elm)->field.le_next;				\
-+	(listelm)->field.le_next = (elm);				\
-+	(elm)->field.le_prev = &(listelm)->field.le_next;		\
-+} while (/*CONSTCOND*/0)
-+
-+#define	LIST_INSERT_BEFORE(listelm, elm, field) do {			\
-+	QUEUEDEBUG_LIST_OP((listelm), field)				\
-+	(elm)->field.le_prev = (listelm)->field.le_prev;		\
-+	(elm)->field.le_next = (listelm);				\
-+	*(listelm)->field.le_prev = (elm);				\
-+	(listelm)->field.le_prev = &(elm)->field.le_next;		\
-+} while (/*CONSTCOND*/0)
-+
-+#define	LIST_INSERT_HEAD(head, elm, field) do {				\
-+	QUEUEDEBUG_LIST_INSERT_HEAD((head), (elm), field)		\
-+	if (((elm)->field.le_next = (head)->lh_first) != LIST_END(head))\
-+		(head)->lh_first->field.le_prev = &(elm)->field.le_next;\
-+	(head)->lh_first = (elm);					\
-+	(elm)->field.le_prev = &(head)->lh_first;			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	LIST_REMOVE(elm, field) do {					\
-+	QUEUEDEBUG_LIST_OP((elm), field)				\
-+	if ((elm)->field.le_next != NULL)				\
-+		(elm)->field.le_next->field.le_prev = 			\
-+		    (elm)->field.le_prev;				\
-+	*(elm)->field.le_prev = (elm)->field.le_next;			\
-+	QUEUEDEBUG_LIST_POSTREMOVE((elm), field)			\
-+} while (/*CONSTCOND*/0)
-+
-+#define LIST_REPLACE(elm, elm2, field) do {				\
-+	if (((elm2)->field.le_next = (elm)->field.le_next) != NULL)	\
-+		(elm2)->field.le_next->field.le_prev =			\
-+		    &(elm2)->field.le_next;				\
-+	(elm2)->field.le_prev = (elm)->field.le_prev;			\
-+	*(elm2)->field.le_prev = (elm2);				\
-+	QUEUEDEBUG_LIST_POSTREMOVE((elm), field)			\
-+} while (/*CONSTCOND*/0)
-+
-+/*
-+ * Simple queue definitions.
-+ */
-+#define	SIMPLEQ_HEAD(name, type)					\
-+struct name {								\
-+	struct type *sqh_first;	/* first element */			\
-+	struct type **sqh_last;	/* addr of last next element */		\
-+}
-+
-+#define	SIMPLEQ_HEAD_INITIALIZER(head)					\
-+	{ NULL, &(head).sqh_first }
-+
-+#define	SIMPLEQ_ENTRY(type)						\
-+struct {								\
-+	struct type *sqe_next;	/* next element */			\
-+}
-+
-+/*
-+ * Simple queue access methods.
-+ */
-+#define	SIMPLEQ_FIRST(head)		((head)->sqh_first)
-+#define	SIMPLEQ_END(head)		NULL
-+#define	SIMPLEQ_EMPTY(head)		((head)->sqh_first == SIMPLEQ_END(head))
-+#define	SIMPLEQ_NEXT(elm, field)	((elm)->field.sqe_next)
-+
-+#define	SIMPLEQ_FOREACH(var, head, field)				\
-+	for ((var) = ((head)->sqh_first);				\
-+	    (var) != SIMPLEQ_END(head);					\
-+	    (var) = ((var)->field.sqe_next))
-+
-+#define	SIMPLEQ_FOREACH_SAFE(var, head, field, next)			\
-+	for ((var) = ((head)->sqh_first);				\
-+	    (var) != SIMPLEQ_END(head) &&				\
-+	    ((next = ((var)->field.sqe_next)), 1);			\
-+	    (var) = (next))
-+
-+/*
-+ * Simple queue functions.
-+ */
-+#define	SIMPLEQ_INIT(head) do {						\
-+	(head)->sqh_first = NULL;					\
-+	(head)->sqh_last = &(head)->sqh_first;				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SIMPLEQ_INSERT_HEAD(head, elm, field) do {			\
-+	if (((elm)->field.sqe_next = (head)->sqh_first) == NULL)	\
-+		(head)->sqh_last = &(elm)->field.sqe_next;		\
-+	(head)->sqh_first = (elm);					\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SIMPLEQ_INSERT_TAIL(head, elm, field) do {			\
-+	(elm)->field.sqe_next = NULL;					\
-+	*(head)->sqh_last = (elm);					\
-+	(head)->sqh_last = &(elm)->field.sqe_next;			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do {		\
-+	if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
-+		(head)->sqh_last = &(elm)->field.sqe_next;		\
-+	(listelm)->field.sqe_next = (elm);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SIMPLEQ_REMOVE_HEAD(head, field) do {				\
-+	if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \
-+		(head)->sqh_last = &(head)->sqh_first;			\
-+} while (/*CONSTCOND*/0)
-+
-+#define SIMPLEQ_REMOVE_AFTER(head, elm, field) do {			\
-+	if (((elm)->field.sqe_next = (elm)->field.sqe_next->field.sqe_next) \
-+	    == NULL)							\
-+		(head)->sqh_last = &(elm)->field.sqe_next;		\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SIMPLEQ_REMOVE(head, elm, type, field) do {			\
-+	if ((head)->sqh_first == (elm)) {				\
-+		SIMPLEQ_REMOVE_HEAD((head), field);			\
-+	} else {							\
-+		struct type *curelm = (head)->sqh_first;		\
-+		while (curelm->field.sqe_next != (elm))			\
-+			curelm = curelm->field.sqe_next;		\
-+		if ((curelm->field.sqe_next =				\
-+			curelm->field.sqe_next->field.sqe_next) == NULL) \
-+			    (head)->sqh_last = &(curelm)->field.sqe_next; \
-+	}								\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SIMPLEQ_CONCAT(head1, head2) do {				\
-+	if (!SIMPLEQ_EMPTY((head2))) {					\
-+		*(head1)->sqh_last = (head2)->sqh_first;		\
-+		(head1)->sqh_last = (head2)->sqh_last;		\
-+		SIMPLEQ_INIT((head2));					\
-+	}								\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SIMPLEQ_LAST(head, type, field)					\
-+	(SIMPLEQ_EMPTY((head)) ?						\
-+		NULL :							\
-+	        ((struct type *)(void *)				\
-+		((char *)((head)->sqh_last) - offsetof(struct type, field))))
-+
-+/*
-+ * Tail queue definitions.
-+ */
-+#define	_TAILQ_HEAD(name, type, qual)					\
-+struct name {								\
-+	qual type *tqh_first;		/* first element */		\
-+	qual type *qual *tqh_last;	/* addr of last next element */	\
-+}
-+#define TAILQ_HEAD(name, type)	_TAILQ_HEAD(name, struct type,)
-+
-+#define	TAILQ_HEAD_INITIALIZER(head)					\
-+	{ TAILQ_END(head), &(head).tqh_first }
-+
-+#define	_TAILQ_ENTRY(type, qual)					\
-+struct {								\
-+	qual type *tqe_next;		/* next element */		\
-+	qual type *qual *tqe_prev;	/* address of previous next element */\
-+}
-+#define TAILQ_ENTRY(type)	_TAILQ_ENTRY(struct type,)
-+
-+/*
-+ * Tail queue access methods.
-+ */
-+#define	TAILQ_FIRST(head)		((head)->tqh_first)
-+#define	TAILQ_END(head)			(NULL)
-+#define	TAILQ_NEXT(elm, field)		((elm)->field.tqe_next)
-+#define	TAILQ_LAST(head, headname) \
-+	(*(((struct headname *)((head)->tqh_last))->tqh_last))
-+#define	TAILQ_PREV(elm, headname, field) \
-+	(*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
-+#define	TAILQ_EMPTY(head)		(TAILQ_FIRST(head) == TAILQ_END(head))
-+
-+
-+#define	TAILQ_FOREACH(var, head, field)					\
-+	for ((var) = ((head)->tqh_first);				\
-+	    (var) != TAILQ_END(head);					\
-+	    (var) = ((var)->field.tqe_next))
-+
-+#define	TAILQ_FOREACH_SAFE(var, head, field, next)			\
-+	for ((var) = ((head)->tqh_first);				\
-+	    (var) != TAILQ_END(head) &&					\
-+	    ((next) = TAILQ_NEXT(var, field), 1); (var) = (next))
-+
-+#define	TAILQ_FOREACH_REVERSE(var, head, headname, field)		\
-+	for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last));\
-+	    (var) != TAILQ_END(head);					\
-+	    (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last)))
-+
-+#define	TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, prev)	\
-+	for ((var) = TAILQ_LAST((head), headname);			\
-+	    (var) != TAILQ_END(head) && 				\
-+	    ((prev) = TAILQ_PREV((var), headname, field), 1); (var) = (prev))
-+
-+/*
-+ * Tail queue functions.
-+ */
-+#if defined(QUEUEDEBUG)
-+#define	QUEUEDEBUG_TAILQ_INSERT_HEAD(head, elm, field)			\
-+	if ((head)->tqh_first &&					\
-+	    (head)->tqh_first->field.tqe_prev != &(head)->tqh_first)	\
-+		QUEUEDEBUG_ABORT("TAILQ_INSERT_HEAD %p %s:%d", (head),	\
-+		    __FILE__, __LINE__);
-+#define	QUEUEDEBUG_TAILQ_INSERT_TAIL(head, elm, field)			\
-+	if (*(head)->tqh_last != NULL)					\
-+		QUEUEDEBUG_ABORT("TAILQ_INSERT_TAIL %p %s:%d", (head),	\
-+		    __FILE__, __LINE__);
-+#define	QUEUEDEBUG_TAILQ_OP(elm, field)					\
-+	if ((elm)->field.tqe_next &&					\
-+	    (elm)->field.tqe_next->field.tqe_prev !=			\
-+	    &(elm)->field.tqe_next)					\
-+		QUEUEDEBUG_ABORT("TAILQ_* forw %p %s:%d", (elm),	\
-+		    __FILE__, __LINE__);				\
-+	if (*(elm)->field.tqe_prev != (elm))				\
-+		QUEUEDEBUG_ABORT("TAILQ_* back %p %s:%d", (elm),	\
-+		    __FILE__, __LINE__);
-+#define	QUEUEDEBUG_TAILQ_PREREMOVE(head, elm, field)			\
-+	if ((elm)->field.tqe_next == NULL &&				\
-+	    (head)->tqh_last != &(elm)->field.tqe_next)			\
-+		QUEUEDEBUG_ABORT("TAILQ_PREREMOVE head %p elm %p %s:%d",\
-+		    (head), (elm), __FILE__, __LINE__);
-+#define	QUEUEDEBUG_TAILQ_POSTREMOVE(elm, field)				\
-+	(elm)->field.tqe_next = (void *)1L;				\
-+	(elm)->field.tqe_prev = (void *)1L;
-+#else
-+#define	QUEUEDEBUG_TAILQ_INSERT_HEAD(head, elm, field)
-+#define	QUEUEDEBUG_TAILQ_INSERT_TAIL(head, elm, field)
-+#define	QUEUEDEBUG_TAILQ_OP(elm, field)
-+#define	QUEUEDEBUG_TAILQ_PREREMOVE(head, elm, field)
-+#define	QUEUEDEBUG_TAILQ_POSTREMOVE(elm, field)
-+#endif
-+
-+#define	TAILQ_INIT(head) do {						\
-+	(head)->tqh_first = TAILQ_END(head);				\
-+	(head)->tqh_last = &(head)->tqh_first;				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	TAILQ_INSERT_HEAD(head, elm, field) do {			\
-+	QUEUEDEBUG_TAILQ_INSERT_HEAD((head), (elm), field)		\
-+	if (((elm)->field.tqe_next = (head)->tqh_first) != TAILQ_END(head))\
-+		(head)->tqh_first->field.tqe_prev =			\
-+		    &(elm)->field.tqe_next;				\
-+	else								\
-+		(head)->tqh_last = &(elm)->field.tqe_next;		\
-+	(head)->tqh_first = (elm);					\
-+	(elm)->field.tqe_prev = &(head)->tqh_first;			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	TAILQ_INSERT_TAIL(head, elm, field) do {			\
-+	QUEUEDEBUG_TAILQ_INSERT_TAIL((head), (elm), field)		\
-+	(elm)->field.tqe_next = TAILQ_END(head);			\
-+	(elm)->field.tqe_prev = (head)->tqh_last;			\
-+	*(head)->tqh_last = (elm);					\
-+	(head)->tqh_last = &(elm)->field.tqe_next;			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	TAILQ_INSERT_AFTER(head, listelm, elm, field) do {		\
-+	QUEUEDEBUG_TAILQ_OP((listelm), field)				\
-+	if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != 	\
-+	    TAILQ_END(head))						\
-+		(elm)->field.tqe_next->field.tqe_prev = 		\
-+		    &(elm)->field.tqe_next;				\
-+	else								\
-+		(head)->tqh_last = &(elm)->field.tqe_next;		\
-+	(listelm)->field.tqe_next = (elm);				\
-+	(elm)->field.tqe_prev = &(listelm)->field.tqe_next;		\
-+} while (/*CONSTCOND*/0)
-+
-+#define	TAILQ_INSERT_BEFORE(listelm, elm, field) do {			\
-+	QUEUEDEBUG_TAILQ_OP((listelm), field)				\
-+	(elm)->field.tqe_prev = (listelm)->field.tqe_prev;		\
-+	(elm)->field.tqe_next = (listelm);				\
-+	*(listelm)->field.tqe_prev = (elm);				\
-+	(listelm)->field.tqe_prev = &(elm)->field.tqe_next;		\
-+} while (/*CONSTCOND*/0)
-+
-+#define	TAILQ_REMOVE(head, elm, field) do {				\
-+	QUEUEDEBUG_TAILQ_PREREMOVE((head), (elm), field)		\
-+	QUEUEDEBUG_TAILQ_OP((elm), field)				\
-+	if (((elm)->field.tqe_next) != TAILQ_END(head))			\
-+		(elm)->field.tqe_next->field.tqe_prev = 		\
-+		    (elm)->field.tqe_prev;				\
-+	else								\
-+		(head)->tqh_last = (elm)->field.tqe_prev;		\
-+	*(elm)->field.tqe_prev = (elm)->field.tqe_next;			\
-+	QUEUEDEBUG_TAILQ_POSTREMOVE((elm), field);			\
-+} while (/*CONSTCOND*/0)
-+
-+#define TAILQ_REPLACE(head, elm, elm2, field) do {			\
-+        if (((elm2)->field.tqe_next = (elm)->field.tqe_next) != 	\
-+	    TAILQ_END(head))   						\
-+                (elm2)->field.tqe_next->field.tqe_prev =		\
-+                    &(elm2)->field.tqe_next;				\
-+        else								\
-+                (head)->tqh_last = &(elm2)->field.tqe_next;		\
-+        (elm2)->field.tqe_prev = (elm)->field.tqe_prev;			\
-+        *(elm2)->field.tqe_prev = (elm2);				\
-+	QUEUEDEBUG_TAILQ_POSTREMOVE((elm), field);			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	TAILQ_CONCAT(head1, head2, field) do {				\
-+	if (!TAILQ_EMPTY(head2)) {					\
-+		*(head1)->tqh_last = (head2)->tqh_first;		\
-+		(head2)->tqh_first->field.tqe_prev = (head1)->tqh_last;	\
-+		(head1)->tqh_last = (head2)->tqh_last;			\
-+		TAILQ_INIT((head2));					\
-+	}								\
-+} while (/*CONSTCOND*/0)
-+
-+/*
-+ * Singly-linked Tail queue declarations.
-+ */
-+#define	STAILQ_HEAD(name, type)						\
-+struct name {								\
-+	struct type *stqh_first;	/* first element */		\
-+	struct type **stqh_last;	/* addr of last next element */	\
-+}
-+
-+#define	STAILQ_HEAD_INITIALIZER(head)					\
-+	{ NULL, &(head).stqh_first }
-+
-+#define	STAILQ_ENTRY(type)						\
-+struct {								\
-+	struct type *stqe_next;	/* next element */			\
-+}
-+
-+/*
-+ * Singly-linked Tail queue access methods.
-+ */
-+#define	STAILQ_FIRST(head)	((head)->stqh_first)
-+#define	STAILQ_END(head)	NULL
-+#define	STAILQ_NEXT(elm, field)	((elm)->field.stqe_next)
-+#define	STAILQ_EMPTY(head)	(STAILQ_FIRST(head) == STAILQ_END(head))
-+
-+/*
-+ * Singly-linked Tail queue functions.
-+ */
-+#define	STAILQ_INIT(head) do {						\
-+	(head)->stqh_first = NULL;					\
-+	(head)->stqh_last = &(head)->stqh_first;				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	STAILQ_INSERT_HEAD(head, elm, field) do {			\
-+	if (((elm)->field.stqe_next = (head)->stqh_first) == NULL)	\
-+		(head)->stqh_last = &(elm)->field.stqe_next;		\
-+	(head)->stqh_first = (elm);					\
-+} while (/*CONSTCOND*/0)
-+
-+#define	STAILQ_INSERT_TAIL(head, elm, field) do {			\
-+	(elm)->field.stqe_next = NULL;					\
-+	*(head)->stqh_last = (elm);					\
-+	(head)->stqh_last = &(elm)->field.stqe_next;			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	STAILQ_INSERT_AFTER(head, listelm, elm, field) do {		\
-+	if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\
-+		(head)->stqh_last = &(elm)->field.stqe_next;		\
-+	(listelm)->field.stqe_next = (elm);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	STAILQ_REMOVE_HEAD(head, field) do {				\
-+	if (((head)->stqh_first = (head)->stqh_first->field.stqe_next) == NULL) \
-+		(head)->stqh_last = &(head)->stqh_first;			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	STAILQ_REMOVE(head, elm, type, field) do {			\
-+	if ((head)->stqh_first == (elm)) {				\
-+		STAILQ_REMOVE_HEAD((head), field);			\
-+	} else {							\
-+		struct type *curelm = (head)->stqh_first;		\
-+		while (curelm->field.stqe_next != (elm))			\
-+			curelm = curelm->field.stqe_next;		\
-+		if ((curelm->field.stqe_next =				\
-+			curelm->field.stqe_next->field.stqe_next) == NULL) \
-+			    (head)->stqh_last = &(curelm)->field.stqe_next; \
-+	}								\
-+} while (/*CONSTCOND*/0)
-+
-+#define	STAILQ_FOREACH(var, head, field)				\
-+	for ((var) = ((head)->stqh_first);				\
-+		(var);							\
-+		(var) = ((var)->field.stqe_next))
-+
-+#define	STAILQ_FOREACH_SAFE(var, head, field, tvar)			\
-+	for ((var) = STAILQ_FIRST((head));				\
-+	    (var) && ((tvar) = STAILQ_NEXT((var), field), 1);		\
-+	    (var) = (tvar))
-+
-+#define	STAILQ_CONCAT(head1, head2) do {				\
-+	if (!STAILQ_EMPTY((head2))) {					\
-+		*(head1)->stqh_last = (head2)->stqh_first;		\
-+		(head1)->stqh_last = (head2)->stqh_last;		\
-+		STAILQ_INIT((head2));					\
-+	}								\
-+} while (/*CONSTCOND*/0)
-+
-+#define	STAILQ_LAST(head, type, field)					\
-+	(STAILQ_EMPTY((head)) ?						\
-+		NULL :							\
-+	        ((struct type *)(void *)				\
-+		((char *)((head)->stqh_last) - offsetof(struct type, field))))
-+
-+
-+#ifndef _KERNEL
-+/*
-+ * Circular queue definitions. Do not use. We still keep the macros
-+ * for compatibility but because of pointer aliasing issues their use
-+ * is discouraged!
-+ */
-+
-+/*
-+ * __launder_type():  We use this ugly hack to work around the the compiler
-+ * noticing that two types may not alias each other and elide tests in code.
-+ * We hit this in the CIRCLEQ macros when comparing 'struct name *' and
-+ * 'struct type *' (see CIRCLEQ_HEAD()).  Modern compilers (such as GCC
-+ * 4.8) declare these comparisons as always false, causing the code to
-+ * not run as designed.
-+ *
-+ * This hack is only to be used for comparisons and thus can be fully const.
-+ * Do not use for assignment.
-+ *
-+ * If we ever choose to change the ABI of the CIRCLEQ macros, we could fix
-+ * this by changing the head/tail sentinal values, but see the note above
-+ * this one.
-+ */
-+static __inline const void * __launder_type(const void *);
-+static __inline const void *
-+__launder_type(const void *__x)
-+{
-+	__asm __volatile("" : "+r" (__x));
-+	return __x;
-+}
-+
-+#if defined(QUEUEDEBUG)
-+#define QUEUEDEBUG_CIRCLEQ_HEAD(head, field)				\
-+	if ((head)->cqh_first != CIRCLEQ_ENDC(head) &&			\
-+	    (head)->cqh_first->field.cqe_prev != CIRCLEQ_ENDC(head))	\
-+		QUEUEDEBUG_ABORT("CIRCLEQ head forw %p %s:%d", (head),	\
-+		      __FILE__, __LINE__);				\
-+	if ((head)->cqh_last != CIRCLEQ_ENDC(head) &&			\
-+	    (head)->cqh_last->field.cqe_next != CIRCLEQ_ENDC(head))	\
-+		QUEUEDEBUG_ABORT("CIRCLEQ head back %p %s:%d", (head),	\
-+		      __FILE__, __LINE__);
-+#define QUEUEDEBUG_CIRCLEQ_ELM(head, elm, field)			\
-+	if ((elm)->field.cqe_next == CIRCLEQ_ENDC(head)) {		\
-+		if ((head)->cqh_last != (elm))				\
-+			QUEUEDEBUG_ABORT("CIRCLEQ elm last %p %s:%d",	\
-+			    (elm), __FILE__, __LINE__);			\
-+	} else {							\
-+		if ((elm)->field.cqe_next->field.cqe_prev != (elm))	\
-+			QUEUEDEBUG_ABORT("CIRCLEQ elm forw %p %s:%d",	\
-+			    (elm), __FILE__, __LINE__);			\
-+	}								\
-+	if ((elm)->field.cqe_prev == CIRCLEQ_ENDC(head)) {		\
-+		if ((head)->cqh_first != (elm))				\
-+			QUEUEDEBUG_ABORT("CIRCLEQ elm first %p %s:%d",	\
-+			    (elm), __FILE__, __LINE__);			\
-+	} else {							\
-+		if ((elm)->field.cqe_prev->field.cqe_next != (elm))	\
-+			QUEUEDEBUG_ABORT("CIRCLEQ elm prev %p %s:%d",	\
-+			    (elm), __FILE__, __LINE__);			\
-+	}
-+#define QUEUEDEBUG_CIRCLEQ_POSTREMOVE(elm, field)			\
-+	(elm)->field.cqe_next = (void *)1L;				\
-+	(elm)->field.cqe_prev = (void *)1L;
-+#else
-+#define QUEUEDEBUG_CIRCLEQ_HEAD(head, field)
-+#define QUEUEDEBUG_CIRCLEQ_ELM(head, elm, field)
-+#define QUEUEDEBUG_CIRCLEQ_POSTREMOVE(elm, field)
-+#endif
-+
-+#define	CIRCLEQ_HEAD(name, type)					\
-+struct name {								\
-+	struct type *cqh_first;		/* first element */		\
-+	struct type *cqh_last;		/* last element */		\
-+}
-+
-+#define	CIRCLEQ_HEAD_INITIALIZER(head)					\
-+	{ CIRCLEQ_END(&head), CIRCLEQ_END(&head) }
-+
-+#define	CIRCLEQ_ENTRY(type)						\
-+struct {								\
-+	struct type *cqe_next;		/* next element */		\
-+	struct type *cqe_prev;		/* previous element */		\
-+}
-+
-+/*
-+ * Circular queue functions.
-+ */
-+#define	CIRCLEQ_INIT(head) do {						\
-+	(head)->cqh_first = CIRCLEQ_END(head);				\
-+	(head)->cqh_last = CIRCLEQ_END(head);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do {		\
-+	QUEUEDEBUG_CIRCLEQ_HEAD((head), field)				\
-+	QUEUEDEBUG_CIRCLEQ_ELM((head), (listelm), field)		\
-+	(elm)->field.cqe_next = (listelm)->field.cqe_next;		\
-+	(elm)->field.cqe_prev = (listelm);				\
-+	if ((listelm)->field.cqe_next == CIRCLEQ_ENDC(head))		\
-+		(head)->cqh_last = (elm);				\
-+	else								\
-+		(listelm)->field.cqe_next->field.cqe_prev = (elm);	\
-+	(listelm)->field.cqe_next = (elm);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do {		\
-+	QUEUEDEBUG_CIRCLEQ_HEAD((head), field)				\
-+	QUEUEDEBUG_CIRCLEQ_ELM((head), (listelm), field)		\
-+	(elm)->field.cqe_next = (listelm);				\
-+	(elm)->field.cqe_prev = (listelm)->field.cqe_prev;		\
-+	if ((listelm)->field.cqe_prev == CIRCLEQ_ENDC(head))		\
-+		(head)->cqh_first = (elm);				\
-+	else								\
-+		(listelm)->field.cqe_prev->field.cqe_next = (elm);	\
-+	(listelm)->field.cqe_prev = (elm);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	CIRCLEQ_INSERT_HEAD(head, elm, field) do {			\
-+	QUEUEDEBUG_CIRCLEQ_HEAD((head), field)				\
-+	(elm)->field.cqe_next = (head)->cqh_first;			\
-+	(elm)->field.cqe_prev = CIRCLEQ_END(head);			\
-+	if ((head)->cqh_last == CIRCLEQ_ENDC(head))			\
-+		(head)->cqh_last = (elm);				\
-+	else								\
-+		(head)->cqh_first->field.cqe_prev = (elm);		\
-+	(head)->cqh_first = (elm);					\
-+} while (/*CONSTCOND*/0)
-+
-+#define	CIRCLEQ_INSERT_TAIL(head, elm, field) do {			\
-+	QUEUEDEBUG_CIRCLEQ_HEAD((head), field)				\
-+	(elm)->field.cqe_next = CIRCLEQ_END(head);			\
-+	(elm)->field.cqe_prev = (head)->cqh_last;			\
-+	if ((head)->cqh_first == CIRCLEQ_ENDC(head))			\
-+		(head)->cqh_first = (elm);				\
-+	else								\
-+		(head)->cqh_last->field.cqe_next = (elm);		\
-+	(head)->cqh_last = (elm);					\
-+} while (/*CONSTCOND*/0)
-+
-+#define	CIRCLEQ_REMOVE(head, elm, field) do {				\
-+	QUEUEDEBUG_CIRCLEQ_HEAD((head), field)				\
-+	QUEUEDEBUG_CIRCLEQ_ELM((head), (elm), field)			\
-+	if ((elm)->field.cqe_next == CIRCLEQ_ENDC(head))		\
-+		(head)->cqh_last = (elm)->field.cqe_prev;		\
-+	else								\
-+		(elm)->field.cqe_next->field.cqe_prev =			\
-+		    (elm)->field.cqe_prev;				\
-+	if ((elm)->field.cqe_prev == CIRCLEQ_ENDC(head))		\
-+		(head)->cqh_first = (elm)->field.cqe_next;		\
-+	else								\
-+		(elm)->field.cqe_prev->field.cqe_next =			\
-+		    (elm)->field.cqe_next;				\
-+	QUEUEDEBUG_CIRCLEQ_POSTREMOVE((elm), field)			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	CIRCLEQ_FOREACH(var, head, field)				\
-+	for ((var) = ((head)->cqh_first);				\
-+		(var) != CIRCLEQ_ENDC(head);				\
-+		(var) = ((var)->field.cqe_next))
-+
-+#define	CIRCLEQ_FOREACH_REVERSE(var, head, field)			\
-+	for ((var) = ((head)->cqh_last);				\
-+		(var) != CIRCLEQ_ENDC(head);				\
-+		(var) = ((var)->field.cqe_prev))
-+
-+/*
-+ * Circular queue access methods.
-+ */
-+#define	CIRCLEQ_FIRST(head)		((head)->cqh_first)
-+#define	CIRCLEQ_LAST(head)		((head)->cqh_last)
-+/* For comparisons */
-+#define	CIRCLEQ_ENDC(head)		(__launder_type(head))
-+/* For assignments */
-+#define	CIRCLEQ_END(head)		((void *)(head))
-+#define	CIRCLEQ_NEXT(elm, field)	((elm)->field.cqe_next)
-+#define	CIRCLEQ_PREV(elm, field)	((elm)->field.cqe_prev)
-+#define	CIRCLEQ_EMPTY(head)						\
-+    (CIRCLEQ_FIRST(head) == CIRCLEQ_ENDC(head))
-+
-+#define CIRCLEQ_LOOP_NEXT(head, elm, field)				\
-+	(((elm)->field.cqe_next == CIRCLEQ_ENDC(head))			\
-+	    ? ((head)->cqh_first)					\
-+	    : (elm->field.cqe_next))
-+#define CIRCLEQ_LOOP_PREV(head, elm, field)				\
-+	(((elm)->field.cqe_prev == CIRCLEQ_ENDC(head))			\
-+	    ? ((head)->cqh_last)					\
-+	    : (elm->field.cqe_prev))
-+#endif /* !_KERNEL */
-+
-+#endif	/* !_SYS_QUEUE_H_ */
diff --git a/meta/recipes-extended/libtirpc/libtirpc/export_key_secretkey_is_set.patch b/meta/recipes-extended/libtirpc/libtirpc/export_key_secretkey_is_set.patch
deleted file mode 100644
index d7f4968669..0000000000
--- a/meta/recipes-extended/libtirpc/libtirpc/export_key_secretkey_is_set.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From e51d67549b516b2dac6c71d92c8499f6e67125ad Mon Sep 17 00:00:00 2001
-From: Thorsten Kukuk <kukuk@thkukuk.de>
-Date: Tue, 14 Nov 2017 10:43:53 -0500
-Subject: [PATCH] Fix typo in src/libtirpc.map
-
-Which prevents that key_secretkey_is_set will be exported.
-
-Signed-off-by: Thorsten Kukuk <kukuk@suse.de>
-Signed-off-by: Steve Dickson <steved@redhat.com>
----
- src/libtirpc.map | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/libtirpc.map b/src/libtirpc.map
-index f385de5..21d6065 100644
---- a/src/libtirpc.map
-+++ b/src/libtirpc.map
-@@ -298,7 +298,7 @@ TIRPC_0.3.2 {
-     key_gendes;
-     key_get_conv;
-     key_setsecret;
--    key_secret_is_set;
-+    key_secretkey_is_set;
-     key_setnet;
-     netname2host;
-     netname2user;
--- 
-1.8.3.1
diff --git a/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.4-rc1.patch b/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.4-rc1.patch
new file mode 100644
index 0000000000..6d40d3cce8
--- /dev/null
+++ b/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.4-rc1.patch
@@ -0,0 +1,103 @@
+Patch from Fedora https://src.fedoraproject.org/rpms/libtirpc/raw/master/f/libtirpc-1.0.4-rc1.patch
+
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+diff --git a/src/clnt_generic.c b/src/clnt_generic.c
+index e5a314f..3f3dabf 100644
+--- a/src/clnt_generic.c
++++ b/src/clnt_generic.c
+@@ -47,7 +47,6 @@
+ 
+ extern bool_t __rpc_is_local_host(const char *);
+ int __rpc_raise_fd(int);
+-extern int __binddynport(int fd);
+ 
+ #ifndef NETIDLEN
+ #define	NETIDLEN 32
+@@ -341,8 +340,7 @@ clnt_tli_create(int fd, const struct netconfig *nconf,
+ 		servtype = nconf->nc_semantics;
+ 		if (!__rpc_fd2sockinfo(fd, &si))
+ 			goto err;
+-		if (__binddynport(fd) == -1)
+-			goto err;
++		bindresvport(fd, NULL);
+ 	} else {
+ 		if (!__rpc_fd2sockinfo(fd, &si))
+ 			goto err;
+diff --git a/src/rpc_soc.c b/src/rpc_soc.c
+index af6c482..5a6eeb7 100644
+--- a/src/rpc_soc.c
++++ b/src/rpc_soc.c
+@@ -67,8 +67,6 @@
+ 
+ extern mutex_t	rpcsoc_lock;
+ 
+-extern int __binddynport(int fd);
+-
+ static CLIENT *clnt_com_create(struct sockaddr_in *, rpcprog_t, rpcvers_t,
+     int *, u_int, u_int, char *, int);
+ static SVCXPRT *svc_com_create(int, u_int, u_int, char *);
+@@ -147,8 +145,7 @@ clnt_com_create(raddr, prog, vers, sockp, sendsz, recvsz, tp, flags)
+ 	bindaddr.maxlen = bindaddr.len =  sizeof (struct sockaddr_in);
+ 	bindaddr.buf = raddr;
+ 
+-	if (__binddynport(fd) == -1)
+-		goto err;
++	bindresvport(fd, NULL);
+ 	cl = clnt_tli_create(fd, nconf, &bindaddr, prog, vers,
+ 				sendsz, recvsz);
+ 	if (cl) {
+diff --git a/src/rpcb_clnt.c b/src/rpcb_clnt.c
+index a94fc73..4b44364 100644
+--- a/src/rpcb_clnt.c
++++ b/src/rpcb_clnt.c
+@@ -752,7 +752,7 @@ __try_protocol_version_2(program, version, nconf, host, tp)
+ 
+ 	client = getpmaphandle(nconf, host, &parms.r_addr);
+ 	if (client == NULL)
+-		return (NULL);
++		goto error;
+ 
+ 	/*
+ 	 * Set retry timeout.
+@@ -771,11 +771,11 @@ __try_protocol_version_2(program, version, nconf, host, tp)
+ 	if (clnt_st != RPC_SUCCESS) {
+ 		rpc_createerr.cf_stat = RPC_PMAPFAILURE;
+ 		clnt_geterr(client, &rpc_createerr.cf_error);
+-		return (NULL);
++		goto error;
+ 	} else if (port == 0) {
+ 		pmapaddress = NULL;
+ 		rpc_createerr.cf_stat = RPC_PROGNOTREGISTERED;
+-		return (NULL);
++		goto error;
+ 	}
+ 	port = htons(port);
+ 	CLNT_CONTROL(client, CLGET_SVC_ADDR, (char *)&remote);
+@@ -789,14 +789,24 @@ __try_protocol_version_2(program, version, nconf, host, tp)
+ 			free(pmapaddress);
+ 			pmapaddress = NULL;
+ 		}
+-		return (NULL);
++		goto error;
+ 	}
+ 	memcpy(pmapaddress->buf, remote.buf, remote.len);
+ 	memcpy(&((char *)pmapaddress->buf)[sizeof (short)],
+ 			(char *)(void *)&port, sizeof (short));
+ 	pmapaddress->len = pmapaddress->maxlen = remote.len;
+ 
++	CLNT_DESTROY(client);
+ 	return pmapaddress;
++
++error:
++	if (client) {
++		CLNT_DESTROY(client);
++		client = NULL;
++
++	}
++	return (NULL);
++
+ }
+ #endif
+ 
diff --git a/meta/recipes-extended/libtirpc/libtirpc/musl.patch b/meta/recipes-extended/libtirpc/libtirpc/musl.patch
new file mode 100644
index 0000000000..0c3ce603ea
--- /dev/null
+++ b/meta/recipes-extended/libtirpc/libtirpc/musl.patch
@@ -0,0 +1,18 @@
+Consider musl provided built-in defines
+
+Helps compile libtirpc with musl
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- ./tirpc/rpc/types.h.orig	2018-03-17 10:23:10.022055255 +0100
++++ ./tirpc/rpc/types.h	2018-03-17 10:23:30.877751656 +0100
+@@ -66,7 +66,7 @@
+ #define mem_free(ptr, bsize)	free(ptr)
+ 
+ 
+-#if defined __APPLE_CC__ || defined __FreeBSD__
++#if defined __APPLE_CC__ || defined __FreeBSD__ || !defined(__GLIBC__)
+ # define __u_char_defined
+ # define __daddr_t_defined
+ #endif
diff --git a/meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb b/meta/recipes-extended/libtirpc/libtirpc_1.0.3.bb
similarity index 63%
rename from meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb
rename to meta/recipes-extended/libtirpc/libtirpc_1.0.3.bb
index 99212600e0..17bc038d67 100644
--- a/meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb
+++ b/meta/recipes-extended/libtirpc/libtirpc_1.0.3.bb
@@ -10,17 +10,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f835cce8852481e4b2bbbdd23b5e47f3 \
 PROVIDES = "virtual/librpc"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \
-           file://export_key_secretkey_is_set.patch \
-           file://0001-replace-__bzero-with-memset-API.patch \
-           file://0001-include-stdint.h-for-uintptr_t.patch \
+           file://libtirpc-1.0.4-rc1.patch \
+           file://musl.patch \
            "
 
-SRC_URI_append_libc-musl = " \
-                             file://Use-netbsd-queue.h.patch \
-                           "
-
-SRC_URI[md5sum] = "d5a37f1dccec484f9cabe2b97e54e9a6"
-SRC_URI[sha256sum] = "723c5ce92706cbb601a8db09110df1b4b69391643158f20ff587e20e7c5f90f5"
+SRC_URI[md5sum] = "f8403a10695348854e71d525c4db5931"
+SRC_URI[sha256sum] = "86c3a78fc1bddefa96111dd233124c703b22a78884203c55c3e06b3be6a0fd5e"
 
 inherit autotools pkgconfig
 
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 13/27] libnsl: Upgrade to tip beyond 1.2.0 release
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (11 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 12/27] libtirpc: Upgrade to 1.0.4-tc1 Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 14/27] ltp: Fix build after removing rpc and libnsl in glibc Khem Raj
                   ` (14 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../0001-include-sys-cdefs.h-explicitly.patch | 68 -------------------
 ...de-stdint.h-for-uintptr_t-definition.patch | 27 --------
 .../0002-Define-glibc-specific-macros.patch   | 57 ----------------
 meta/recipes-extended/libnsl/libnsl2_git.bb   |  8 +--
 4 files changed, 2 insertions(+), 158 deletions(-)
 delete mode 100644 meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch
 delete mode 100644 meta/recipes-extended/libnsl/libnsl2/0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch
 delete mode 100644 meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch

diff --git a/meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch b/meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch
deleted file mode 100644
index bd647ac55e..0000000000
--- a/meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 508a0ff690dfebc17c4f55a5f81824ed549bed66 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 18 Apr 2017 09:13:33 -0700
-Subject: [PATCH 1/2] include sys/cdefs.h explicitly
-
-glibc includes this header indirectly but not musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/rpcsvc/nis.h    | 1 +
- src/rpcsvc/nislib.h | 1 +
- src/rpcsvc/ypclnt.h | 1 +
- src/rpcsvc/ypupd.h  | 1 +
- 4 files changed, 4 insertions(+)
-
-diff --git a/src/rpcsvc/nis.h b/src/rpcsvc/nis.h
-index 933c4d9..88cbca0 100644
---- a/src/rpcsvc/nis.h
-+++ b/src/rpcsvc/nis.h
-@@ -32,6 +32,7 @@
- #ifndef _RPCSVC_NIS_H
- #define _RPCSVC_NIS_H 1
- 
-+#include <sys/cdefs.h>
- #include <features.h>
- #include <rpc/rpc.h>
- #include <rpcsvc/nis_tags.h>
-diff --git a/src/rpcsvc/nislib.h b/src/rpcsvc/nislib.h
-index a59c19b..a53fab3 100644
---- a/src/rpcsvc/nislib.h
-+++ b/src/rpcsvc/nislib.h
-@@ -19,6 +19,7 @@
- #ifndef	__RPCSVC_NISLIB_H__
- #define	__RPCSVC_NISLIB_H__
- 
-+#include <sys/cdefs.h>
- #include <features.h>
- 
- __BEGIN_DECLS
-diff --git a/src/rpcsvc/ypclnt.h b/src/rpcsvc/ypclnt.h
-index fe43fd4..a686b61 100644
---- a/src/rpcsvc/ypclnt.h
-+++ b/src/rpcsvc/ypclnt.h
-@@ -20,6 +20,7 @@
- #ifndef	__RPCSVC_YPCLNT_H__
- #define	__RPCSVC_YPCLNT_H__
- 
-+#include <sys/cdefs.h>
- #include <features.h>
- 
- /* Some defines */
-diff --git a/src/rpcsvc/ypupd.h b/src/rpcsvc/ypupd.h
-index d07fd4d..2c57301 100644
---- a/src/rpcsvc/ypupd.h
-+++ b/src/rpcsvc/ypupd.h
-@@ -33,6 +33,7 @@
- #ifndef __RPCSVC_YPUPD_H__
- #define __RPCSVC_YPUPD_H__
- 
-+#include <sys/cdefs.h>
- #include <features.h>
- 
- #include <rpc/rpc.h>
--- 
-2.12.2
-
diff --git a/meta/recipes-extended/libnsl/libnsl2/0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch b/meta/recipes-extended/libnsl/libnsl2/0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch
deleted file mode 100644
index e9ae517107..0000000000
--- a/meta/recipes-extended/libnsl/libnsl2/0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From d71cbeb3b76e54778a4d5eec6d387cce653537ca Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 9 Jun 2017 09:49:35 -0700
-Subject: [PATCH] nis_call.c: Include stdint.h for uintptr_t definition
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/nisplus/nis_call.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/nisplus/nis_call.c b/src/nisplus/nis_call.c
-index 1a2b90c..1dc982d 100644
---- a/src/nisplus/nis_call.c
-+++ b/src/nisplus/nis_call.c
-@@ -23,6 +23,7 @@
- #include <errno.h>
- #include <fcntl.h>
- #include <string.h>
-+#include <stdint.h>
- #include <libintl.h>
- #include <rpc/rpc.h>
- #include <rpc/auth.h>
--- 
-2.13.1
-
diff --git a/meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch b/meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch
deleted file mode 100644
index 75fda4b0f0..0000000000
--- a/meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 60282514ea01af004d7f9e66dd3929223b7d2e7b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 18 Apr 2017 09:16:12 -0700
-Subject: [PATCH 2/2] Define glibc specific macros
-
-Check and define
-rawmemchr, __asprintf, __mempcpy, __strtok_r
-__always_inline, TEMP_FAILURE_RETRY
-
-if not existing. Helps compiling with musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
-diff --git a/src/rpcsvc/nis.h b/src/rpcsvc/nis.h
-index 88cbca0..23fc20c 100644
---- a/src/rpcsvc/nis.h
-+++ b/src/rpcsvc/nis.h
-@@ -57,6 +57,34 @@ __BEGIN_DECLS
-  *                                              <kukuk@suse.de>
-  */
- 
-+#ifndef rawmemchr
-+#define rawmemchr(s,c) memchr((s),(size_t)-1,(c))
-+#endif
-+
-+#ifndef __asprintf
-+#define __asprintf asprintf
-+#endif
-+
-+#ifndef __mempcpy
-+#define __mempcpy mempcpy
-+#endif
-+
-+#ifndef __strtok_r
-+#define __strtok_r strtok_r
-+#endif
-+
-+#ifndef __always_inline
-+#define __always_inline __attribute__((__always_inline__))
-+#endif
-+
-+#ifndef TEMP_FAILURE_RETRY
-+#define TEMP_FAILURE_RETRY(exp) ({ \
-+typeof (exp) _rc; \
-+ do { \
-+  _rc = (exp); \
-+ } while (_rc == -1 && errno == EINTR); \
-+ _rc; })
-+#endif
- 
- #ifndef __nis_object_h
- #define __nis_object_h
--- 
-2.12.2
-
diff --git a/meta/recipes-extended/libnsl/libnsl2_git.bb b/meta/recipes-extended/libnsl/libnsl2_git.bb
index a539148caf..c6ba80c943 100644
--- a/meta/recipes-extended/libnsl/libnsl2_git.bb
+++ b/meta/recipes-extended/libnsl/libnsl2_git.bb
@@ -9,16 +9,12 @@ LICENSE = "LGPL-2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
 SECTION = "libs"
 DEPENDS = "libtirpc"
-DEPENDS_append_libc-musl = " bsd-headers"
 
-PV = "1.0.5+git${SRCPV}"
+PV = "1.2.0+git${SRCPV}"
 
-SRCREV = "dfa2f313524aff9243c4d8ce1bace73786478356"
+SRCREV = "37c5ffe3038d42e9fa9ed232ad2cbca4d8f14681"
 
 SRC_URI = "git://github.com/thkukuk/libnsl \
-           file://0001-include-sys-cdefs.h-explicitly.patch \
-           file://0002-Define-glibc-specific-macros.patch \
-           file://0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch \
           "
 
 S = "${WORKDIR}/git"
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 14/27] ltp: Fix build after removing rpc and libnsl in glibc
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (12 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 13/27] libnsl: Upgrade to tip beyond 1.2.0 release Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 15/27] xinetd: Use libtirpc even on glibc Khem Raj
                   ` (13 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...0001-Disable-rpc01-on-glibc-and-musl.patch | 29 +++++++++++++++++++
 ...option-to-select-libc-implementation.patch | 14 ---------
 meta/recipes-extended/ltp/ltp_20180118.bb     |  1 +
 3 files changed, 30 insertions(+), 14 deletions(-)
 create mode 100644 meta/recipes-extended/ltp/ltp/0001-Disable-rpc01-on-glibc-and-musl.patch

diff --git a/meta/recipes-extended/ltp/ltp/0001-Disable-rpc01-on-glibc-and-musl.patch b/meta/recipes-extended/ltp/ltp/0001-Disable-rpc01-on-glibc-and-musl.patch
new file mode 100644
index 0000000000..78c6dfb2b1
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp/0001-Disable-rpc01-on-glibc-and-musl.patch
@@ -0,0 +1,29 @@
+From ff39e6b69f0b26dad8ab685ee6116ff92bc363db Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 28 Apr 2018 00:08:55 -0700
+Subject: [PATCH] Disable rpc01 on glibc and musl
+
+It is not buildable with libtirpc
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ testcases/network/rpc/basic_tests/Makefile | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/testcases/network/rpc/basic_tests/Makefile b/testcases/network/rpc/basic_tests/Makefile
+index 66e9d5675..16a64e7da 100644
+--- a/testcases/network/rpc/basic_tests/Makefile
++++ b/testcases/network/rpc/basic_tests/Makefile
+@@ -23,4 +23,7 @@
+ top_srcdir		?= ../../../..
+ 
+ include $(top_srcdir)/include/mk/env_pre.mk
++
++FILTER_OUT_DIRS += rpc01
++
+ include $(top_srcdir)/include/mk/generic_trunk_target.mk
+-- 
+2.17.0
+
diff --git a/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch b/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch
index 84ab37ea39..0781ba1743 100644
--- a/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch
+++ b/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch
@@ -102,20 +102,6 @@ Index: git/testcases/network/nfsv4/acl/Makefile
 +endif
 +
  include $(top_srcdir)/include/mk/generic_leaf_target.mk
-Index: git/testcases/network/rpc/basic_tests/Makefile
-===================================================================
---- git.orig/testcases/network/rpc/basic_tests/Makefile
-+++ git/testcases/network/rpc/basic_tests/Makefile
-@@ -23,4 +23,9 @@
- top_srcdir		?= ../../../..
- 
- include $(top_srcdir)/include/mk/env_pre.mk
-+
-+ifeq ($(LIBC),musl)
-+FILTER_OUT_DIRS += rpc01
-+endif
-+
- include $(top_srcdir)/include/mk/generic_trunk_target.mk
 Index: git/testcases/realtime/func/pi-tests/Makefile
 ===================================================================
 --- git.orig/testcases/realtime/func/pi-tests/Makefile
diff --git a/meta/recipes-extended/ltp/ltp_20180118.bb b/meta/recipes-extended/ltp/ltp_20180118.bb
index 14fb41b3bd..8992f1b0f2 100644
--- a/meta/recipes-extended/ltp/ltp_20180118.bb
+++ b/meta/recipes-extended/ltp/ltp_20180118.bb
@@ -45,6 +45,7 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \
            file://0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch \
            file://0039-commands-ar01-Fix-for-test-in-deterministic-mode.patch \
            file://0040-safe_macros-make-is_fuse-return-zero-if-fs_type-is-N.patch \
+           file://0001-Disable-rpc01-on-glibc-and-musl.patch \
            "
 
 S = "${WORKDIR}/git"
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 15/27] xinetd: Use libtirpc even on glibc
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (13 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 14/27] ltp: Fix build after removing rpc and libnsl in glibc Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 16/27] tcp-wrapper: Use external libnsl Khem Raj
                   ` (12 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

We dropped in-tree obsoleted rpc from glibc

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-extended/xinetd/xinetd_2.3.15.bb | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-extended/xinetd/xinetd_2.3.15.bb b/meta/recipes-extended/xinetd/xinetd_2.3.15.bb
index 1beb5456e1..6e43f5be6f 100644
--- a/meta/recipes-extended/xinetd/xinetd_2.3.15.bb
+++ b/meta/recipes-extended/xinetd/xinetd_2.3.15.bb
@@ -6,8 +6,7 @@ HOMEPAGE = "https://github.com/xinetd-org/xinetd"
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=8ad8615198542444f84d28a6cf226dd8"
 
-DEPENDS = ""
-DEPENDS_append_libc-musl = " libtirpc "
+DEPENDS += "libtirpc"
 PR = "r2"
 
 # Blacklist a bogus tag in upstream check
@@ -42,8 +41,8 @@ EXTRA_OECONF="--disable-nls"
 PACKAGECONFIG ??= "tcp-wrappers"
 PACKAGECONFIG[tcp-wrappers] = "--with-libwrap,,tcp-wrappers"
 
-CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc "
-LDFLAGS_append_libc-musl = " -ltirpc "
+CFLAGS += "-I${STAGING_INCDIR}/tirpc"
+LDFLAGS += "-ltirpc"
 
 do_configure() {
 	# Looks like configure.in is broken, so we are skipping
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 16/27] tcp-wrapper: Use external libnsl
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (14 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 15/27] xinetd: Use libtirpc even on glibc Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 17/27] Use libtirpc even on glibc Khem Raj
                   ` (11 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

We dropped in-tree obsoleted libnsl from glibc

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb b/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
index 3ece8c3012..0f50674653 100644
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
+++ b/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
@@ -8,6 +8,7 @@ LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://DISCLAIMER;md5=071bd69cb78b18888ea5e3da5c3127fa"
 PR ="r10"
 
+DEPENDS += "libnsl2"
 
 PACKAGES = "${PN}-dbg libwrap libwrap-doc libwrap-dev libwrap-staticdev ${PN} ${PN}-doc"
 FILES_libwrap = "${base_libdir}/lib*${SOLIBS}"
@@ -67,7 +68,6 @@ EXTRA_OEMAKE = "'CC=${CC}' \
                 'KILL_OPT=-DKILL_IP_OPTIONS' \
                 'UMASK=-DDAEMON_UMASK=022' \
                 'NETGROUP=${EXTRA_OEMAKE_NETGROUP}' \
-                'LIBS=-lnsl' \
                 'ARFLAGS=rv' \
                 'AUX_OBJ=weak_symbols.o' \
                 'TLI=' \
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 17/27] Use libtirpc even on glibc
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (15 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 16/27] tcp-wrapper: Use external libnsl Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 18/27] perl: Account for libnsl being dropped from glibc Khem Raj
                   ` (10 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

We dropped in-tree obsoleted rpc from glibc

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-extended/watchdog/watchdog_5.15.bb | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/meta/recipes-extended/watchdog/watchdog_5.15.bb b/meta/recipes-extended/watchdog/watchdog_5.15.bb
index 37b37ae12f..24791c4170 100644
--- a/meta/recipes-extended/watchdog/watchdog_5.15.bb
+++ b/meta/recipes-extended/watchdog/watchdog_5.15.bb
@@ -22,12 +22,13 @@ SRC_URI[sha256sum] = "ffdc865137ad5d8e53664bd22bad4de6ca136d1b4636720320cb52af0c
 UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/watchdog/files/watchdog/"
 UPSTREAM_CHECK_REGEX = "/watchdog/(?P<pver>(\d+[\.\-_]*)+)/"
 
-inherit autotools update-rc.d systemd
+inherit autotools update-rc.d systemd pkgconfig
 
-DEPENDS_append_libc-musl = " libtirpc "
-CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc "
-LDFLAGS_append_libc-musl = " -ltirpc "
-EXTRA_OECONF_append_libc-musl = " --disable-nfs "
+DEPENDS += "libtirpc"
+CFLAGS += "-I${STAGING_INCDIR}/tirpc"
+LDFLAGS += "-ltirpc"
+
+EXTRA_OECONF += " --disable-nfs "
 
 INITSCRIPT_PACKAGES = "${PN} ${PN}-keepalive"
 
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 18/27] perl: Account for libnsl being dropped from glibc
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (16 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 17/27] Use libtirpc even on glibc Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 19/27] mdadm: Fix build with gcc8 Khem Raj
                   ` (9 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

-lnsl needs to be removed even on glibc

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/perl/perl_5.24.1.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/perl/perl_5.24.1.bb b/meta/recipes-devtools/perl/perl_5.24.1.bb
index 53a426289a..6b16689386 100644
--- a/meta/recipes-devtools/perl/perl_5.24.1.bb
+++ b/meta/recipes-devtools/perl/perl_5.24.1.bb
@@ -145,7 +145,6 @@ do_configure() {
                        -e "s,\(i_fcntl=\)'undef',\1'define',g" \
                        -e "s,\(h_fcntl=\)'false',\1'true',g" \
                        -e "s,-fstack-protector,-fno-stack-protector,g" \
-                       -e "s,-lnsl,,g" \
                     config.sh-${TARGET_ARCH}-${TARGET_OS}
         fi
 
@@ -158,6 +157,7 @@ do_configure() {
                -e "s,@BASELIBDIR@,${base_libdir},g" \
                -e "s,@EXECPREFIX@,${exec_prefix},g" \
                -e 's,@USRBIN@,${bindir},g' \
+               -e "s,-lnsl,,g" \
             config.sh-${TARGET_ARCH}-${TARGET_OS}
 
 	case "${TARGET_ARCH}" in
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 19/27] mdadm: Fix build with gcc8
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (17 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 18/27] perl: Account for libnsl being dropped from glibc Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 20/27] libnsl2: Install into /usr/include and /usr/lib Khem Raj
                   ` (8 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...able-errors-due-to-new-gcc8-warnings.patch | 30 ++++++++++++++++++
 ...tead-of-memcpy-on-overlapping-region.patch | 31 +++++++++++++++++++
 meta/recipes-extended/mdadm/mdadm_4.0.bb      |  2 ++
 3 files changed, 63 insertions(+)
 create mode 100644 meta/recipes-extended/mdadm/files/0001-Disable-errors-due-to-new-gcc8-warnings.patch
 create mode 100644 meta/recipes-extended/mdadm/files/0001-use-memmove-instead-of-memcpy-on-overlapping-region.patch

diff --git a/meta/recipes-extended/mdadm/files/0001-Disable-errors-due-to-new-gcc8-warnings.patch b/meta/recipes-extended/mdadm/files/0001-Disable-errors-due-to-new-gcc8-warnings.patch
new file mode 100644
index 0000000000..003d8d059b
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/0001-Disable-errors-due-to-new-gcc8-warnings.patch
@@ -0,0 +1,30 @@
+From aeee2c585d3bf2470691f570ace80c4d75fe871a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 28 Apr 2018 09:39:57 -0700
+Subject: [PATCH] Disable errors due to new gcc8 warnings
+
+This is needed until
+https://bugzilla.redhat.com/show_bug.cgi?id=1553958
+
+is fixed
+
+Upstream-Status: Inappropriate [Workaround]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index a04d82a..a893120 100644
+--- a/Makefile
++++ b/Makefile
+@@ -43,7 +43,7 @@ KLIBC_GCC = gcc -nostdinc -iwithprefix include -I$(KLIBC)/klibc/include -I$(KLIB
+ 
+ CC ?= $(CROSS_COMPILE)gcc
+ CXFLAGS ?= -ggdb
+-CWFLAGS = -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter
++CWFLAGS = -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter -Wno-error=format-overflow -Wno-error=format-truncation -Wno-error=stringop-truncation
+ ifdef WARN_UNUSED
+ CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O3
+ endif
diff --git a/meta/recipes-extended/mdadm/files/0001-use-memmove-instead-of-memcpy-on-overlapping-region.patch b/meta/recipes-extended/mdadm/files/0001-use-memmove-instead-of-memcpy-on-overlapping-region.patch
new file mode 100644
index 0000000000..44351b6569
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/0001-use-memmove-instead-of-memcpy-on-overlapping-region.patch
@@ -0,0 +1,31 @@
+From ab18f04cf89ef4e8521c81c50477e1363b2d333b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 28 Apr 2018 09:46:12 -0700
+Subject: [PATCH] use memmove instead of memcpy on overlapping region
+
+Fixes
+super0.c:526:3: error: 'memcpy' accessing 3936 bytes at offsets 156 and 160 overlaps 3932 bytes at offset 160 [-Werror=restrict]
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ super0.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/super0.c b/super0.c
+index f5b4507..264b598 100644
+--- a/super0.c
++++ b/super0.c
+@@ -523,7 +523,7 @@ static int update_super0(struct supertype *st, struct mdinfo *info,
+ 		 * up 4 bytes before continuing
+ 		 */
+ 		__u32 *sb32 = (__u32*)sb;
+-		memcpy(sb32+MD_SB_GENERIC_CONSTANT_WORDS+7,
++		memmove(sb32+MD_SB_GENERIC_CONSTANT_WORDS+7,
+ 		       sb32+MD_SB_GENERIC_CONSTANT_WORDS+7+1,
+ 		       (MD_SB_WORDS - (MD_SB_GENERIC_CONSTANT_WORDS+7+1))*4);
+ 		if (verbose >= 0)
+-- 
+2.17.0
+
diff --git a/meta/recipes-extended/mdadm/mdadm_4.0.bb b/meta/recipes-extended/mdadm/mdadm_4.0.bb
index dc098f19b6..097875110c 100644
--- a/meta/recipes-extended/mdadm/mdadm_4.0.bb
+++ b/meta/recipes-extended/mdadm/mdadm_4.0.bb
@@ -22,6 +22,8 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
            file://0004-mdadm-Forced-type-conversion-to-avoid-truncation.patch \
            file://0005-Add-a-comment-to-indicate-valid-fallthrough.patch \
            file://0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch \
+           file://0001-Disable-errors-due-to-new-gcc8-warnings.patch \
+           file://0001-use-memmove-instead-of-memcpy-on-overlapping-region.patch \
            "
 SRC_URI[md5sum] = "2cb4feffea9167ba71b5f346a0c0a40d"
 SRC_URI[sha256sum] = "1d6ae7f24ced3a0fa7b5613b32f4a589bb4881e3946a5a2c3724056254ada3a9"
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 20/27] libnsl2: Install into /usr/include and /usr/lib
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (18 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 19/27] mdadm: Fix build with gcc8 Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 21/27] ppp: Install net/ppp_defs.h on musl Khem Raj
                   ` (7 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

Extend to native and nativesdk variants

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-extended/libnsl/libnsl2_git.bb | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/meta/recipes-extended/libnsl/libnsl2_git.bb b/meta/recipes-extended/libnsl/libnsl2_git.bb
index c6ba80c943..c3a24face1 100644
--- a/meta/recipes-extended/libnsl/libnsl2_git.bb
+++ b/meta/recipes-extended/libnsl/libnsl2_git.bb
@@ -21,13 +21,4 @@ S = "${WORKDIR}/git"
 
 inherit autotools pkgconfig gettext
 
-EXTRA_OECONF += "--libdir=${libdir}/nsl --includedir=${includedir}/nsl"
-
-do_install_append() {
-	install -d ${D}${libdir}
-	mv ${D}${libdir}/nsl/pkgconfig ${D}${libdir}
-}
-
-FILES_${PN} += "${libdir}/nsl/*.so.*"
-FILES_${PN}-dev += "${includedir}/nsl ${libdir}/nsl/*.so"
-FILES_${PN}-staticdev += "${libdir}/nsl/*.a"
+BBCLASSEXTEND = "native nativesdk"
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 21/27] ppp: Install net/ppp_defs.h on musl
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (19 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 20/27] libnsl2: Install into /usr/include and /usr/lib Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 22/27] allarch.bbclass: Exclude package_do_shlibs from do_package signature Khem Raj
                   ` (6 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

This header is used by other apps e.g. ippool
glibc provides an internal version which it should not

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-connectivity/ppp/ppp_2.4.7.bb | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/meta/recipes-connectivity/ppp/ppp_2.4.7.bb b/meta/recipes-connectivity/ppp/ppp_2.4.7.bb
index a5f764f6ec..a1bb7d71c1 100644
--- a/meta/recipes-connectivity/ppp/ppp_2.4.7.bb
+++ b/meta/recipes-connectivity/ppp/ppp_2.4.7.bb
@@ -80,6 +80,10 @@ do_install_append () {
 	chmod u+s ${D}${sbindir}/pppd
 }
 
+do_install_append_libc-musl () {
+	install -Dm 0644 ${S}/include/net/ppp_defs.h ${D}${includedir}/net/ppp_defs.h
+}
+
 CONFFILES_${PN} = "${sysconfdir}/ppp/pap-secrets ${sysconfdir}/ppp/chap-secrets ${sysconfdir}/ppp/options"
 PACKAGES =+ "${PN}-oa ${PN}-oe ${PN}-radius ${PN}-winbind ${PN}-minconn ${PN}-password ${PN}-l2tp ${PN}-tools"
 FILES_${PN}        = "${sysconfdir} ${bindir} ${sbindir}/chat ${sbindir}/pppd ${systemd_unitdir}/system/ppp@.service"
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 22/27] allarch.bbclass: Exclude package_do_shlibs from do_package signature
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (20 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 21/27] ppp: Install net/ppp_defs.h on musl Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 23/27] packagegroup: Do not add libssp to SDK Khem Raj
                   ` (5 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

shlibs is largely useless for allarch, the particular usecase where it
fails is when DISTRO_FEATURE is changing due to libc being different e.g.

Variable package_do_shlibs value changed:
-DISTRO_FEATURES{ldconfig} = Set
+DISTRO_FEATURES{ldconfig} = Unset

musl -> glibc or other way around 'ldconfig' gets added or deleted to
DISTRO_FEATURE set, neither this distro feature nor the shlibs processing
during packaging is of interest to allarch packages which are largely
arch independent scripts

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/classes/allarch.bbclass | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/classes/allarch.bbclass b/meta/classes/allarch.bbclass
index 51ba509cd0..1eebe0bf2e 100644
--- a/meta/classes/allarch.bbclass
+++ b/meta/classes/allarch.bbclass
@@ -45,6 +45,7 @@ python () {
         # These multilib values shouldn't change allarch packages so exclude them
         d.appendVarFlag("emit_pkgdata", "vardepsexclude", " MULTILIB_VARIANTS")
         d.appendVarFlag("write_specfile", "vardepsexclude", " MULTILIBS")
+        d.appendVarFlag("do_package", "vardepsexclude", " package_do_shlibs")
     elif bb.data.inherits_class('packagegroup', d) and not bb.data.inherits_class('nativesdk', d):
         bb.error("Please ensure recipe %s sets PACKAGE_ARCH before inherit packagegroup" % d.getVar("FILE"))
 }
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 23/27] packagegroup: Do not add libssp to SDK
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (21 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 22/27] allarch.bbclass: Exclude package_do_shlibs from do_package signature Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 24/27] Disable using GST_GL if gst does not enable it Khem Raj
                   ` (4 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

Libssp is only needed on mon-glibc/non-musl systems
Add rpcsvc-proto for rpcgen since its not part of glibc
anymore

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../packagegroup-core-standalone-sdk-target.bb        |  2 +-
 .../packagegroups/packagegroup-self-hosted.bb         | 11 +++++++----
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb b/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb
index 43fc599c73..f5b2d69cef 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb
@@ -13,7 +13,7 @@ RDEPENDS_${PN} = "\
     ${LIBC_DEPENDENCIES} \
     "
 
-RRECOMMENDS_${PN} = "\
+RRECOMMENDS_${PN}_mingw32 = "\
     libssp \
     libssp-dev \
     "
diff --git a/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb b/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
index adb0c56c3a..f1273e8a17 100644
--- a/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
@@ -76,9 +76,6 @@ RDEPENDS_packagegroup-self-hosted-sdk = "\
     intltool \
     ldd \
     less \
-    libssp \
-    libssp-dev \
-    libssp-staticdev \
     libstdc++ \
     libstdc++-dev \
     libtool \
@@ -90,10 +87,16 @@ RDEPENDS_packagegroup-self-hosted-sdk = "\
     quilt \
     sed \
     "
-# glibc-utils: for rpcgen
+RDEPENDS_packagegroup-self-hosted-sdk_append_mingw32 = "\
+    libssp \
+    libssp-dev \
+    libssp-staticdev \
+    "
+# rpcsvc-proto: for rpcgen
 RDEPENDS_packagegroup-self-hosted-sdk_append_libc-glibc = "\
     glibc-gconv-ibm850 \
     glibc-utils \
+    rpcsvc-proto \
     "
 RDEPENDS_packagegroup-self-hosted-debug = " \
     gdb \
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 24/27] Disable using GST_GL if gst does not enable it
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (22 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 23/27] packagegroup: Do not add libssp to SDK Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 25/27] mesa: Define PYTHON2 Khem Raj
                   ` (3 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../webkitgtk/detect-gstreamer-gl.patch       | 20 +++++++++++++++++++
 meta/recipes-sato/webkit/webkitgtk_2.20.0.bb  |  1 +
 2 files changed, 21 insertions(+)
 create mode 100644 meta/recipes-sato/webkit/webkitgtk/detect-gstreamer-gl.patch

diff --git a/meta/recipes-sato/webkit/webkitgtk/detect-gstreamer-gl.patch b/meta/recipes-sato/webkit/webkitgtk/detect-gstreamer-gl.patch
new file mode 100644
index 0000000000..57ae48c141
--- /dev/null
+++ b/meta/recipes-sato/webkit/webkitgtk/detect-gstreamer-gl.patch
@@ -0,0 +1,20 @@
+From: Alberto Garcia <berto@igalia.com>
+Subject: Disable USE_GSTREAMER_GL is the package is not found
+Forwarded: no
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: webkitgtk/Source/cmake/GStreamerChecks.cmake
+===================================================================
+--- webkitgtk.orig/Source/cmake/GStreamerChecks.cmake
++++ webkitgtk/Source/cmake/GStreamerChecks.cmake
+@@ -43,7 +43,8 @@ if (ENABLE_VIDEO OR ENABLE_WEB_AUDIO)
+             message(FATAL_ERROR "GStreamer 1.10 is needed for USE_GSTREAMER_GL.")
+         else ()
+             if (NOT PC_GSTREAMER_GL_FOUND)
+-                message(FATAL_ERROR "GStreamerGL is needed for USE_GSTREAMER_GL.")
++                set(USE_GSTREAMER_GL OFF)
++                message(STATUS "GStreamerGL is needed for USE_GSTREAMER_GL.")
+             endif ()
+         endif ()
+     endif ()
diff --git a/meta/recipes-sato/webkit/webkitgtk_2.20.0.bb b/meta/recipes-sato/webkit/webkitgtk_2.20.0.bb
index 50e2666578..e357c64214 100644
--- a/meta/recipes-sato/webkit/webkitgtk_2.20.0.bb
+++ b/meta/recipes-sato/webkit/webkitgtk_2.20.0.bb
@@ -20,6 +20,7 @@ SRC_URI = "http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
            file://detect-atomics-during-configure.patch \
            file://0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch \
            file://0001-Fix-build-with-musl.patch \
+           file://detect-gstreamer-gl.patch \
            "
 
 SRC_URI[md5sum] = "51cc47345c3ec53802718cd6fc9b746f"
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 25/27] mesa: Define PYTHON2
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (23 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 24/27] Disable using GST_GL if gst does not enable it Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 26/27] strace: Upgrade to 4.22 Khem Raj
                   ` (2 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

Ensure that python2 is not assumed to be python which can
point to python3 in some cases, when building gallium-llvm
there are scripts which are requiring python2 and wont work
with python3

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-graphics/mesa/mesa.inc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index 354271e826..5d4a452d33 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -35,6 +35,7 @@ export LLVM_CONFIG = "${STAGING_BINDIR_NATIVE}/llvm-config${MESA_LLVM_RELEASE}"
 export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE}/llvm-config"
 EXTRA_OECONF = "--enable-shared-glapi \
                 --disable-opencl \
+                PYTHON2=python2 \
                 --with-llvm-prefix=${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE} \
                 --with-platforms='${PLATFORMS}'"
 
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 26/27] strace: Upgrade to 4.22
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (24 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 25/27] mesa: Define PYTHON2 Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:14 ` [PATCH 27/27] gdb: Upgrade to 8.1 release Khem Raj
  2018-05-05  0:34 ` ✗ patchtest: failure for ssp rework and glibc drop obsolete nsl/rpc (rev2) Patchwork
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

License-Update: Update Copyright years

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../strace/disable-git-version-gen.patch      | 12 +++++-----
 ...st-test-for-m32-mx32-compile-support.patch | 22 +++++++++----------
 .../strace/{strace_4.20.bb => strace_4.22.bb} | 11 ++++++----
 3 files changed, 23 insertions(+), 22 deletions(-)
 rename meta/recipes-devtools/strace/{strace_4.20.bb => strace_4.22.bb} (85%)

diff --git a/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch b/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch
index 76daf3a3b7..47b1139c53 100644
--- a/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch
+++ b/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch
@@ -5,16 +5,16 @@ Upstream-Status: Inappropriate [configuration]
 
 Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
 
-diff --git a/configure.ac b/configure.ac
-index 7004bd3..b2b03c6 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -31,7 +31,7 @@
+Index: strace-4.22/configure.ac
+===================================================================
+--- strace-4.22.orig/configure.ac
++++ strace-4.22/configure.ac
+@@ -32,7 +32,7 @@
  
  AC_PREREQ(2.57)
  AC_INIT([strace],
 -	m4_esyscmd([./git-version-gen .tarball-version]),
 +	m4_esyscmd_s([cat .tarball-version]),
- 	[strace-devel@lists.sourceforge.net],
+ 	[strace-devel@lists.strace.io],
  	[strace],
  	[https://strace.io])
diff --git a/meta/recipes-devtools/strace/strace/more-robust-test-for-m32-mx32-compile-support.patch b/meta/recipes-devtools/strace/strace/more-robust-test-for-m32-mx32-compile-support.patch
index 756cd8bb82..3d4913d68e 100644
--- a/meta/recipes-devtools/strace/strace/more-robust-test-for-m32-mx32-compile-support.patch
+++ b/meta/recipes-devtools/strace/strace/more-robust-test-for-m32-mx32-compile-support.patch
@@ -22,25 +22,23 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
  m4/mpers.m4 | 2 ++
  1 file changed, 2 insertions(+)
 
-diff --git a/m4/mpers.m4 b/m4/mpers.m4
-index 1fe8a8e..d72c717 100644
---- a/m4/mpers.m4
-+++ b/m4/mpers.m4
-@@ -53,12 +53,14 @@ case "$arch" in
- 	CFLAGS="$CFLAGS CFLAG $IFLAG"
- 	AC_CACHE_CHECK([for CFLAG compile support], [st_cv_cc],
+Index: strace-4.22/m4/mpers.m4
+===================================================================
+--- strace-4.22.orig/m4/mpers.m4
++++ strace-4.22/m4/mpers.m4
+@@ -108,6 +108,7 @@ case "$arch" in
+ 	CFLAGS="$CFLAGS MPERS_CFLAGS $IFLAG"
+ 	AC_CACHE_CHECK([for mpers_name personality compile support], [st_cv_cc],
  		[AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <stdint.h>
 +						     #include <sys/syscall.h>
  						     int main(){return 0;}]])],
  				   [st_cv_cc=yes],
  				   [st_cv_cc=no])])
- 	if test $st_cv_cc = yes; then
- 		AC_CACHE_CHECK([for CFLAG runtime support], [st_cv_runtime],
+@@ -115,6 +116,7 @@ case "$arch" in
+ 		AC_CACHE_CHECK([for mpers_name personality runtime support],
+ 			[st_cv_runtime],
  			[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdint.h>
 +							 #include <sys/syscall.h>
  							 int main(){return 0;}]])],
  				       [st_cv_runtime=yes],
  				       [st_cv_runtime=no],
--- 
-1.9.1
-
diff --git a/meta/recipes-devtools/strace/strace_4.20.bb b/meta/recipes-devtools/strace/strace_4.22.bb
similarity index 85%
rename from meta/recipes-devtools/strace/strace_4.20.bb
rename to meta/recipes-devtools/strace/strace_4.22.bb
index 869c12f65a..196c9d8587 100644
--- a/meta/recipes-devtools/strace/strace_4.20.bb
+++ b/meta/recipes-devtools/strace/strace_4.22.bb
@@ -2,7 +2,7 @@ SUMMARY = "System call tracing tool"
 HOMEPAGE = "http://strace.io"
 SECTION = "console/utils"
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f132b4d2adfccc63da4139a609367711"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6ddb91734b9c705f3e87362e97e5f64b"
 
 SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \
            file://disable-git-version-gen.patch \
@@ -15,12 +15,15 @@ SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \
            file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \
            file://0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch \
            "
-
-SRC_URI[md5sum] = "f2271ab0fac49ebee9cbd7f3469227cb"
-SRC_URI[sha256sum] = "5bf3148dd17306a42566f7da17368fdd781afa147db05ea63a4ca2b50f58c523"
+SRC_URI[md5sum] = "7a2a7d7715da6e6834bc65bd09bace1c"
+SRC_URI[sha256sum] = "068cd09264c95e4d591bbcd3ea08f99a693ed8663cd5169b0fdad72eb5bdb39d"
 
 inherit autotools ptest bluetooth
 
+EXTRA_OECONF += "--enable-mpers=no"
+
+CFLAGS_append_libc-musl = " -Dsigcontext_struct=sigcontext"
+
 RDEPENDS_${PN}-ptest += "make coreutils grep gawk sed"
 
 PACKAGECONFIG_class-target ??= "\
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 27/27] gdb: Upgrade to 8.1 release
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (25 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 26/27] strace: Upgrade to 4.22 Khem Raj
@ 2018-05-05  0:14 ` Khem Raj
  2018-05-05  0:34 ` ✗ patchtest: failure for ssp rework and glibc drop obsolete nsl/rpc (rev2) Patchwork
  27 siblings, 0 replies; 29+ messages in thread
From: Khem Raj @ 2018-05-05  0:14 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/conf/distro/include/tcmode-default.inc   |   2 +-
 .../gdb/{gdb-8.0.1.inc => gdb-8.1.inc}        |   5 +-
 ...ian_8.0.1.bb => gdb-cross-canadian_8.1.bb} |   0
 .../{gdb-cross_8.0.1.bb => gdb-cross_8.1.bb}  |   0
 .../0001-include-sys-types.h-for-mode_t.patch |  12 +-
 ...port-for-Renesas-SH-sh4-architecture.patch | 153 ++++++++----------
 ...0012-Unbreak-GDBserver-build-for-x32.patch | 101 ------------
 .../gdb/{gdb_8.0.1.bb => gdb_8.1.bb}          |   0
 8 files changed, 80 insertions(+), 193 deletions(-)
 rename meta/recipes-devtools/gdb/{gdb-8.0.1.inc => gdb-8.1.inc} (85%)
 rename meta/recipes-devtools/gdb/{gdb-cross-canadian_8.0.1.bb => gdb-cross-canadian_8.1.bb} (100%)
 rename meta/recipes-devtools/gdb/{gdb-cross_8.0.1.bb => gdb-cross_8.1.bb} (100%)
 delete mode 100644 meta/recipes-devtools/gdb/gdb/0012-Unbreak-GDBserver-build-for-x32.patch
 rename meta/recipes-devtools/gdb/{gdb_8.0.1.bb => gdb_8.1.bb} (100%)

diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc
index 00399ae820..4b58df0459 100644
--- a/meta/conf/distro/include/tcmode-default.inc
+++ b/meta/conf/distro/include/tcmode-default.inc
@@ -25,7 +25,7 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
 GCCVERSION ?= "7.%"
 SDKGCCVERSION ?= "${GCCVERSION}"
 BINUVERSION ?= "2.30%"
-GDBVERSION ?= "8.0%"
+GDBVERSION ?= "8.1%"
 GLIBCVERSION ?= "2.27%"
 LINUXLIBCVERSION ?= "4.15%"
 QEMUVERSION ?= "2.11%"
diff --git a/meta/recipes-devtools/gdb/gdb-8.0.1.inc b/meta/recipes-devtools/gdb/gdb-8.1.inc
similarity index 85%
rename from meta/recipes-devtools/gdb/gdb-8.0.1.inc
rename to meta/recipes-devtools/gdb/gdb-8.1.inc
index 4a5299b73f..4d9faa2d4b 100644
--- a/meta/recipes-devtools/gdb/gdb-8.0.1.inc
+++ b/meta/recipes-devtools/gdb/gdb-8.1.inc
@@ -16,9 +16,8 @@ SRC_URI = "http://ftp.gnu.org/gnu/gdb/gdb-${PV}.tar.xz \
            file://0009-Change-order-of-CFLAGS.patch \
            file://0010-resolve-restrict-keyword-conflict.patch \
            file://package_devel_gdb_patches_120-sigprocmask-invalid-call.patch \
-           file://0012-Unbreak-GDBserver-build-for-x32.patch \
            file://gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-g.patch \
 "
-SRC_URI[md5sum] = "48cac527e6f3018b865ece021e9723ac"
-SRC_URI[sha256sum] = "3dbd5f93e36ba2815ad0efab030dcd0c7b211d7b353a40a53f4c02d7d56295e3"
+SRC_URI[md5sum] = "f46487561f9a16916a8102316f7fd105"
+SRC_URI[sha256sum] = "af61a0263858e69c5dce51eab26662ff3d2ad9aa68da9583e8143b5426be4b34"
 
diff --git a/meta/recipes-devtools/gdb/gdb-cross-canadian_8.0.1.bb b/meta/recipes-devtools/gdb/gdb-cross-canadian_8.1.bb
similarity index 100%
rename from meta/recipes-devtools/gdb/gdb-cross-canadian_8.0.1.bb
rename to meta/recipes-devtools/gdb/gdb-cross-canadian_8.1.bb
diff --git a/meta/recipes-devtools/gdb/gdb-cross_8.0.1.bb b/meta/recipes-devtools/gdb/gdb-cross_8.1.bb
similarity index 100%
rename from meta/recipes-devtools/gdb/gdb-cross_8.0.1.bb
rename to meta/recipes-devtools/gdb/gdb-cross_8.1.bb
diff --git a/meta/recipes-devtools/gdb/gdb/0001-include-sys-types.h-for-mode_t.patch b/meta/recipes-devtools/gdb/gdb/0001-include-sys-types.h-for-mode_t.patch
index 4f06d46d70..5d19380e30 100644
--- a/meta/recipes-devtools/gdb/gdb/0001-include-sys-types.h-for-mode_t.patch
+++ b/meta/recipes-devtools/gdb/gdb/0001-include-sys-types.h-for-mode_t.patch
@@ -1,7 +1,7 @@
-From 91da0458b333249eb9c2f4c1f1e53fa4bc085cc9 Mon Sep 17 00:00:00 2001
+From ff37f9360ab6f841f28ced9f23f66542febcc0f6 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Tue, 19 Jan 2016 18:18:52 -0800
-Subject: [PATCH 01/10] include sys/types.h for mode_t
+Subject: [PATCH 01/11] include sys/types.h for mode_t
 
 mode_t is used in target.h, so we need to include sys/types.h to get the
 defintion
@@ -14,17 +14,17 @@ Upstream-Status: Pending
  1 file changed, 1 insertion(+)
 
 diff --git a/gdb/gdbserver/target.h b/gdb/gdbserver/target.h
-index 3cc2bc4bab..e6b19b06b9 100644
+index 25accd2207..7f6bca8aa4 100644
 --- a/gdb/gdbserver/target.h
 +++ b/gdb/gdbserver/target.h
-@@ -28,6 +28,7 @@
- #include "target/waitstatus.h"
+@@ -29,6 +29,7 @@
  #include "mem-break.h"
  #include "btrace-common.h"
+ #include <vector>
 +#include <sys/types.h>
  
  struct emit_ops;
  struct buffer;
 -- 
-2.13.1
+2.17.0
 
diff --git a/meta/recipes-devtools/gdb/gdb/0005-Add-support-for-Renesas-SH-sh4-architecture.patch b/meta/recipes-devtools/gdb/gdb/0005-Add-support-for-Renesas-SH-sh4-architecture.patch
index cb1b7abd07..f678598284 100644
--- a/meta/recipes-devtools/gdb/gdb/0005-Add-support-for-Renesas-SH-sh4-architecture.patch
+++ b/meta/recipes-devtools/gdb/gdb/0005-Add-support-for-Renesas-SH-sh4-architecture.patch
@@ -1,7 +1,7 @@
-From 60ac68f601885ea6480229a5c8a89a0257da376c Mon Sep 17 00:00:00 2001
+From 8757b36be6109f6d7ea0bd8dafbaed647e0d2192 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 2 Mar 2015 02:31:12 +0000
-Subject: [PATCH 05/10] Add support for Renesas SH (sh4) architecture.
+Subject: [PATCH 05/11] Add support for Renesas SH (sh4) architecture.
 
 gdb (7.4-1~cvs20111117.2) experimental; urgency=low
  .
@@ -15,35 +15,35 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
  gdb/Makefile.in                      |   2 +
  gdb/configure.host                   |   1 +
- gdb/sh-linux-tdep.c                  | 519 +++++++++++++++++++++++++++++++++++
- gdb/sh-tdep.c                        |  54 ++--
- gdb/sh-tdep.h                        |  49 ++++
+ gdb/sh-linux-tdep.c                  | 519 +++++++++++++++++++++++++++
+ gdb/sh-tdep.c                        |  53 ++-
+ gdb/sh-tdep.h                        |  49 +++
  gdb/testsuite/gdb.asm/asm-source.exp |   5 +
  gdb/testsuite/gdb.asm/sh.inc         |   3 +-
  gdb/testsuite/gdb.base/annota1.c     |   3 +
  gdb/testsuite/gdb.base/annota3.c     |   4 +
  gdb/testsuite/gdb.base/sigall.c      |   3 +
  gdb/testsuite/gdb.base/signals.c     |   4 +
- 11 files changed, 618 insertions(+), 29 deletions(-)
+ 11 files changed, 617 insertions(+), 29 deletions(-)
 
-diff --git a/gdb/Makefile.in b/gdb/Makefile.in
-index 8be73ba423..e287ff6a2e 100644
---- a/gdb/Makefile.in
-+++ b/gdb/Makefile.in
-@@ -2638,6 +2638,8 @@ ALLDEPFILES = \
- 	sh-nbsd-tdep.c \
- 	sh-tdep.c \
- 	sh64-tdep.c \
-+	sh-linux-tdep.c \
-+	sh-linux-nat.c \
- 	sol2-tdep.c \
- 	solib-aix.c \
- 	solib-spu.c \
-diff --git a/gdb/configure.host b/gdb/configure.host
-index d74fd04934..be12de1446 100644
---- a/gdb/configure.host
-+++ b/gdb/configure.host
-@@ -150,6 +150,7 @@ powerpc*-*-linux*)	gdb_host=linux ;;
+Index: gdb-8.1/gdb/Makefile.in
+===================================================================
+--- gdb-8.1.orig/gdb/Makefile.in
++++ gdb-8.1/gdb/Makefile.in
+@@ -758,6 +758,8 @@ ALL_TARGET_OBS = \
+ 	sh-linux-tdep.o \
+ 	sh-nbsd-tdep.o \
+ 	sh-tdep.o \
++	sh-linux-tdep.o \
++	sh-linux-nat.o \
+ 	sh64-tdep.o \
+ 	sol2-tdep.o \
+ 	solib-aix.o \
+Index: gdb-8.1/gdb/configure.host
+===================================================================
+--- gdb-8.1.orig/gdb/configure.host
++++ gdb-8.1/gdb/configure.host
+@@ -152,6 +152,7 @@ powerpc*-*-linux*)	gdb_host=linux ;;
  
  s390*-*-linux*)		gdb_host=linux ;;
  
@@ -51,10 +51,10 @@ index d74fd04934..be12de1446 100644
  sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu)
  			gdb_host=nbsd ;;
  sh*-*-openbsd*)		gdb_host=nbsd ;;
-diff --git a/gdb/sh-linux-tdep.c b/gdb/sh-linux-tdep.c
-index c5c745d218..84e539aad3 100644
---- a/gdb/sh-linux-tdep.c
-+++ b/gdb/sh-linux-tdep.c
+Index: gdb-8.1/gdb/sh-linux-tdep.c
+===================================================================
+--- gdb-8.1.orig/gdb/sh-linux-tdep.c
++++ gdb-8.1/gdb/sh-linux-tdep.c
 @@ -18,14 +18,37 @@
     along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
  
@@ -93,7 +93,7 @@ index c5c745d218..84e539aad3 100644
  #include "glibc-tdep.h"
  #include "sh-tdep.h"
  #include "linux-tdep.h"
-@@ -180,9 +203,505 @@ static struct tramp_frame sh_linux_rt_sigreturn_tramp_frame = {
+@@ -180,9 +203,505 @@ static struct tramp_frame sh_linux_rt_si
    sh_linux_rt_sigreturn_init
  };
  
@@ -599,10 +599,10 @@ index c5c745d218..84e539aad3 100644
    linux_init_abi (info, gdbarch);
  
    /* GNU/Linux uses SVR4-style shared libraries.  */
-diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c
-index 2c2b26847d..14f5281ed4 100644
---- a/gdb/sh-tdep.c
-+++ b/gdb/sh-tdep.c
+Index: gdb-8.1/gdb/sh-tdep.c
+===================================================================
+--- gdb-8.1.orig/gdb/sh-tdep.c
++++ gdb-8.1/gdb/sh-tdep.c
 @@ -21,6 +21,9 @@
     sac@cygnus.com.  */
  
@@ -613,15 +613,7 @@ index 2c2b26847d..14f5281ed4 100644
  #include "frame.h"
  #include "frame-base.h"
  #include "frame-unwind.h"
-@@ -35,6 +38,7 @@
- #include "arch-utils.h"
- #include "floatformat.h"
- #include "regcache.h"
-+#include "regset.h"
- #include "doublest.h"
- #include "osabi.h"
- #include "reggroups.h"
-@@ -68,23 +72,6 @@ static const char *const sh_cc_enum[] = {
+@@ -67,23 +70,6 @@ static const char *const sh_cc_enum[] =
  
  static const char *sh_active_calling_convention = sh_cc_gcc;
  
@@ -645,7 +637,7 @@ index 2c2b26847d..14f5281ed4 100644
  static int
  sh_is_renesas_calling_convention (struct type *func_type)
  {
-@@ -1052,7 +1039,7 @@ sh_treat_as_flt_p (struct type *type)
+@@ -1051,7 +1037,7 @@ sh_treat_as_flt_p (struct type *type)
      return 0;
    /* Otherwise if the type of that member is float, the whole type is
       treated as float.  */
@@ -654,7 +646,7 @@ index 2c2b26847d..14f5281ed4 100644
      return 1;
    /* Otherwise it's not treated as float.  */
    return 0;
-@@ -1102,7 +1089,7 @@ sh_push_dummy_call_fpu (struct gdbarch *gdbarch,
+@@ -1101,7 +1087,7 @@ sh_push_dummy_call_fpu (struct gdbarch *
       in four registers available.  Loop thru args from first to last.  */
    for (argnum = 0; argnum < nargs; argnum++)
      {
@@ -663,7 +655,7 @@ index 2c2b26847d..14f5281ed4 100644
        len = TYPE_LENGTH (type);
        val = sh_justify_value_in_reg (gdbarch, args[argnum], len);
  
-@@ -1828,7 +1815,7 @@ sh_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
+@@ -1835,7 +1821,7 @@ sh_dwarf2_frame_init_reg (struct gdbarch
      reg->how = DWARF2_FRAME_REG_UNDEFINED;
  }
  
@@ -672,7 +664,7 @@ index 2c2b26847d..14f5281ed4 100644
  sh_alloc_frame_cache (void)
  {
    struct sh_frame_cache *cache;
-@@ -1855,7 +1842,7 @@ sh_alloc_frame_cache (void)
+@@ -1862,7 +1848,7 @@ sh_alloc_frame_cache (void)
    return cache;
  }
  
@@ -681,7 +673,7 @@ index 2c2b26847d..14f5281ed4 100644
  sh_frame_cache (struct frame_info *this_frame, void **this_cache)
  {
    struct gdbarch *gdbarch = get_frame_arch (this_frame);
-@@ -1922,9 +1909,9 @@ sh_frame_cache (struct frame_info *this_frame, void **this_cache)
+@@ -1929,9 +1915,9 @@ sh_frame_cache (struct frame_info *this_
    return cache;
  }
  
@@ -694,7 +686,7 @@ index 2c2b26847d..14f5281ed4 100644
  {
    struct gdbarch *gdbarch = get_frame_arch (this_frame);
    struct sh_frame_cache *cache = sh_frame_cache (this_frame, this_cache);
-@@ -1938,7 +1925,7 @@ sh_frame_prev_register (struct frame_info *this_frame,
+@@ -1945,7 +1931,7 @@ sh_frame_prev_register (struct frame_inf
       the current frame.  Frob regnum so that we pull the value from
       the correct place.  */
    if (regnum == gdbarch_pc_regnum (gdbarch))
@@ -703,7 +695,7 @@ index 2c2b26847d..14f5281ed4 100644
  
    if (regnum < SH_NUM_REGS && cache->saved_regs[regnum] != -1)
      return frame_unwind_got_memory (this_frame, regnum,
-@@ -2247,8 +2234,8 @@ sh_return_in_first_hidden_param_p (struct gdbarch *gdbarch,
+@@ -2254,8 +2240,8 @@ sh_return_in_first_hidden_param_p (struc
  static struct gdbarch *
  sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
  {
@@ -713,7 +705,7 @@ index 2c2b26847d..14f5281ed4 100644
  
    /* SH5 is handled entirely in sh64-tdep.c.  */
    if (info.bfd_arch_info->mach == bfd_mach_sh5)
-@@ -2264,6 +2251,18 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
+@@ -2271,6 +2257,18 @@ sh_gdbarch_init (struct gdbarch_info inf
    tdep = XCNEW (struct gdbarch_tdep);
    gdbarch = gdbarch_alloc (&info, tdep);
  
@@ -732,7 +724,7 @@ index 2c2b26847d..14f5281ed4 100644
    set_gdbarch_short_bit (gdbarch, 2 * TARGET_CHAR_BIT);
    set_gdbarch_int_bit (gdbarch, 4 * TARGET_CHAR_BIT);
    set_gdbarch_long_bit (gdbarch, 4 * TARGET_CHAR_BIT);
-@@ -2418,10 +2417,11 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
+@@ -2425,10 +2423,11 @@ sh_gdbarch_init (struct gdbarch_info inf
        break;
      }
  
@@ -745,10 +737,10 @@ index 2c2b26847d..14f5281ed4 100644
    frame_unwind_append_unwinder (gdbarch, &sh_stub_unwind);
    frame_unwind_append_unwinder (gdbarch, &sh_frame_unwind);
  
-diff --git a/gdb/sh-tdep.h b/gdb/sh-tdep.h
-index d15ef050e0..c4642cefa4 100644
---- a/gdb/sh-tdep.h
-+++ b/gdb/sh-tdep.h
+Index: gdb-8.1/gdb/sh-tdep.h
+===================================================================
+--- gdb-8.1.orig/gdb/sh-tdep.h
++++ gdb-8.1/gdb/sh-tdep.h
 @@ -21,6 +21,12 @@
  
  /* Contributed by Steve Chamberlain sac@cygnus.com.  */
@@ -828,10 +820,10 @@ index d15ef050e0..c4642cefa4 100644
    /* Non-NULL when debugging from a core file.  Provides the offset
       where each general-purpose register is stored inside the associated
       core file section.  */
-diff --git a/gdb/testsuite/gdb.asm/asm-source.exp b/gdb/testsuite/gdb.asm/asm-source.exp
-index e07e5543f2..f5e60e1002 100644
---- a/gdb/testsuite/gdb.asm/asm-source.exp
-+++ b/gdb/testsuite/gdb.asm/asm-source.exp
+Index: gdb-8.1/gdb/testsuite/gdb.asm/asm-source.exp
+===================================================================
+--- gdb-8.1.orig/gdb/testsuite/gdb.asm/asm-source.exp
++++ gdb-8.1/gdb/testsuite/gdb.asm/asm-source.exp
 @@ -116,6 +116,11 @@ switch -glob -- [istarget] {
              append link-flags " -m elf32ppc"
          }
@@ -844,10 +836,10 @@ index e07e5543f2..f5e60e1002 100644
      "sh*-*-*" {
          set asm-arch sh
  	set debug-flags "-gdwarf-2"
-diff --git a/gdb/testsuite/gdb.asm/sh.inc b/gdb/testsuite/gdb.asm/sh.inc
-index a4a5fc545e..89efed7795 100644
---- a/gdb/testsuite/gdb.asm/sh.inc
-+++ b/gdb/testsuite/gdb.asm/sh.inc
+Index: gdb-8.1/gdb/testsuite/gdb.asm/sh.inc
+===================================================================
+--- gdb-8.1.orig/gdb/testsuite/gdb.asm/sh.inc
++++ gdb-8.1/gdb/testsuite/gdb.asm/sh.inc
 @@ -40,9 +40,8 @@
  	mov.l   .Lconst\@,r1
  	bra	.Lafterconst\@
@@ -859,10 +851,10 @@ index a4a5fc545e..89efed7795 100644
  	.long	\subr
  	.align	1
  .Lafterconst\@:
-diff --git a/gdb/testsuite/gdb.base/annota1.c b/gdb/testsuite/gdb.base/annota1.c
-index 424e1b8327..0de2e7b633 100644
---- a/gdb/testsuite/gdb.base/annota1.c
-+++ b/gdb/testsuite/gdb.base/annota1.c
+Index: gdb-8.1/gdb/testsuite/gdb.base/annota1.c
+===================================================================
+--- gdb-8.1.orig/gdb/testsuite/gdb.base/annota1.c
++++ gdb-8.1/gdb/testsuite/gdb.base/annota1.c
 @@ -1,6 +1,9 @@
  #include <stdio.h>
  #include <signal.h>
@@ -873,10 +865,10 @@ index 424e1b8327..0de2e7b633 100644
  
  void
  handle_USR1 (int sig)
-diff --git a/gdb/testsuite/gdb.base/annota3.c b/gdb/testsuite/gdb.base/annota3.c
-index 424e1b8327..952aaf218a 100644
---- a/gdb/testsuite/gdb.base/annota3.c
-+++ b/gdb/testsuite/gdb.base/annota3.c
+Index: gdb-8.1/gdb/testsuite/gdb.base/annota3.c
+===================================================================
+--- gdb-8.1.orig/gdb/testsuite/gdb.base/annota3.c
++++ gdb-8.1/gdb/testsuite/gdb.base/annota3.c
 @@ -1,6 +1,10 @@
  #include <stdio.h>
  #include <signal.h>
@@ -888,10 +880,10 @@ index 424e1b8327..952aaf218a 100644
  
  void
  handle_USR1 (int sig)
-diff --git a/gdb/testsuite/gdb.base/sigall.c b/gdb/testsuite/gdb.base/sigall.c
-index 81f3b08d6b..1574b2d6cb 100644
---- a/gdb/testsuite/gdb.base/sigall.c
-+++ b/gdb/testsuite/gdb.base/sigall.c
+Index: gdb-8.1/gdb/testsuite/gdb.base/sigall.c
+===================================================================
+--- gdb-8.1.orig/gdb/testsuite/gdb.base/sigall.c
++++ gdb-8.1/gdb/testsuite/gdb.base/sigall.c
 @@ -1,6 +1,9 @@
  #include <signal.h>
  #include <unistd.h>
@@ -902,10 +894,10 @@ index 81f3b08d6b..1574b2d6cb 100644
  
  /* Signal handlers, we set breakpoints in them to make sure that the
     signals really get delivered.  */
-diff --git a/gdb/testsuite/gdb.base/signals.c b/gdb/testsuite/gdb.base/signals.c
-index 756606880f..1205a9bc9c 100644
---- a/gdb/testsuite/gdb.base/signals.c
-+++ b/gdb/testsuite/gdb.base/signals.c
+Index: gdb-8.1/gdb/testsuite/gdb.base/signals.c
+===================================================================
+--- gdb-8.1.orig/gdb/testsuite/gdb.base/signals.c
++++ gdb-8.1/gdb/testsuite/gdb.base/signals.c
 @@ -3,6 +3,10 @@
  #include <signal.h>
  #include <unistd.h>
@@ -917,6 +909,3 @@ index 756606880f..1205a9bc9c 100644
  
  static int count = 0;
  
--- 
-2.13.1
-
diff --git a/meta/recipes-devtools/gdb/gdb/0012-Unbreak-GDBserver-build-for-x32.patch b/meta/recipes-devtools/gdb/gdb/0012-Unbreak-GDBserver-build-for-x32.patch
deleted file mode 100644
index 18a3ce3d63..0000000000
--- a/meta/recipes-devtools/gdb/gdb/0012-Unbreak-GDBserver-build-for-x32.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-From 3e1e401053ea5f02a9e9c65abddd31a03baa1bd1 Mon Sep 17 00:00:00 2001
-From: Yao Qi <yao.qi@linaro.org>
-Date: Fri, 29 Dec 2017 12:57:25 +0800
-Subject: [PATCH] Unbreak GDBserver build for x32
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-When I verify my target description changes, I build GDB and GDBserver for
-x32, but it failed.
-
-/../../binutils-gdb/gdb/gdbserver/linux-amd64-ipa.c
-../../../binutils-gdb/gdb/gdbserver/linux-amd64-ipa.c: In function ‘const target_desc* get_ipa_tdesc(int)’:
-../../../binutils-gdb/gdb/gdbserver/linux-amd64-ipa.c:184:10: error: ‘X86_TDESC_AVX512’ was not declared in this scope
-     case X86_TDESC_AVX512:
-          ^
-../../../binutils-gdb/gdb/gdbserver/linux-amd64-ipa.c:185:14: error: ‘tdesc_x32_avx512_linux’ was not declared in this scope
-       return tdesc_x32_avx512_linux;
-              ^
-../../../binutils-gdb/gdb/gdbserver/linux-amd64-ipa.c: In function ‘void initialize_low_tracepoint()’:
-../../../binutils-gdb/gdb/gdbserver/linux-amd64-ipa.c:282:36: error: ‘init_registers_x32_avx512_linux’ was not declared in this scope
-   init_registers_x32_avx512_linux ();
-                                    ^
-
-ipa_x32_linux_regobj use to be there, but removed by
-22049425ce40324139be82d9a6ec518c46b65815 by mistake.
-
-gdb/gdbserver:
-
-2017-08-04  Yao Qi  <yao.qi@linaro.org>
-
-        * configure.srv (ipa_x32_linux_regobj): New.
-        * linux-amd64-ipa.c (get_ipa_tdesc): Use X86_TDESC_AVX_AVX512
-        instead of X86_TDESC_AVX512.
-        (initialize_low_tracepoint): Call
-        init_registers_x32_avx_avx512_linux.
-
-Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=f02fd7745d003d65fd3b981618e07b874b721d79]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- ChangeLog                       | 8 ++++++++
- gdb/gdbserver/configure.srv     | 1 +
- gdb/gdbserver/linux-amd64-ipa.c | 6 +++---
- 3 files changed, 12 insertions(+), 3 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 4ac2d63..b5b8228 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,11 @@
-+ 2017-08-04  Yao Qi  <yao.qi@linaro.org>
-+
-+	* configure.srv (ipa_x32_linux_regobj): New.
-+	* linux-amd64-ipa.c (get_ipa_tdesc): Use X86_TDESC_AVX_AVX512
-+	instead of X86_TDESC_AVX512.
-+	(initialize_low_tracepoint): Call
-+	init_registers_x32_avx_avx512_linux.
-+
- 2017-04-13  Andrew Jenner  <andrew@codesourcery.com>
- 
- 	* config.sub: Sync with master version in config project.
-diff --git a/gdb/gdbserver/configure.srv b/gdb/gdbserver/configure.srv
-index d00d9e2..56951c8 100644
---- a/gdb/gdbserver/configure.srv
-+++ b/gdb/gdbserver/configure.srv
-@@ -31,6 +31,7 @@ srv_amd64_linux_regobj="amd64-linux.o amd64-avx-linux.o amd64-avx-avx512-linux.o
- 
- ipa_i386_linux_regobj="i386-linux-ipa.o i386-avx-linux-ipa.o  i386-avx-mpx-linux-ipa.o i386-avx-avx512-linux-ipa.o i386-avx-mpx-avx512-pku-linux-ipa.o i386-mpx-linux-ipa.o i386-mmx-linux-ipa.o"
- ipa_amd64_linux_regobj="amd64-linux-ipa.o amd64-avx-linux-ipa.o amd64-avx-mpx-linux-ipa.o amd64-avx-avx512-linux-ipa.o amd64-avx-mpx-avx512-pku-linux-ipa.o amd64-mpx-linux-ipa.o"
-+ipa_x32_linux_regobj="x32-linux-ipa.o x32-avx-linux-ipa.o x32-avx-avx512-linux-ipa.o"
- ipa_ppc_linux_regobj="powerpc-32l-ipa.o powerpc-altivec32l-ipa.o powerpc-cell32l-ipa.o powerpc-vsx32l-ipa.o powerpc-isa205-32l-ipa.o powerpc-isa205-altivec32l-ipa.o powerpc-isa205-vsx32l-ipa.o powerpc-e500l-ipa.o powerpc-64l-ipa.o powerpc-altivec64l-ipa.o powerpc-cell64l-ipa.o powerpc-vsx64l-ipa.o powerpc-isa205-64l-ipa.o powerpc-isa205-altivec64l-ipa.o powerpc-isa205-vsx64l-ipa.o"
- 
- srv_i386_32bit_xmlfiles="i386/32bit-core.xml i386/32bit-sse.xml i386/32bit-avx.xml i386/32bit-avx512.xml i386/32bit-mpx.xml i386/32bit-pkeys.xml"
-diff --git a/gdb/gdbserver/linux-amd64-ipa.c b/gdb/gdbserver/linux-amd64-ipa.c
-index 67f36c2..683339b 100644
---- a/gdb/gdbserver/linux-amd64-ipa.c
-+++ b/gdb/gdbserver/linux-amd64-ipa.c
-@@ -181,8 +181,8 @@ get_ipa_tdesc (int idx)
-       return tdesc_x32_linux;
-     case X86_TDESC_AVX:
-       return tdesc_x32_avx_linux;
--    case X86_TDESC_AVX512:
--      return tdesc_x32_avx512_linux;
-+    case X86_TDESC_AVX_AVX512:
-+      return tdesc_x32_avx_avx512_linux;
-     default:
-       break;
-     }
-@@ -279,7 +279,7 @@ initialize_low_tracepoint (void)
- #if defined __ILP32__
-   init_registers_x32_linux ();
-   init_registers_x32_avx_linux ();
--  init_registers_x32_avx512_linux ();
-+  init_registers_x32_avx_avx512_linux ();
- #else
-   init_registers_amd64_linux ();
-   init_registers_amd64_avx_linux ();
--- 
-2.7.4
-
diff --git a/meta/recipes-devtools/gdb/gdb_8.0.1.bb b/meta/recipes-devtools/gdb/gdb_8.1.bb
similarity index 100%
rename from meta/recipes-devtools/gdb/gdb_8.0.1.bb
rename to meta/recipes-devtools/gdb/gdb_8.1.bb
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* ✗ patchtest: failure for ssp rework and glibc drop obsolete nsl/rpc (rev2)
  2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
                   ` (26 preceding siblings ...)
  2018-05-05  0:14 ` [PATCH 27/27] gdb: Upgrade to 8.1 release Khem Raj
@ 2018-05-05  0:34 ` Patchwork
  27 siblings, 0 replies; 29+ messages in thread
From: Patchwork @ 2018-05-05  0:34 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembedded-core

== Series Details ==

Series: ssp rework and glibc drop obsolete nsl/rpc (rev2)
Revision: 2
URL   : https://patchwork.openembedded.org/series/11950/
State : failure

== Summary ==


Thank you for submitting this patch series to OpenEmbedded Core. This is
an automated response. Several tests have been executed on the proposed
series by patchtest resulting in the following failures:



* Patch            [17/27] Use libtirpc even on glibc
 Issue             Shortlog does not follow expected format [test_shortlog_format] 
  Suggested fix    Commit shortlog (first line of commit message) should follow the format "<target>: <summary>"



If you believe any of these test results are incorrect, please reply to the
mailing list (openembedded-core@lists.openembedded.org) raising your concerns.
Otherwise we would appreciate you correcting the issues and submitting a new
version of the patchset if applicable. Please ensure you add/increment the
version number when sending the new version (i.e. [PATCH] -> [PATCH v2] ->
[PATCH v3] -> ...).

---
Guidelines:     https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite:     http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe



^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2018-05-05  0:34 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-05  0:14 [PATCH V2 00/27] ssp rework and glibc drop obsolete nsl/rpc Khem Raj
2018-05-05  0:13 ` [PATCH 01/27] libssp-nonshared: Add recipe Khem Raj
2018-05-05  0:13 ` [PATCH 02/27] musl: Depend on libssp-nonshared Khem Raj
2018-05-05  0:13 ` [PATCH 03/27] gcc-runtime: Disable gcc version of libssp Khem Raj
2018-05-05  0:13 ` [PATCH 04/27] libunwind: Drop adding libssp to linker flags Khem Raj
2018-05-05  0:13 ` [PATCH 05/27] musl: Upgrade to latest Khem Raj
2018-05-05  0:14 ` [PATCH 06/27] pbzip2: Fix C++11 warnings found with clang Khem Raj
2018-05-05  0:14 ` [PATCH 07/27] alsa-tools: Update to 1.1.6 Khem Raj
2018-05-05  0:14 ` [PATCH 08/27] alsa-lib: Upgrade " Khem Raj
2018-05-05  0:14 ` [PATCH 09/27] glibc: Drop obsolete rpc and libnsl Khem Raj
2018-05-05  0:14 ` [PATCH 10/27] rpcsvc-proto: Add recipe Khem Raj
2018-05-05  0:14 ` [PATCH 11/27] libnss-nis: " Khem Raj
2018-05-05  0:14 ` [PATCH 12/27] libtirpc: Upgrade to 1.0.4-tc1 Khem Raj
2018-05-05  0:14 ` [PATCH 13/27] libnsl: Upgrade to tip beyond 1.2.0 release Khem Raj
2018-05-05  0:14 ` [PATCH 14/27] ltp: Fix build after removing rpc and libnsl in glibc Khem Raj
2018-05-05  0:14 ` [PATCH 15/27] xinetd: Use libtirpc even on glibc Khem Raj
2018-05-05  0:14 ` [PATCH 16/27] tcp-wrapper: Use external libnsl Khem Raj
2018-05-05  0:14 ` [PATCH 17/27] Use libtirpc even on glibc Khem Raj
2018-05-05  0:14 ` [PATCH 18/27] perl: Account for libnsl being dropped from glibc Khem Raj
2018-05-05  0:14 ` [PATCH 19/27] mdadm: Fix build with gcc8 Khem Raj
2018-05-05  0:14 ` [PATCH 20/27] libnsl2: Install into /usr/include and /usr/lib Khem Raj
2018-05-05  0:14 ` [PATCH 21/27] ppp: Install net/ppp_defs.h on musl Khem Raj
2018-05-05  0:14 ` [PATCH 22/27] allarch.bbclass: Exclude package_do_shlibs from do_package signature Khem Raj
2018-05-05  0:14 ` [PATCH 23/27] packagegroup: Do not add libssp to SDK Khem Raj
2018-05-05  0:14 ` [PATCH 24/27] Disable using GST_GL if gst does not enable it Khem Raj
2018-05-05  0:14 ` [PATCH 25/27] mesa: Define PYTHON2 Khem Raj
2018-05-05  0:14 ` [PATCH 26/27] strace: Upgrade to 4.22 Khem Raj
2018-05-05  0:14 ` [PATCH 27/27] gdb: Upgrade to 8.1 release Khem Raj
2018-05-05  0:34 ` ✗ patchtest: failure for ssp rework and glibc drop obsolete nsl/rpc (rev2) Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.