* [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.