All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] libidn: fix QA warning (uClibc)
@ 2016-06-24 10:54 André Draszik
  2016-06-24 10:54 ` [PATCH 2/4] json-c: backport patch to fix uClibc link issues André Draszik
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: André Draszik @ 2016-06-24 10:54 UTC (permalink / raw)
  To: openembedded-core

From: André Draszik <adraszik@tycoint.com>

WARNING: libidn-1.32-r0 do_package_qa: QA Issue: libidn rdepends on libiconv, but it isn't a build dependency, missing libiconv in DEPENDS or PACKAGECONFIG? [build-deps]

We already have virtual/libiconv which is set appropriately
in all environments, so let's use it to fix the issue.

Signed-off-by: André Draszik <adraszik@tycoint.com>
---
 meta/recipes-extended/libidn/libidn_1.32.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-extended/libidn/libidn_1.32.bb b/meta/recipes-extended/libidn/libidn_1.32.bb
index 4d6e885..565c75d 100644
--- a/meta/recipes-extended/libidn/libidn_1.32.bb
+++ b/meta/recipes-extended/libidn/libidn_1.32.bb
@@ -10,6 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=df4be47940a91ee69556f5f71eed4aec \
                     file://COPYINGv3;md5=d32239bcb673463ab874e80d47fae504 \
                     file://lib/idna.h;endline=21;md5=7c0b3828d1b153663be9a04ad4f7975f \
                     file://src/idn.c;endline=20;md5=f4235f2a2cb2b65786b2979fb3cf7fbf"
+DEPENDS = "virtual/libiconv"
 
 inherit pkgconfig autotools gettext texinfo
 
-- 
2.8.1



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

* [PATCH 2/4] json-c: backport patch to fix uClibc link issues
  2016-06-24 10:54 [PATCH 1/4] libidn: fix QA warning (uClibc) André Draszik
@ 2016-06-24 10:54 ` André Draszik
  2016-06-24 10:54 ` [PATCH 3/4] uclibc: backport patch to fix gdb 7.11 compilation André Draszik
  2016-06-24 10:54 ` [PATCH 4/4] uclibc: really enable verbose compilation André Draszik
  2 siblings, 0 replies; 13+ messages in thread
From: André Draszik @ 2016-06-24 10:54 UTC (permalink / raw)
  To: openembedded-core

From: André Draszik <adraszik@tycoint.com>

We need to link against libm as we get linker errors otherwise:

<sysroot>/usr/lib/libjson-c.so.2: undefined reference to `__isnan'
<sysroot>/usr/lib/libjson-c.so.2: undefined reference to `__isinf'
collect2: error: ld returned 1 exit status

Backport the upstream patch.

Signed-off-by: André Draszik <adraszik@tycoint.com>
---
 .../0001-Link-against-libm-when-needed.patch       | 53 ++++++++++++++++++++++
 meta/recipes-devtools/json-c/json-c_0.12.bb        |  1 +
 2 files changed, 54 insertions(+)
 create mode 100644 meta/recipes-devtools/json-c/json-c/0001-Link-against-libm-when-needed.patch

diff --git a/meta/recipes-devtools/json-c/json-c/0001-Link-against-libm-when-needed.patch b/meta/recipes-devtools/json-c/json-c/0001-Link-against-libm-when-needed.patch
new file mode 100644
index 0000000..bfe9d72
--- /dev/null
+++ b/meta/recipes-devtools/json-c/json-c/0001-Link-against-libm-when-needed.patch
@@ -0,0 +1,53 @@
+From 93582ad85ef48c18ac12f00a9a9e124989b1fcab Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Fri, 1 May 2015 12:52:18 +0200
+Subject: [PATCH] Link against libm when needed
+
+In certain C libraries (e.g uClibc), isnan() and related functions are
+implemented in libm, so json-c needs to link against it. This commit
+therefore adds an AC_TRY_LINK() test to check whether a program
+calling isnan() can be properly linked with no special flags. If not,
+we assume linking against libm is needed.
+
+The json-c.pc.in file is also adjusted so that in the case of static
+linking against json-c, -lm is also used.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+Upstream-Status: Backport
+
+ configure.ac | 4 ++++
+ json-c.pc.in | 3 ++-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index c50f81b..30e7174 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -50,6 +50,10 @@ AC_CHECK_DECLS([isinf], [], [], [[#include <math.h>]])
+ AC_CHECK_DECLS([_isnan], [], [], [[#include <float.h>]])
+ AC_CHECK_DECLS([_finite], [], [], [[#include <float.h>]])
+ 
++if test "$ac_cv_have_decl_isnan" = "yes" ; then
++   AC_TRY_LINK([#include <math.h>], [float f = 0.0; return isnan(f)], [], [LIBS="$LIBS -lm"])
++fi
++
+ #check if .section.gnu.warning accepts long strings (for __warn_references)
+ AC_LANG_PUSH([C])
+ 
+diff --git a/json-c.pc.in b/json-c.pc.in
+index 037739d..05bfbc8 100644
+--- a/json-c.pc.in
++++ b/json-c.pc.in
+@@ -6,6 +6,7 @@ includedir=@includedir@
+ Name: json-c
+ Description: JSON implementation in C
+ Version: @VERSION@
+-Requires: 
++Requires:
++Libs.private: @LIBS@
+ Libs:  -L${libdir} -ljson-c
+ Cflags: -I${includedir}/json-c
+-- 
+2.8.1
+
diff --git a/meta/recipes-devtools/json-c/json-c_0.12.bb b/meta/recipes-devtools/json-c/json-c_0.12.bb
index 1a5c394..d8c76db 100644
--- a/meta/recipes-devtools/json-c/json-c_0.12.bb
+++ b/meta/recipes-devtools/json-c/json-c_0.12.bb
@@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=de54b60fbbc35123ba193fea8ee216f2"
 
 SRC_URI = "https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz \
            file://0001-json_tokener-requires-INF-and-NAN.patch \
+           file://0001-Link-against-libm-when-needed.patch \
           "
 
 SRC_URI[md5sum] = "3ca4bbb881dfc4017e8021b5e0a8c491"
-- 
2.8.1



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

* [PATCH 3/4] uclibc: backport patch to fix gdb 7.11 compilation
  2016-06-24 10:54 [PATCH 1/4] libidn: fix QA warning (uClibc) André Draszik
  2016-06-24 10:54 ` [PATCH 2/4] json-c: backport patch to fix uClibc link issues André Draszik
@ 2016-06-24 10:54 ` André Draszik
  2016-06-24 13:52   ` Khem Raj
  2016-06-24 14:39   ` [PATCH 3/4 v2] " André Draszik
  2016-06-24 10:54 ` [PATCH 4/4] uclibc: really enable verbose compilation André Draszik
  2 siblings, 2 replies; 13+ messages in thread
From: André Draszik @ 2016-06-24 10:54 UTC (permalink / raw)
  To: openembedded-core

From: André Draszik <adraszik@tycoint.com>

Signed-off-by: André Draszik <adraszik@tycoint.com>
---
 meta/recipes-core/uclibc/uclibc-git.inc            |  1 +
 .../0001-Provide-an-alias-to-_obstack_free.patch   | 44 ++++++++++++++++++++++
 2 files changed, 45 insertions(+)
 create mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-Provide-an-alias-to-_obstack_free.patch

diff --git a/meta/recipes-core/uclibc/uclibc-git.inc b/meta/recipes-core/uclibc/uclibc-git.inc
index a56fa7c..718bee9 100644
--- a/meta/recipes-core/uclibc/uclibc-git.inc
+++ b/meta/recipes-core/uclibc/uclibc-git.inc
@@ -6,6 +6,7 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/uclibc-git:"
 
 SRC_URI = "git://uclibc-ng.org/git/uclibc-ng \
         file://0001-Disable-lrount_tes-function.patch \
+        file://0001-Provide-an-alias-to-_obstack_free.patch \
         file://uClibc.machine \
         file://uClibc.distro \
         file://obstack.cfg \
diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-Provide-an-alias-to-_obstack_free.patch b/meta/recipes-core/uclibc/uclibc-git/0001-Provide-an-alias-to-_obstack_free.patch
new file mode 100644
index 0000000..30b443f
--- /dev/null
+++ b/meta/recipes-core/uclibc/uclibc-git/0001-Provide-an-alias-to-_obstack_free.patch
@@ -0,0 +1,44 @@
+From 06e4fe64bbd01f16ee84da161b8e1a61e73b4cdb Mon Sep 17 00:00:00 2001
+From: Alexey Neyman <aneyman@lynx.com>
+Date: Thu, 31 Mar 2016 13:02:47 -0700
+Subject: [PATCH] Provide an alias to _obstack_free
+
+GDB 7.11 does not build if compiled against uclibc-ng (1.0.12 was used,
+but the problematic code exists in 1.0.13 as well). The reason is that
+GDB release includes its own obstack implementation, but elides the code
+if <gnu-versions.h> declares a compatible obstack implementation in
+libc. uclibc-ng does claim compatible obstack interface (GDB expects
+version 2, but accepts version 1 if sizeof(int) == sizeof(size_t)),
+however, uclibc-ng does not provide the _obstack_free symbol that is a
+part of the interface (glibc does provide this symbol). This later
+causes a link failure.
+
+The attached patch makes uclibc-ng enables an alias _obstack_free ->
+obstack_free.
+
+Signed-off-by: Alexey Neyman <stilor@att.net>
+---
+Upstream-Status: Backport
+
+ libc/misc/gnu/obstack.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/libc/misc/gnu/obstack.c b/libc/misc/gnu/obstack.c
+index 38cfd83..6acc567 100644
+--- a/libc/misc/gnu/obstack.c
++++ b/libc/misc/gnu/obstack.c
+@@ -385,11 +385,9 @@ obstack_free (struct obstack *h, void *obj)
+     abort ();
+ }
+ 
+-# if 0
+ /* Older versions of libc used a function _obstack_free intended to be
+    called by non-GCC compilers.  */
+ strong_alias (obstack_free, _obstack_free)
+-# endif
+ 
+ int
+ _obstack_memory_used (struct obstack *h)
+-- 
+2.8.1
+
-- 
2.8.1



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

* [PATCH 4/4] uclibc: really enable verbose compilation
  2016-06-24 10:54 [PATCH 1/4] libidn: fix QA warning (uClibc) André Draszik
  2016-06-24 10:54 ` [PATCH 2/4] json-c: backport patch to fix uClibc link issues André Draszik
  2016-06-24 10:54 ` [PATCH 3/4] uclibc: backport patch to fix gdb 7.11 compilation André Draszik
@ 2016-06-24 10:54 ` André Draszik
  2016-06-24 13:46   ` Khem Raj
  2016-06-24 15:30   ` [PATCH 4/4 v2] uclibc: re-enable " André Draszik
  2 siblings, 2 replies; 13+ messages in thread
From: André Draszik @ 2016-06-24 10:54 UTC (permalink / raw)
  To: openembedded-core

From: André Draszik <adraszik@tycoint.com>

Things must have changed at some point in the past. V=2 doesn't
give us verbose make output anymore. On the other hand,
adding V=1 to EXTRA_OEMAKE works fine, similar to how things
are done in other recipes that use kbuild.

Signed-off-by: André Draszik <adraszik@tycoint.com>
---
 meta/recipes-core/uclibc/uclibc.inc | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-core/uclibc/uclibc.inc b/meta/recipes-core/uclibc/uclibc.inc
index 71d4bdd..57f87fa 100644
--- a/meta/recipes-core/uclibc/uclibc.inc
+++ b/meta/recipes-core/uclibc/uclibc.inc
@@ -52,13 +52,11 @@ EXTRA_OEMAKE = "${OEMAKE_NO_CC} \
                 'HOSTCC=${BUILD_CC}' \
                 'HOST_CFLAGS=${BUILD_CFLAGS}' \
                 'CC=${CC}' \
-                ARCH=${UCLIBC_ARCH}"
+                ARCH=${UCLIBC_ARCH} \
+                V=1"
 
 EXTRA_OEMAKE_task_do_package = "${OEMAKE_NO_CC}"
 
-# enable verbose output:
-export V="2"
-
 # -O<n> -fno-omit-frame-pointer ends up with GCC ICE on thumb as reported
 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44860
 #
-- 
2.8.1



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

* Re: [PATCH 4/4] uclibc: really enable verbose compilation
  2016-06-24 10:54 ` [PATCH 4/4] uclibc: really enable verbose compilation André Draszik
@ 2016-06-24 13:46   ` Khem Raj
  2016-06-24 13:51     ` Burton, Ross
  2016-06-24 15:30   ` [PATCH 4/4 v2] uclibc: re-enable " André Draszik
  1 sibling, 1 reply; 13+ messages in thread
From: Khem Raj @ 2016-06-24 13:46 UTC (permalink / raw)
  To: André Draszik; +Cc: Patches and discussions about the oe-core layer

On Fri, Jun 24, 2016 at 3:54 AM, André Draszik <git@andred.net> wrote:
> From: André Draszik <adraszik@tycoint.com>
>
> Things must have changed at some point in the past. V=2 doesn't
> give us verbose make output anymore. On the other hand,
> adding V=1 to EXTRA_OEMAKE works fine, similar to how things
> are done in other recipes that use kbuild.
>
> Signed-off-by: André Draszik <adraszik@tycoint.com>
> ---
>  meta/recipes-core/uclibc/uclibc.inc | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/meta/recipes-core/uclibc/uclibc.inc b/meta/recipes-core/uclibc/uclibc.inc
> index 71d4bdd..57f87fa 100644
> --- a/meta/recipes-core/uclibc/uclibc.inc
> +++ b/meta/recipes-core/uclibc/uclibc.inc
> @@ -52,13 +52,11 @@ EXTRA_OEMAKE = "${OEMAKE_NO_CC} \
>                  'HOSTCC=${BUILD_CC}' \
>                  'HOST_CFLAGS=${BUILD_CFLAGS}' \
>                  'CC=${CC}' \
> -                ARCH=${UCLIBC_ARCH}"
> +                ARCH=${UCLIBC_ARCH} \
> +                V=1"

keep V=2

>
>  EXTRA_OEMAKE_task_do_package = "${OEMAKE_NO_CC}"
>
> -# enable verbose output:
> -export V="2"
> -
>  # -O<n> -fno-omit-frame-pointer ends up with GCC ICE on thumb as reported
>  # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44860
>  #
> --
> 2.8.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


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

* Re: [PATCH 4/4] uclibc: really enable verbose compilation
  2016-06-24 13:46   ` Khem Raj
@ 2016-06-24 13:51     ` Burton, Ross
  2016-06-24 13:57       ` Khem Raj
  0 siblings, 1 reply; 13+ messages in thread
From: Burton, Ross @ 2016-06-24 13:51 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 213 bytes --]

On 24 June 2016 at 14:46, Khem Raj <raj.khem@gmail.com> wrote:

> keep V=2
>

That's very concise Khem.  If V=2 doesn't produce verbose output but V=1 in
EXTRA_OEMAKE does, why keep the export V=2?

Ross

[-- Attachment #2: Type: text/html, Size: 697 bytes --]

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

* Re: [PATCH 3/4] uclibc: backport patch to fix gdb 7.11 compilation
  2016-06-24 10:54 ` [PATCH 3/4] uclibc: backport patch to fix gdb 7.11 compilation André Draszik
@ 2016-06-24 13:52   ` Khem Raj
  2016-06-24 14:39   ` [PATCH 3/4 v2] " André Draszik
  1 sibling, 0 replies; 13+ messages in thread
From: Khem Raj @ 2016-06-24 13:52 UTC (permalink / raw)
  To: André Draszik; +Cc: Patches and discussions about the oe-core layer

similar patch was proposed by someone in past.

http://patchwork.openembedded.org/patch/125181/

this one is better since its a proper backport. May be add the
relevant bug ID to commit msg and drop the other one


On Fri, Jun 24, 2016 at 3:54 AM, André Draszik <git@andred.net> wrote:
> From: André Draszik <adraszik@tycoint.com>
>
> Signed-off-by: André Draszik <adraszik@tycoint.com>
> ---
>  meta/recipes-core/uclibc/uclibc-git.inc            |  1 +
>  .../0001-Provide-an-alias-to-_obstack_free.patch   | 44 ++++++++++++++++++++++
>  2 files changed, 45 insertions(+)
>  create mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-Provide-an-alias-to-_obstack_free.patch
>
> diff --git a/meta/recipes-core/uclibc/uclibc-git.inc b/meta/recipes-core/uclibc/uclibc-git.inc
> index a56fa7c..718bee9 100644
> --- a/meta/recipes-core/uclibc/uclibc-git.inc
> +++ b/meta/recipes-core/uclibc/uclibc-git.inc
> @@ -6,6 +6,7 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/uclibc-git:"
>
>  SRC_URI = "git://uclibc-ng.org/git/uclibc-ng \
>          file://0001-Disable-lrount_tes-function.patch \
> +        file://0001-Provide-an-alias-to-_obstack_free.patch \
>          file://uClibc.machine \
>          file://uClibc.distro \
>          file://obstack.cfg \
> diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-Provide-an-alias-to-_obstack_free.patch b/meta/recipes-core/uclibc/uclibc-git/0001-Provide-an-alias-to-_obstack_free.patch
> new file mode 100644
> index 0000000..30b443f
> --- /dev/null
> +++ b/meta/recipes-core/uclibc/uclibc-git/0001-Provide-an-alias-to-_obstack_free.patch
> @@ -0,0 +1,44 @@
> +From 06e4fe64bbd01f16ee84da161b8e1a61e73b4cdb Mon Sep 17 00:00:00 2001
> +From: Alexey Neyman <aneyman@lynx.com>
> +Date: Thu, 31 Mar 2016 13:02:47 -0700
> +Subject: [PATCH] Provide an alias to _obstack_free
> +
> +GDB 7.11 does not build if compiled against uclibc-ng (1.0.12 was used,
> +but the problematic code exists in 1.0.13 as well). The reason is that
> +GDB release includes its own obstack implementation, but elides the code
> +if <gnu-versions.h> declares a compatible obstack implementation in
> +libc. uclibc-ng does claim compatible obstack interface (GDB expects
> +version 2, but accepts version 1 if sizeof(int) == sizeof(size_t)),
> +however, uclibc-ng does not provide the _obstack_free symbol that is a
> +part of the interface (glibc does provide this symbol). This later
> +causes a link failure.
> +
> +The attached patch makes uclibc-ng enables an alias _obstack_free ->
> +obstack_free.
> +
> +Signed-off-by: Alexey Neyman <stilor@att.net>
> +---
> +Upstream-Status: Backport
> +
> + libc/misc/gnu/obstack.c | 2 --
> + 1 file changed, 2 deletions(-)
> +
> +diff --git a/libc/misc/gnu/obstack.c b/libc/misc/gnu/obstack.c
> +index 38cfd83..6acc567 100644
> +--- a/libc/misc/gnu/obstack.c
> ++++ b/libc/misc/gnu/obstack.c
> +@@ -385,11 +385,9 @@ obstack_free (struct obstack *h, void *obj)
> +     abort ();
> + }
> +
> +-# if 0
> + /* Older versions of libc used a function _obstack_free intended to be
> +    called by non-GCC compilers.  */
> + strong_alias (obstack_free, _obstack_free)
> +-# endif
> +
> + int
> + _obstack_memory_used (struct obstack *h)
> +--
> +2.8.1
> +
> --
> 2.8.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


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

* Re: [PATCH 4/4] uclibc: really enable verbose compilation
  2016-06-24 13:51     ` Burton, Ross
@ 2016-06-24 13:57       ` Khem Raj
  2016-06-24 14:19         ` André Draszik
  0 siblings, 1 reply; 13+ messages in thread
From: Khem Raj @ 2016-06-24 13:57 UTC (permalink / raw)
  To: Burton, Ross; +Cc: Patches and discussions about the oe-core layer

On Fri, Jun 24, 2016 at 6:51 AM, Burton, Ross <ross.burton@intel.com> wrote:
>
> On 24 June 2016 at 14:46, Khem Raj <raj.khem@gmail.com> wrote:
>>
>> keep V=2
>
>
> That's very concise Khem.  If V=2 doesn't produce verbose output but V=1 in
> EXTRA_OEMAKE does, why keep the export V=2?

too early here for me. I took it as if exporting it did not work , so
now I tried here with uclibc-ng for both

make V=2

  CC ldso/ldso/ldso.oS -DNDEBUG -DNOT_IN_libc -DIS_IN_rtld
-DUCLIBC_RUNTIME_PREFIX="/usr/x86_64-linux-uclibc/"
-DUCLIBC_LDSO="ld64-uClibc.so.1" -DIN_LIB=rtld -DSHARED
-DLDSO_ELFINTERP="x86_64/elfinterp.c"

make V=1

gcc -c ldso/ldso/ldso.c -o /tmp/uu/ldso/ldso/ldso.oS -Wall
-Wstrict-prototypes -Wstrict-aliasing -funsigned-char -fno-builtin
-fno-asm -fmerge-all-constants -std=gnu99 -fno-stack-protector
-nostdinc -I/tmp/uu/include -I./include -include libc-symbols.h
-I./libc/sysdeps/linux/x86_64 -I./libc/sysdeps/linux
-I./ldso/ldso/x86_64 -I./ldso/include -I. -Os -fstrict-aliasing
-I./libc/sysdeps/linux/common -isystem
/usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/include-fixed -isystem
/usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/include -I/ -DNDEBUG
-DNOT_IN_libc -DIS_IN_rtld -fno-stack-protector
-fno-omit-frame-pointer -I./ldso/ldso/x86_64 -I./ldso/include
-I./ldso/ldso -DUCLIBC_RUNTIME_PREFIX=\"/usr/x86_64-linux-uclibc/\"
-DUCLIBC_LDSO=\"ld64-uClibc.so.1\" -DIN_LIB=rtld -fPIC -DSHARED
-DLDSO_ELFINTERP=\"x86_64/elfinterp.c\" -MT /tmp/uu/ldso/ldso/ldso.oS
-MD -MP -MF /tmp/uu/ldso/ldso/.ldso.oS.dep

So it must be local issue.

>
> Ross


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

* Re: [PATCH 4/4] uclibc: really enable verbose compilation
  2016-06-24 13:57       ` Khem Raj
@ 2016-06-24 14:19         ` André Draszik
  2016-06-24 14:32           ` André Draszik
  2016-06-24 14:59           ` Khem Raj
  0 siblings, 2 replies; 13+ messages in thread
From: André Draszik @ 2016-06-24 14:19 UTC (permalink / raw)
  To: Khem Raj, Burton, Ross; +Cc: Patches and discussions about the oe-core layer

Hi Khem,

On Fr, 2016-06-24 at 06:57 -0700, Khem Raj wrote:
> make V=2
> 
>   CC ldso/ldso/ldso.oS -DNDEBUG -DNOT_IN_libc -DIS_IN_rtld
> -DUCLIBC_RUNTIME_PREFIX="/usr/x86_64-linux-uclibc/"
> -DUCLIBC_LDSO="ld64-uClibc.so.1" -DIN_LIB=rtld -DSHARED
> -DLDSO_ELFINTERP="x86_64/elfinterp.c"
> 
> make V=1
> 
> gcc -c ldso/ldso/ldso.c -o /tmp/uu/ldso/ldso/ldso.oS -Wall
> -Wstrict-prototypes -Wstrict-aliasing -funsigned-char -fno-builtin
> -fno-asm -fmerge-all-constants -std=gnu99 -fno-stack-protector
> -nostdinc -I/tmp/uu/include -I./include -include libc-symbols.h
> -I./libc/sysdeps/linux/x86_64 -I./libc/sysdeps/linux
> -I./ldso/ldso/x86_64 -I./ldso/include -I. -Os -fstrict-aliasing
> -I./libc/sysdeps/linux/common -isystem
> /usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/include-fixed -isystem
> /usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/include -I/ -DNDEBUG
> -DNOT_IN_libc -DIS_IN_rtld -fno-stack-protector
> -fno-omit-frame-pointer -I./ldso/ldso/x86_64 -I./ldso/include
> -I./ldso/ldso -DUCLIBC_RUNTIME_PREFIX=\"/usr/x86_64-linux-uclibc/\"
> -DUCLIBC_LDSO=\"ld64-uClibc.so.1\" -DIN_LIB=rtld -fPIC -DSHARED
> -DLDSO_ELFINTERP=\"x86_64/elfinterp.c\" -MT /tmp/uu/ldso/ldso/ldso.oS
> -MD -MP -MF /tmp/uu/ldso/ldso/.ldso.oS.dep
> 
> So it must be local issue.

Well exactly, V=1 gives more verbose output than V=2 :-)

One of the reasons this is useful is that with V=1 one can now simply
copy/paste the command line and modify it for test purposes. In addition,
you can easily verify that everything is on the command line as expected.

make V=2

  CC libc/sysdeps/linux/common/execve.os -D__USE_STDIO_FUTEXES__
-DHAVE_FORCED_UNWIND -D_LIBC_REENTRANT -DNDEBUG -DIN_LIB=libc


vs.

make V=1

mipsel-poky-linux-uclibc-gcc  -mel -mabi=32 -msoft-float -march=mips32r2
-mno-mips16  -minterlink-compressed -mtune=24kec -mdsp --sysroot=<sysroot1>
-c libc/sysdeps/linux/common/execve.c -o libc/sysdeps/linux/common/execve.os
-Wall -Wstrict-prototypes -Wstrict-aliasing -funsigned-char -fno-builtin
-fno-asm -fmerge-all-constants -msoft-float -std=gnu99 -mabi=32 -fno-stack-
protector -nostdinc -I./include -I./include -include libc-symbols.h
-I./libc/sysdeps/linux/mips -I./libc/sysdeps/linux -I./ldso/ldso/mips
-I./ldso/include -I. -Os -fstrict-aliasing -mno-split-addresses -O2 -pipe -g
-feliminate-unused-debug-types -fdebug-prefix-
map=<map1>=/usr/src/debug/uclibc/1.0.15+gitAUTOINC+95174cb69c-r0 -fdebug-
prefix-map=<map2>= -fdebug-prefix-map=<map3>= -D__USE_STDIO_FUTEXES__
-DHAVE_FORCED_UNWIND -D_LIBC_REENTRANT -I./libpthread/nptl
-I./libpthread/nptl -I./libpthread/nptl/sysdeps/unix/sysv/linux/mips
-I./libpthread/nptl/sysdeps/mips -I./libpthread/nptl/sysdeps/mips
-I./libpthread/nptl/sysdeps/unix/sysv/linux
-I./libpthread/nptl/sysdeps/unix/sysv/linux
-I./libpthread/nptl/sysdeps/pthread -I./libpthread/nptl/sysdeps/pthread/bits
-I./libpthread/nptl/sysdeps/generic -I./libc/sysdeps/linux/common -isystem
<...>/x86_64-linux/usr/lib/mipsel-poky-linux-uclibc.gcc-cross-initial-
mipsel/gcc/mipsel-poky-linux-uclibc/6.1.1/include-fixed -isystem .../x86_64-
linux/usr/lib/mipsel-poky-linux-uclibc.gcc-cross-initial-mipsel/gcc/mipsel-
poky-linux-uclibc/6.1.1/include -I.../usr/include/ -DNDEBUG -DIN_LIB=libc
-fPIC -MT libc/sysdeps/linux/common/execve.os -MD -MP -MF
libc/sysdeps/linux/common/.execve.os.dep


I honestly think the latter to be more useful...


Cheers,
Andre'



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

* Re: [PATCH 4/4] uclibc: really enable verbose compilation
  2016-06-24 14:19         ` André Draszik
@ 2016-06-24 14:32           ` André Draszik
  2016-06-24 14:59           ` Khem Raj
  1 sibling, 0 replies; 13+ messages in thread
From: André Draszik @ 2016-06-24 14:32 UTC (permalink / raw)
  To: Khem Raj, Burton, Ross; +Cc: Patches and discussions about the oe-core layer

On Fr, 2016-06-24 at 15:19 +0100, André Draszik wrote:
> Well exactly, V=1 gives more verbose output than V=2 :-)

I'm happy enough if this patch is not wanted, though.

Is there a consensus somewhere? E.g. autotools.bbclass and cmake.bbclass
both enable verbose makefiles by default...

Cheers,
Andre'



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

* [PATCH 3/4 v2] uclibc: backport patch to fix gdb 7.11 compilation
  2016-06-24 10:54 ` [PATCH 3/4] uclibc: backport patch to fix gdb 7.11 compilation André Draszik
  2016-06-24 13:52   ` Khem Raj
@ 2016-06-24 14:39   ` André Draszik
  1 sibling, 0 replies; 13+ messages in thread
From: André Draszik @ 2016-06-24 14:39 UTC (permalink / raw)
  To: openembedded-core

From: André Draszik <adraszik@tycoint.com>

[YOCTO #9781]

Signed-off-by: André Draszik <adraszik@tycoint.com>
---
 meta/recipes-core/uclibc/uclibc-git.inc            |  1 +
 .../0001-Provide-an-alias-to-_obstack_free.patch   | 44 ++++++++++++++++++++++
 2 files changed, 45 insertions(+)
 create mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-Provide-an-alias-to-_obstack_free.patch

diff --git a/meta/recipes-core/uclibc/uclibc-git.inc b/meta/recipes-core/uclibc/uclibc-git.inc
index a56fa7c..718bee9 100644
--- a/meta/recipes-core/uclibc/uclibc-git.inc
+++ b/meta/recipes-core/uclibc/uclibc-git.inc
@@ -6,6 +6,7 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/uclibc-git:"
 
 SRC_URI = "git://uclibc-ng.org/git/uclibc-ng \
         file://0001-Disable-lrount_tes-function.patch \
+        file://0001-Provide-an-alias-to-_obstack_free.patch \
         file://uClibc.machine \
         file://uClibc.distro \
         file://obstack.cfg \
diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-Provide-an-alias-to-_obstack_free.patch b/meta/recipes-core/uclibc/uclibc-git/0001-Provide-an-alias-to-_obstack_free.patch
new file mode 100644
index 0000000..30b443f
--- /dev/null
+++ b/meta/recipes-core/uclibc/uclibc-git/0001-Provide-an-alias-to-_obstack_free.patch
@@ -0,0 +1,44 @@
+From 06e4fe64bbd01f16ee84da161b8e1a61e73b4cdb Mon Sep 17 00:00:00 2001
+From: Alexey Neyman <aneyman@lynx.com>
+Date: Thu, 31 Mar 2016 13:02:47 -0700
+Subject: [PATCH] Provide an alias to _obstack_free
+
+GDB 7.11 does not build if compiled against uclibc-ng (1.0.12 was used,
+but the problematic code exists in 1.0.13 as well). The reason is that
+GDB release includes its own obstack implementation, but elides the code
+if <gnu-versions.h> declares a compatible obstack implementation in
+libc. uclibc-ng does claim compatible obstack interface (GDB expects
+version 2, but accepts version 1 if sizeof(int) == sizeof(size_t)),
+however, uclibc-ng does not provide the _obstack_free symbol that is a
+part of the interface (glibc does provide this symbol). This later
+causes a link failure.
+
+The attached patch makes uclibc-ng enables an alias _obstack_free ->
+obstack_free.
+
+Signed-off-by: Alexey Neyman <stilor@att.net>
+---
+Upstream-Status: Backport
+
+ libc/misc/gnu/obstack.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/libc/misc/gnu/obstack.c b/libc/misc/gnu/obstack.c
+index 38cfd83..6acc567 100644
+--- a/libc/misc/gnu/obstack.c
++++ b/libc/misc/gnu/obstack.c
+@@ -385,11 +385,9 @@ obstack_free (struct obstack *h, void *obj)
+     abort ();
+ }
+ 
+-# if 0
+ /* Older versions of libc used a function _obstack_free intended to be
+    called by non-GCC compilers.  */
+ strong_alias (obstack_free, _obstack_free)
+-# endif
+ 
+ int
+ _obstack_memory_used (struct obstack *h)
+-- 
+2.8.1
+
-- 
2.8.1



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

* Re: [PATCH 4/4] uclibc: really enable verbose compilation
  2016-06-24 14:19         ` André Draszik
  2016-06-24 14:32           ` André Draszik
@ 2016-06-24 14:59           ` Khem Raj
  1 sibling, 0 replies; 13+ messages in thread
From: Khem Raj @ 2016-06-24 14:59 UTC (permalink / raw)
  To: André Draszik; +Cc: Patches and discussions about the oe-core layer

On Fri, Jun 24, 2016 at 7:19 AM, André Draszik <git@andred.net> wrote:
> Hi Khem,
>
> On Fr, 2016-06-24 at 06:57 -0700, Khem Raj wrote:
>> make V=2
>>
>>   CC ldso/ldso/ldso.oS -DNDEBUG -DNOT_IN_libc -DIS_IN_rtld
>> -DUCLIBC_RUNTIME_PREFIX="/usr/x86_64-linux-uclibc/"
>> -DUCLIBC_LDSO="ld64-uClibc.so.1" -DIN_LIB=rtld -DSHARED
>> -DLDSO_ELFINTERP="x86_64/elfinterp.c"
>>
>> make V=1
>>
>> gcc -c ldso/ldso/ldso.c -o /tmp/uu/ldso/ldso/ldso.oS -Wall
>> -Wstrict-prototypes -Wstrict-aliasing -funsigned-char -fno-builtin
>> -fno-asm -fmerge-all-constants -std=gnu99 -fno-stack-protector
>> -nostdinc -I/tmp/uu/include -I./include -include libc-symbols.h
>> -I./libc/sysdeps/linux/x86_64 -I./libc/sysdeps/linux
>> -I./ldso/ldso/x86_64 -I./ldso/include -I. -Os -fstrict-aliasing
>> -I./libc/sysdeps/linux/common -isystem
>> /usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/include-fixed -isystem
>> /usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/include -I/ -DNDEBUG
>> -DNOT_IN_libc -DIS_IN_rtld -fno-stack-protector
>> -fno-omit-frame-pointer -I./ldso/ldso/x86_64 -I./ldso/include
>> -I./ldso/ldso -DUCLIBC_RUNTIME_PREFIX=\"/usr/x86_64-linux-uclibc/\"
>> -DUCLIBC_LDSO=\"ld64-uClibc.so.1\" -DIN_LIB=rtld -fPIC -DSHARED
>> -DLDSO_ELFINTERP=\"x86_64/elfinterp.c\" -MT /tmp/uu/ldso/ldso/ldso.oS
>> -MD -MP -MF /tmp/uu/ldso/ldso/.ldso.oS.dep
>>
>> So it must be local issue.
>
> Well exactly, V=1 gives more verbose output than V=2 :-)
>
> One of the reasons this is useful is that with V=1 one can now simply
> copy/paste the command line and modify it for test purposes. In addition,
> you can easily verify that everything is on the command line as expected.
>
> make V=2
>
>   CC libc/sysdeps/linux/common/execve.os -D__USE_STDIO_FUTEXES__
> -DHAVE_FORCED_UNWIND -D_LIBC_REENTRANT -DNDEBUG -DIN_LIB=libc
>
>
> vs.
>
> make V=1
>
> mipsel-poky-linux-uclibc-gcc  -mel -mabi=32 -msoft-float -march=mips32r2
> -mno-mips16  -minterlink-compressed -mtune=24kec -mdsp --sysroot=<sysroot1>
> -c libc/sysdeps/linux/common/execve.c -o libc/sysdeps/linux/common/execve.os
> -Wall -Wstrict-prototypes -Wstrict-aliasing -funsigned-char -fno-builtin
> -fno-asm -fmerge-all-constants -msoft-float -std=gnu99 -mabi=32 -fno-stack-
> protector -nostdinc -I./include -I./include -include libc-symbols.h
> -I./libc/sysdeps/linux/mips -I./libc/sysdeps/linux -I./ldso/ldso/mips
> -I./ldso/include -I. -Os -fstrict-aliasing -mno-split-addresses -O2 -pipe -g
> -feliminate-unused-debug-types -fdebug-prefix-
> map=<map1>=/usr/src/debug/uclibc/1.0.15+gitAUTOINC+95174cb69c-r0 -fdebug-
> prefix-map=<map2>= -fdebug-prefix-map=<map3>= -D__USE_STDIO_FUTEXES__
> -DHAVE_FORCED_UNWIND -D_LIBC_REENTRANT -I./libpthread/nptl
> -I./libpthread/nptl -I./libpthread/nptl/sysdeps/unix/sysv/linux/mips
> -I./libpthread/nptl/sysdeps/mips -I./libpthread/nptl/sysdeps/mips
> -I./libpthread/nptl/sysdeps/unix/sysv/linux
> -I./libpthread/nptl/sysdeps/unix/sysv/linux
> -I./libpthread/nptl/sysdeps/pthread -I./libpthread/nptl/sysdeps/pthread/bits
> -I./libpthread/nptl/sysdeps/generic -I./libc/sysdeps/linux/common -isystem
> <...>/x86_64-linux/usr/lib/mipsel-poky-linux-uclibc.gcc-cross-initial-
> mipsel/gcc/mipsel-poky-linux-uclibc/6.1.1/include-fixed -isystem .../x86_64-
> linux/usr/lib/mipsel-poky-linux-uclibc.gcc-cross-initial-mipsel/gcc/mipsel-
> poky-linux-uclibc/6.1.1/include -I.../usr/include/ -DNDEBUG -DIN_LIB=libc
> -fPIC -MT libc/sysdeps/linux/common/execve.os -MD -MP -MF
> libc/sysdeps/linux/common/.execve.os.dep
>
>
> I honestly think the latter to be more useful...

then say that in your commit message in its current form its
misleading. I am ok with using V=1

>
>
> Cheers,
> Andre'
>


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

* [PATCH 4/4 v2] uclibc: re-enable verbose compilation
  2016-06-24 10:54 ` [PATCH 4/4] uclibc: really enable verbose compilation André Draszik
  2016-06-24 13:46   ` Khem Raj
@ 2016-06-24 15:30   ` André Draszik
  1 sibling, 0 replies; 13+ messages in thread
From: André Draszik @ 2016-06-24 15:30 UTC (permalink / raw)
  To: openembedded-core

From: André Draszik <adraszik@tycoint.com>

uClibc-ng swapped the meaning of V=1 and V=2 in 2015 before
the 1.0.3 release.

Before that, V=2 printed the full commands while V=1 printed the
abbreviated versions.

This recipe was never updated to follow the change and we since
see brief build output only.

At the same time, convert V from an environment variable to
a make variable by adding to EXTRA_OEMAKE, so as to be in
line with how things are done in other recipes that use
kbuild.

Signed-off-by: André Draszik <adraszik@tycoint.com>
---
 meta/recipes-core/uclibc/uclibc.inc | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-core/uclibc/uclibc.inc b/meta/recipes-core/uclibc/uclibc.inc
index 71d4bdd..57f87fa 100644
--- a/meta/recipes-core/uclibc/uclibc.inc
+++ b/meta/recipes-core/uclibc/uclibc.inc
@@ -52,13 +52,11 @@ EXTRA_OEMAKE = "${OEMAKE_NO_CC} \
                 'HOSTCC=${BUILD_CC}' \
                 'HOST_CFLAGS=${BUILD_CFLAGS}' \
                 'CC=${CC}' \
-                ARCH=${UCLIBC_ARCH}"
+                ARCH=${UCLIBC_ARCH} \
+                V=1"
 
 EXTRA_OEMAKE_task_do_package = "${OEMAKE_NO_CC}"
 
-# enable verbose output:
-export V="2"
-
 # -O<n> -fno-omit-frame-pointer ends up with GCC ICE on thumb as reported
 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44860
 #
-- 
2.8.1



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

end of thread, other threads:[~2016-06-24 15:30 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-24 10:54 [PATCH 1/4] libidn: fix QA warning (uClibc) André Draszik
2016-06-24 10:54 ` [PATCH 2/4] json-c: backport patch to fix uClibc link issues André Draszik
2016-06-24 10:54 ` [PATCH 3/4] uclibc: backport patch to fix gdb 7.11 compilation André Draszik
2016-06-24 13:52   ` Khem Raj
2016-06-24 14:39   ` [PATCH 3/4 v2] " André Draszik
2016-06-24 10:54 ` [PATCH 4/4] uclibc: really enable verbose compilation André Draszik
2016-06-24 13:46   ` Khem Raj
2016-06-24 13:51     ` Burton, Ross
2016-06-24 13:57       ` Khem Raj
2016-06-24 14:19         ` André Draszik
2016-06-24 14:32           ` André Draszik
2016-06-24 14:59           ` Khem Raj
2016-06-24 15:30   ` [PATCH 4/4 v2] uclibc: re-enable " André Draszik

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.