* [krogoth][PATCH 1/8] pkgconfig: Fix build with gcc-6
2016-07-15 1:49 [krogoth][PATCH 0/8] Fixes for gcc-6 (Fedora-24) Tim Orling
@ 2016-07-15 1:49 ` Tim Orling
2016-07-15 13:53 ` akuster808
2016-07-15 1:49 ` [krogoth][PATCH 2/8] elfutils-0.148: Fix build with gcc6 Tim Orling
` (7 subsequent siblings)
8 siblings, 1 reply; 17+ messages in thread
From: Tim Orling @ 2016-07-15 1:49 UTC (permalink / raw)
To: openembedded-core
Our patch in master was on top of 0.29.1 update.
commit b83a808fcbd3e7aec3b0757c7180cf83dac44e92
Apply to krogoth stable 0.29 version instead.
[YOCTO #9897] (Fedora-24)
Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
---
...te-suppress-string-format-literal-warning.patch | 34 ++++++++++++++++++++++
meta/recipes-devtools/pkgconfig/pkgconfig_git.bb | 1 +
2 files changed, 35 insertions(+)
create mode 100644 meta/recipes-devtools/pkgconfig/pkgconfig/0001-gdate-suppress-string-format-literal-warning.patch
diff --git a/meta/recipes-devtools/pkgconfig/pkgconfig/0001-gdate-suppress-string-format-literal-warning.patch b/meta/recipes-devtools/pkgconfig/pkgconfig/0001-gdate-suppress-string-format-literal-warning.patch
new file mode 100644
index 0000000..830d3d2
--- /dev/null
+++ b/meta/recipes-devtools/pkgconfig/pkgconfig/0001-gdate-suppress-string-format-literal-warning.patch
@@ -0,0 +1,34 @@
+The upstream patch would not apply cleanly, so perform the same changes.
+
+Original patch header:
+From 00148329967adb196138372771052a3f606a6ea3 Mon Sep 17 00:00:00 2001
+From: coypu <coypu@sdf.org>
+Date: Wed, 2 Mar 2016 19:43:10 +0200
+Subject: [PATCH 2/2] gdate: Suppress string format literal warning
+
+Newer versions of GCC emit an error here, but we know it's safe.
+https://bugzilla.gnome.org/761550
+
+Upstream-Status: Backport
+
+Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
+
+Index: git/glib/glib/gdate.c
+===================================================================
+--- git.orig/glib/glib/gdate.c
++++ git/glib/glib/gdate.c
+@@ -2439,6 +2439,8 @@ win32_strftime_helper (const GDate *
+ *
+ * Returns: number of characters written to the buffer, or 0 the buffer was too small
+ */
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wformat-nonliteral"
+ gsize
+ g_date_strftime (gchar *s,
+ gsize slen,
+@@ -2549,3 +2551,5 @@ g_date_strftime (gchar *s,
+ return retval;
+ #endif
+ }
++
++#pragma GCC diagnostic pop
diff --git a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
index d34f608..cd4dc8e 100644
--- a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
+++ b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
@@ -18,6 +18,7 @@ PV = "0.29+git${SRCPV}"
SRC_URI = "git://anongit.freedesktop.org/pkg-config \
file://pkg-config-native.in \
file://fix-glib-configure-libtool-usage.patch \
+ file://0001-gdate-suppress-string-format-literal-warning.patch \
"
S = "${WORKDIR}/git"
--
2.7.4
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [krogoth][PATCH 1/8] pkgconfig: Fix build with gcc-6
2016-07-15 1:49 ` [krogoth][PATCH 1/8] pkgconfig: Fix build with gcc-6 Tim Orling
@ 2016-07-15 13:53 ` akuster808
2016-07-15 14:08 ` Burton, Ross
0 siblings, 1 reply; 17+ messages in thread
From: akuster808 @ 2016-07-15 13:53 UTC (permalink / raw)
To: Tim Orling, openembedded-core
So this is the host gcc not the one in OE?
- armin
On 07/14/2016 06:49 PM, Tim Orling wrote:
> Our patch in master was on top of 0.29.1 update.
> commit b83a808fcbd3e7aec3b0757c7180cf83dac44e92
>
> Apply to krogoth stable 0.29 version instead.
>
> [YOCTO #9897] (Fedora-24)
>
> Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
> ---
> ...te-suppress-string-format-literal-warning.patch | 34 ++++++++++++++++++++++
> meta/recipes-devtools/pkgconfig/pkgconfig_git.bb | 1 +
> 2 files changed, 35 insertions(+)
> create mode 100644 meta/recipes-devtools/pkgconfig/pkgconfig/0001-gdate-suppress-string-format-literal-warning.patch
>
> diff --git a/meta/recipes-devtools/pkgconfig/pkgconfig/0001-gdate-suppress-string-format-literal-warning.patch b/meta/recipes-devtools/pkgconfig/pkgconfig/0001-gdate-suppress-string-format-literal-warning.patch
> new file mode 100644
> index 0000000..830d3d2
> --- /dev/null
> +++ b/meta/recipes-devtools/pkgconfig/pkgconfig/0001-gdate-suppress-string-format-literal-warning.patch
> @@ -0,0 +1,34 @@
> +The upstream patch would not apply cleanly, so perform the same changes.
> +
> +Original patch header:
> +From 00148329967adb196138372771052a3f606a6ea3 Mon Sep 17 00:00:00 2001
> +From: coypu <coypu@sdf.org>
> +Date: Wed, 2 Mar 2016 19:43:10 +0200
> +Subject: [PATCH 2/2] gdate: Suppress string format literal warning
> +
> +Newer versions of GCC emit an error here, but we know it's safe.
> +https://bugzilla.gnome.org/761550
> +
> +Upstream-Status: Backport
> +
> +Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
> +
> +Index: git/glib/glib/gdate.c
> +===================================================================
> +--- git.orig/glib/glib/gdate.c
> ++++ git/glib/glib/gdate.c
> +@@ -2439,6 +2439,8 @@ win32_strftime_helper (const GDate *
> + *
> + * Returns: number of characters written to the buffer, or 0 the buffer was too small
> + */
> ++#pragma GCC diagnostic push
> ++#pragma GCC diagnostic ignored "-Wformat-nonliteral"
> + gsize
> + g_date_strftime (gchar *s,
> + gsize slen,
> +@@ -2549,3 +2551,5 @@ g_date_strftime (gchar *s,
> + return retval;
> + #endif
> + }
> ++
> ++#pragma GCC diagnostic pop
> diff --git a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
> index d34f608..cd4dc8e 100644
> --- a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
> +++ b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
> @@ -18,6 +18,7 @@ PV = "0.29+git${SRCPV}"
> SRC_URI = "git://anongit.freedesktop.org/pkg-config \
> file://pkg-config-native.in \
> file://fix-glib-configure-libtool-usage.patch \
> + file://0001-gdate-suppress-string-format-literal-warning.patch \
> "
>
> S = "${WORKDIR}/git"
>
^ permalink raw reply [flat|nested] 17+ messages in thread* Re: [krogoth][PATCH 1/8] pkgconfig: Fix build with gcc-6
2016-07-15 13:53 ` akuster808
@ 2016-07-15 14:08 ` Burton, Ross
2016-07-15 14:27 ` akuster808
0 siblings, 1 reply; 17+ messages in thread
From: Burton, Ross @ 2016-07-15 14:08 UTC (permalink / raw)
To: akuster808; +Cc: OE-core
[-- Attachment #1: Type: text/plain, Size: 186 bytes --]
On 15 July 2016 at 14:53, akuster808 <akuster808@gmail.com> wrote:
> So this is the host gcc not the one in OE?
>
Yes, the situation was host with gcc6 building krogoth.
Ross
[-- Attachment #2: Type: text/html, Size: 593 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [krogoth][PATCH 1/8] pkgconfig: Fix build with gcc-6
2016-07-15 14:08 ` Burton, Ross
@ 2016-07-15 14:27 ` akuster808
2016-07-15 17:32 ` Tim Orling
0 siblings, 1 reply; 17+ messages in thread
From: akuster808 @ 2016-07-15 14:27 UTC (permalink / raw)
To: Burton, Ross; +Cc: OE-core
On 07/15/2016 07:08 AM, Burton, Ross wrote:
> On 15 July 2016 at 14:53, akuster808 <akuster808@gmail.com> wrote:
>
>> So this is the host gcc not the one in OE?
>>
>
> Yes, the situation was host with gcc6 building krogoth.
Thanks. After looking further down the queue I found the PATCH 0/8 and
it explained.
The original master commits are cryptic on which GCC 6 has the issue.
thanks,
- Armin
>
> Ross
>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [krogoth][PATCH 1/8] pkgconfig: Fix build with gcc-6
2016-07-15 14:27 ` akuster808
@ 2016-07-15 17:32 ` Tim Orling
0 siblings, 0 replies; 17+ messages in thread
From: Tim Orling @ 2016-07-15 17:32 UTC (permalink / raw)
To: akuster808; +Cc: OE-core
[-- Attachment #1: Type: text/plain, Size: 1056 bytes --]
On Fri, Jul 15, 2016 at 7:27 AM, akuster808 <akuster808@gmail.com> wrote:
>
>
> On 07/15/2016 07:08 AM, Burton, Ross wrote:
> > On 15 July 2016 at 14:53, akuster808 <akuster808@gmail.com> wrote:
> >
> >> So this is the host gcc not the one in OE?
> >>
> >
> > Yes, the situation was host with gcc6 building krogoth.
>
> Thanks. After looking further down the queue I found the PATCH 0/8 and
> it explained.
>
> The original master commits are cryptic on which GCC 6 has the issue.
>
>
Sorry. I wasn't thinking about that when I did the cherry-picks. This was
all for gcc-6 on host only, but those commits have no indication of that.
And of course the cover-letter will not be in the git history.
I probably should have done rebase reword on them for clarity.
Cheers.
--Tim
> thanks,
> - Armin
> >
> > Ross
> >
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
[-- Attachment #2: Type: text/html, Size: 1921 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* [krogoth][PATCH 2/8] elfutils-0.148: Fix build with gcc6
2016-07-15 1:49 [krogoth][PATCH 0/8] Fixes for gcc-6 (Fedora-24) Tim Orling
2016-07-15 1:49 ` [krogoth][PATCH 1/8] pkgconfig: Fix build with gcc-6 Tim Orling
@ 2016-07-15 1:49 ` Tim Orling
2016-07-15 1:49 ` [krogoth][PATCH 3/8] elfutils: Fix build for gcc-6 Tim Orling
` (6 subsequent siblings)
8 siblings, 0 replies; 17+ messages in thread
From: Tim Orling @ 2016-07-15 1:49 UTC (permalink / raw)
To: openembedded-core
From: Khem Raj <raj.khem@gmail.com>
(From OE-Core rev: c2668171f5d76bfea085ecf2fa7dfe1e42df1e63)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
.../elfutils/elfutils-0.148/gcc6.patch | 23 ++++++++++++++++++++++
meta/recipes-devtools/elfutils/elfutils_0.148.bb | 1 +
2 files changed, 24 insertions(+)
create mode 100644 meta/recipes-devtools/elfutils/elfutils-0.148/gcc6.patch
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/gcc6.patch b/meta/recipes-devtools/elfutils/elfutils-0.148/gcc6.patch
new file mode 100644
index 0000000..b56a754
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.148/gcc6.patch
@@ -0,0 +1,23 @@
+Fix warnings found with gcc6
+
+| ../../elfutils-0.148/libdw/dwarf_siblingof.c: In function 'dwarf_siblingof':
+| ../../elfutils-0.148/libdw/dwarf_siblingof.c:69:6: error: nonnull argument 'result' compared to NULL [-Werror=nonnull-compare]
+| if (result == NULL)
+| ^
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Inappropriate [ unmaintained ]
+Index: elfutils-0.148/libdw/dwarf_siblingof.c
+===================================================================
+--- elfutils-0.148.orig/libdw/dwarf_siblingof.c
++++ elfutils-0.148/libdw/dwarf_siblingof.c
+@@ -66,9 +66,6 @@ dwarf_siblingof (die, result)
+ if (die == NULL)
+ return -1;
+
+- if (result == NULL)
+- return -1;
+-
+ if (result != die)
+ result->addr = NULL;
+
diff --git a/meta/recipes-devtools/elfutils/elfutils_0.148.bb b/meta/recipes-devtools/elfutils/elfutils_0.148.bb
index ff53257..6080c17 100644
--- a/meta/recipes-devtools/elfutils/elfutils_0.148.bb
+++ b/meta/recipes-devtools/elfutils/elfutils_0.148.bb
@@ -34,6 +34,7 @@ SRC_URI += "\
file://Fix_elf_cvt_gunhash.patch \
file://elf_begin.c-CVE-2014-9447-fix.patch \
file://fix-build-gcc-4.8.patch \
+ file://gcc6.patch \
"
# Only apply when building uclibc based target recipe
SRC_URI_append_libc-uclibc = " file://uclibc-support-for-elfutils-0.148.patch"
--
2.7.4
^ permalink raw reply related [flat|nested] 17+ messages in thread* [krogoth][PATCH 3/8] elfutils: Fix build for gcc-6
2016-07-15 1:49 [krogoth][PATCH 0/8] Fixes for gcc-6 (Fedora-24) Tim Orling
2016-07-15 1:49 ` [krogoth][PATCH 1/8] pkgconfig: Fix build with gcc-6 Tim Orling
2016-07-15 1:49 ` [krogoth][PATCH 2/8] elfutils-0.148: Fix build with gcc6 Tim Orling
@ 2016-07-15 1:49 ` Tim Orling
2016-07-15 1:49 ` [krogoth][PATCH 4/8] rpm: Fix build with gcc6 Tim Orling
` (5 subsequent siblings)
8 siblings, 0 replies; 17+ messages in thread
From: Tim Orling @ 2016-07-15 1:49 UTC (permalink / raw)
To: openembedded-core
Backport patch from upstream.
[YOCTO #9897] (Fedora-24)
Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
---
...missing-brackets-around-if-statement-body.patch | 419 +++++++++++++++++++++
meta/recipes-devtools/elfutils/elfutils_0.164.bb | 1 +
2 files changed, 420 insertions(+)
create mode 100644 meta/recipes-devtools/elfutils/elfutils-0.164/libebl-Fix-missing-brackets-around-if-statement-body.patch
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.164/libebl-Fix-missing-brackets-around-if-statement-body.patch b/meta/recipes-devtools/elfutils/elfutils-0.164/libebl-Fix-missing-brackets-around-if-statement-body.patch
new file mode 100644
index 0000000..8399133
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.164/libebl-Fix-missing-brackets-around-if-statement-body.patch
@@ -0,0 +1,419 @@
+The upstream patch libebl/Changelog does not apply cleanly.
+Modify the patch to skip that change only.
+
+Upstream-Status: Backport
+
+Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
+
+From c5da7c9e08c2bdb6dba8e115dcc09ed51a07f0e4 Mon Sep 17 00:00:00 2001
+From: Mark Wielaard <mjw@redhat.com>
+Date: Sat, 9 Jan 2016 22:09:48 +0100
+Subject: libebl: Fix missing brackets around if statement body.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+GCC6 [will have] a nice new warning that showed a real bug:
+
+elfutils/libebl/eblobjnote.c: In function ‘ebl_object_note’:
+elfutils/libebl/eblobjnote.c:135:5: error: statement is indented as if it were guarded by... [-Werror=misleading-indentation]
+ switch (type)
+ ^~~~~~
+
+elfutils/libebl/eblobjnote.c:45:3: note: ...this ‘if’ clause, but it is not
+ if (! ebl->object_note (name, type, descsz, desc))
+ ^~
+
+And indeed, it should have been under the if, but wasn't because of missing
+brackets. Added brackets (and reindent).
+
+Signed-off-by: Mark Wielaard <mjw@redhat.com>
+---
+ libebl/eblobjnote.c | 362 ++++++++++++++++++++++++++--------------------------
+ 2 files changed, 187 insertions(+), 180 deletions(-)
+
+diff --git a/libebl/eblobjnote.c b/libebl/eblobjnote.c
+index fa1eb93..f80a1a5 100644
+--- a/libebl/eblobjnote.c
++++ b/libebl/eblobjnote.c
+@@ -1,5 +1,5 @@
+ /* Print contents of object file note.
+- Copyright (C) 2002, 2007, 2009, 2011, 2015 Red Hat, Inc.
++ Copyright (C) 2002, 2007, 2009, 2011, 2015, 2016 Red Hat, Inc.
+ This file is part of elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+@@ -43,189 +43,191 @@ ebl_object_note (Ebl *ebl, const char *name, uint32_t type,
+ uint32_t descsz, const char *desc)
+ {
+ if (! ebl->object_note (name, type, descsz, desc))
+- /* The machine specific function did not know this type. */
++ {
++ /* The machine specific function did not know this type. */
+
+- if (strcmp ("stapsdt", name) == 0)
+- {
+- if (type != 3)
+- {
+- printf (gettext ("unknown SDT version %u\n"), type);
+- return;
+- }
+-
+- /* Descriptor starts with three addresses, pc, base ref and
+- semaphore. Then three zero terminated strings provider,
+- name and arguments. */
+-
+- union
++ if (strcmp ("stapsdt", name) == 0)
+ {
+- Elf64_Addr a64[3];
+- Elf32_Addr a32[3];
+- } addrs;
++ if (type != 3)
++ {
++ printf (gettext ("unknown SDT version %u\n"), type);
++ return;
++ }
+
+- size_t addrs_size = gelf_fsize (ebl->elf, ELF_T_ADDR, 3, EV_CURRENT);
+- if (descsz < addrs_size + 3)
+- {
+- invalid_sdt:
+- printf (gettext ("invalid SDT probe descriptor\n"));
+- return;
+- }
++ /* Descriptor starts with three addresses, pc, base ref and
++ semaphore. Then three zero terminated strings provider,
++ name and arguments. */
+
+- Elf_Data src =
++ union
+ {
+- .d_type = ELF_T_ADDR, .d_version = EV_CURRENT,
+- .d_buf = (void *) desc, .d_size = addrs_size
+- };
+-
+- Elf_Data dst =
+- {
+- .d_type = ELF_T_ADDR, .d_version = EV_CURRENT,
+- .d_buf = &addrs, .d_size = addrs_size
+- };
+-
+- if (gelf_xlatetom (ebl->elf, &dst, &src,
+- elf_getident (ebl->elf, NULL)[EI_DATA]) == NULL)
+- {
+- printf ("%s\n", elf_errmsg (-1));
+- return;
+- }
+-
+- const char *provider = desc + addrs_size;
+- const char *pname = memchr (provider, '\0', desc + descsz - provider);
+- if (pname == NULL)
+- goto invalid_sdt;
+-
+- ++pname;
+- const char *args = memchr (pname, '\0', desc + descsz - pname);
+- if (args == NULL ||
+- memchr (++args, '\0', desc + descsz - pname) != desc + descsz - 1)
+- goto invalid_sdt;
+-
+- GElf_Addr pc;
+- GElf_Addr base;
+- GElf_Addr sem;
+- if (gelf_getclass (ebl->elf) == ELFCLASS32)
+- {
+- pc = addrs.a32[0];
+- base = addrs.a32[1];
+- sem = addrs.a32[2];
+- }
+- else
+- {
+- pc = addrs.a64[0];
+- base = addrs.a64[1];
+- sem = addrs.a64[2];
+- }
+-
+- printf (gettext (" PC: "));
+- printf ("%#" PRIx64 ",", pc);
+- printf (gettext (" Base: "));
+- printf ("%#" PRIx64 ",", base);
+- printf (gettext (" Semaphore: "));
+- printf ("%#" PRIx64 "\n", sem);
+- printf (gettext (" Provider: "));
+- printf ("%s,", provider);
+- printf (gettext (" Name: "));
+- printf ("%s,", pname);
+- printf (gettext (" Args: "));
+- printf ("'%s'\n", args);
+- return;
+- }
+-
+- switch (type)
+- {
+- case NT_GNU_BUILD_ID:
+- if (strcmp (name, "GNU") == 0 && descsz > 0)
+- {
+- printf (gettext (" Build ID: "));
+- uint_fast32_t i;
+- for (i = 0; i < descsz - 1; ++i)
+- printf ("%02" PRIx8, (uint8_t) desc[i]);
+- printf ("%02" PRIx8 "\n", (uint8_t) desc[i]);
+- }
+- break;
+-
+- case NT_GNU_GOLD_VERSION:
+- if (strcmp (name, "GNU") == 0 && descsz > 0)
+- /* A non-null terminated version string. */
+- printf (gettext (" Linker version: %.*s\n"),
+- (int) descsz, desc);
+- break;
+-
+- case NT_GNU_ABI_TAG:
+- if (strcmp (name, "GNU") == 0 && descsz >= 8 && descsz % 4 == 0)
+- {
+- Elf_Data in =
+- {
+- .d_version = EV_CURRENT,
+- .d_type = ELF_T_WORD,
+- .d_size = descsz,
+- .d_buf = (void *) desc
+- };
+- /* Normally NT_GNU_ABI_TAG is just 4 words (16 bytes). If it
+- is much (4*) larger dynamically allocate memory to convert. */
++ Elf64_Addr a64[3];
++ Elf32_Addr a32[3];
++ } addrs;
++
++ size_t addrs_size = gelf_fsize (ebl->elf, ELF_T_ADDR, 3, EV_CURRENT);
++ if (descsz < addrs_size + 3)
++ {
++ invalid_sdt:
++ printf (gettext ("invalid SDT probe descriptor\n"));
++ return;
++ }
++
++ Elf_Data src =
++ {
++ .d_type = ELF_T_ADDR, .d_version = EV_CURRENT,
++ .d_buf = (void *) desc, .d_size = addrs_size
++ };
++
++ Elf_Data dst =
++ {
++ .d_type = ELF_T_ADDR, .d_version = EV_CURRENT,
++ .d_buf = &addrs, .d_size = addrs_size
++ };
++
++ if (gelf_xlatetom (ebl->elf, &dst, &src,
++ elf_getident (ebl->elf, NULL)[EI_DATA]) == NULL)
++ {
++ printf ("%s\n", elf_errmsg (-1));
++ return;
++ }
++
++ const char *provider = desc + addrs_size;
++ const char *pname = memchr (provider, '\0', desc + descsz - provider);
++ if (pname == NULL)
++ goto invalid_sdt;
++
++ ++pname;
++ const char *args = memchr (pname, '\0', desc + descsz - pname);
++ if (args == NULL ||
++ memchr (++args, '\0', desc + descsz - pname) != desc + descsz - 1)
++ goto invalid_sdt;
++
++ GElf_Addr pc;
++ GElf_Addr base;
++ GElf_Addr sem;
++ if (gelf_getclass (ebl->elf) == ELFCLASS32)
++ {
++ pc = addrs.a32[0];
++ base = addrs.a32[1];
++ sem = addrs.a32[2];
++ }
++ else
++ {
++ pc = addrs.a64[0];
++ base = addrs.a64[1];
++ sem = addrs.a64[2];
++ }
++
++ printf (gettext (" PC: "));
++ printf ("%#" PRIx64 ",", pc);
++ printf (gettext (" Base: "));
++ printf ("%#" PRIx64 ",", base);
++ printf (gettext (" Semaphore: "));
++ printf ("%#" PRIx64 "\n", sem);
++ printf (gettext (" Provider: "));
++ printf ("%s,", provider);
++ printf (gettext (" Name: "));
++ printf ("%s,", pname);
++ printf (gettext (" Args: "));
++ printf ("'%s'\n", args);
++ return;
++ }
++
++ switch (type)
++ {
++ case NT_GNU_BUILD_ID:
++ if (strcmp (name, "GNU") == 0 && descsz > 0)
++ {
++ printf (gettext (" Build ID: "));
++ uint_fast32_t i;
++ for (i = 0; i < descsz - 1; ++i)
++ printf ("%02" PRIx8, (uint8_t) desc[i]);
++ printf ("%02" PRIx8 "\n", (uint8_t) desc[i]);
++ }
++ break;
++
++ case NT_GNU_GOLD_VERSION:
++ if (strcmp (name, "GNU") == 0 && descsz > 0)
++ /* A non-null terminated version string. */
++ printf (gettext (" Linker version: %.*s\n"),
++ (int) descsz, desc);
++ break;
++
++ case NT_GNU_ABI_TAG:
++ if (strcmp (name, "GNU") == 0 && descsz >= 8 && descsz % 4 == 0)
++ {
++ Elf_Data in =
++ {
++ .d_version = EV_CURRENT,
++ .d_type = ELF_T_WORD,
++ .d_size = descsz,
++ .d_buf = (void *) desc
++ };
++ /* Normally NT_GNU_ABI_TAG is just 4 words (16 bytes). If it
++ is much (4*) larger dynamically allocate memory to convert. */
+ #define FIXED_TAG_BYTES 16
+- uint32_t sbuf[FIXED_TAG_BYTES];
+- uint32_t *buf;
+- if (unlikely (descsz / 4 > FIXED_TAG_BYTES))
+- {
+- buf = malloc (descsz);
+- if (unlikely (buf == NULL))
+- return;
+- }
+- else
+- buf = sbuf;
+- Elf_Data out =
+- {
+- .d_version = EV_CURRENT,
+- .d_type = ELF_T_WORD,
+- .d_size = descsz,
+- .d_buf = buf
+- };
+-
+- if (elf32_xlatetom (&out, &in, ebl->data) != NULL)
+- {
+- const char *os;
+- switch (buf[0])
+- {
+- case ELF_NOTE_OS_LINUX:
+- os = "Linux";
+- break;
+-
+- case ELF_NOTE_OS_GNU:
+- os = "GNU";
+- break;
+-
+- case ELF_NOTE_OS_SOLARIS2:
+- os = "Solaris";
+- break;
+-
+- case ELF_NOTE_OS_FREEBSD:
+- os = "FreeBSD";
+- break;
+-
+- default:
+- os = "???";
+- break;
+- }
+-
+- printf (gettext (" OS: %s, ABI: "), os);
+- for (size_t cnt = 1; cnt < descsz / 4; ++cnt)
+- {
+- if (cnt > 1)
+- putchar_unlocked ('.');
+- printf ("%" PRIu32, buf[cnt]);
+- }
+- putchar_unlocked ('\n');
+- }
+- if (descsz / 4 > FIXED_TAG_BYTES)
+- free (buf);
+- break;
+- }
+- /* FALLTHROUGH */
+-
+- default:
+- /* Unknown type. */
+- break;
+- }
++ uint32_t sbuf[FIXED_TAG_BYTES];
++ uint32_t *buf;
++ if (unlikely (descsz / 4 > FIXED_TAG_BYTES))
++ {
++ buf = malloc (descsz);
++ if (unlikely (buf == NULL))
++ return;
++ }
++ else
++ buf = sbuf;
++ Elf_Data out =
++ {
++ .d_version = EV_CURRENT,
++ .d_type = ELF_T_WORD,
++ .d_size = descsz,
++ .d_buf = buf
++ };
++
++ if (elf32_xlatetom (&out, &in, ebl->data) != NULL)
++ {
++ const char *os;
++ switch (buf[0])
++ {
++ case ELF_NOTE_OS_LINUX:
++ os = "Linux";
++ break;
++
++ case ELF_NOTE_OS_GNU:
++ os = "GNU";
++ break;
++
++ case ELF_NOTE_OS_SOLARIS2:
++ os = "Solaris";
++ break;
++
++ case ELF_NOTE_OS_FREEBSD:
++ os = "FreeBSD";
++ break;
++
++ default:
++ os = "???";
++ break;
++ }
++
++ printf (gettext (" OS: %s, ABI: "), os);
++ for (size_t cnt = 1; cnt < descsz / 4; ++cnt)
++ {
++ if (cnt > 1)
++ putchar_unlocked ('.');
++ printf ("%" PRIu32, buf[cnt]);
++ }
++ putchar_unlocked ('\n');
++ }
++ if (descsz / 4 > FIXED_TAG_BYTES)
++ free (buf);
++ break;
++ }
++ /* FALLTHROUGH */
++
++ default:
++ /* Unknown type. */
++ break;
++ }
++ }
+ }
+--
+cgit v0.12
+
diff --git a/meta/recipes-devtools/elfutils/elfutils_0.164.bb b/meta/recipes-devtools/elfutils/elfutils_0.164.bb
index 4964c05..2b23025 100644
--- a/meta/recipes-devtools/elfutils/elfutils_0.164.bb
+++ b/meta/recipes-devtools/elfutils/elfutils_0.164.bb
@@ -20,6 +20,7 @@ SRC_URI += "\
file://0001-fix-a-stack-usage-warning.patch \
file://aarch64_uio.patch \
file://shadow.patch \
+ file://libebl-Fix-missing-brackets-around-if-statement-body.patch \
"
# pick the patch from debian
--
2.7.4
^ permalink raw reply related [flat|nested] 17+ messages in thread* [krogoth][PATCH 4/8] rpm: Fix build with gcc6
2016-07-15 1:49 [krogoth][PATCH 0/8] Fixes for gcc-6 (Fedora-24) Tim Orling
` (2 preceding siblings ...)
2016-07-15 1:49 ` [krogoth][PATCH 3/8] elfutils: Fix build for gcc-6 Tim Orling
@ 2016-07-15 1:49 ` Tim Orling
2016-07-15 1:49 ` [krogoth][PATCH 5/8] glib-2.0: Ignore useless warning found with gcc-6 Tim Orling
` (4 subsequent siblings)
8 siblings, 0 replies; 17+ messages in thread
From: Tim Orling @ 2016-07-15 1:49 UTC (permalink / raw)
To: openembedded-core
From: Khem Raj <raj.khem@gmail.com>
(From OE-Core rev: e9c86d85460f45011bd978e1495a2b802d733020)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch | 54 +++++++++++++++++++++++++
meta/recipes-devtools/rpm/rpm_5.4.16.bb | 3 +-
2 files changed, 56 insertions(+), 1 deletion(-)
create mode 100644 meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch
diff --git a/meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch b/meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch
new file mode 100644
index 0000000..0a372c6
--- /dev/null
+++ b/meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch
@@ -0,0 +1,54 @@
+gcc6 has fixed a long standing c++ include issue where <cheader>
+was different from <header.h> inclusion via
+
+https://gcc.gnu.org/ml/libstdc++/2016-01/msg00025.html
+
+and its also descibed in https://gcc.gnu.org/gcc-6/porting_to.html
+rpmio component uses some .cpp and .cc fies which need to use
+C stdlib.h from C library and not the C++ libstdc++ header
+therefore we pass _GLIBCXX_INCLUDE_NEXT_C_HEADERS so that it
+keeps the old behavior
+
+/a/build/tmp/sysroots/raspberrypi2/usr/include/c++/6.0.1/cstdlib:143:11: error: '::getenv' has not been declared
+ using ::getenv;
+ ^~~~~~
+In file included from ../../rpm-5.4.15/system.h:201:0,
+ from ../../rpm-5.4.15/rpmio/rpmjs.cpp:1:
+/a/build/tmp/sysroots/raspberrypi2/usr/include/c++/6.0.1/stdlib.h:62:12: error: 'std::getenv' has not been declared
+ using std::getenv;
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: rpm-5.4.15/rpmio/Makefile.am
+===================================================================
+--- rpm-5.4.15.orig/rpmio/Makefile.am
++++ rpm-5.4.15/rpmio/Makefile.am
+@@ -151,7 +151,7 @@ librpmio_la_SOURCES = \
+ groestl.c hamsi.c jh.c keccak.c lane.c luffa.c md2.c md6.c radiogatun.c\
+ salsa10.c salsa20.c shabal.c shavite3.c simd.c skein.c tib3.c tiger.c \
+ rpmgit.c rpmio-stub.c \
+- rpmjs.cpp rpmjsio.c rpmkeyring.c \
++ rpmjni.cc rpmjs.cpp rpmjsio.c rpmkeyring.c \
+ rpmnix.c rpmodbc.c rpmsql.c set.c \
+ ar.c \
+ argv.c \
+@@ -195,7 +195,6 @@ librpmio_la_SOURCES = \
+ rpmhook.c \
+ rpmio.c \
+ rpmiob.c \
+- rpmjni.cc \
+ rpmku.c \
+ rpmlog.c \
+ rpmltc.c \
+@@ -279,7 +278,9 @@ keccak.lo: $(top_srcdir)/rpmio/keccak.c
+ #rpmjs.lo: $(top_srcdir)/rpmio/rpmjs.c
+ # @$(LTCOMPILE) -O0 -c $<
+ rpmjs.lo: $(top_srcdir)/rpmio/rpmjs.cpp
+- @$(LTCOMPILE) -O0 -c $<
++ @$(LTCOMPILE) -O0 -c -D_GLIBCXX_INCLUDE_NEXT_C_HEADERS $<
++rpmjni.lo: $(top_srcdir)/rpmio/rpmjni.cc
++ @$(LTCOMPILE) -O0 -c -D_GLIBCXX_INCLUDE_NEXT_C_HEADERS $<
+
+ YACC = byacc -d
+ getdate.c: getdate.y
diff --git a/meta/recipes-devtools/rpm/rpm_5.4.16.bb b/meta/recipes-devtools/rpm/rpm_5.4.16.bb
index f2c12d2..7ebd5e9 100644
--- a/meta/recipes-devtools/rpm/rpm_5.4.16.bb
+++ b/meta/recipes-devtools/rpm/rpm_5.4.16.bb
@@ -116,6 +116,7 @@ SRC_URI += " \
file://rpm-fix-lua-tests-compilation-failure.patch \
file://rpmqv.c-check-_gpg_passphrase-before-ask-for-input.patch \
file://0001-Disable-__sync_add_and_fetch_8-on-nios2.patch \
+ file://gcc6-stdlib.patch \
"
# OE specific changes
@@ -344,7 +345,7 @@ EXTRA_OECONF += "--verbose \
--program-prefix= \
YACC=byacc"
-CFLAGS_append = " -DRPM_VENDOR_WINDRIVER -DRPM_VENDOR_POKY -DRPM_VENDOR_OE"
+CFLAGS_append = " -DRPM_VENDOR_WINDRIVER -DRPM_VENDOR_POKY -DRPM_VENDOR_OE -D_GLIBCXX_INCLUDE_NEXT_C_HEADERS"
LDFLAGS_append_libc-uclibc = "-lrt -lpthread"
--
2.7.4
^ permalink raw reply related [flat|nested] 17+ messages in thread* [krogoth][PATCH 5/8] glib-2.0: Ignore useless warning found with gcc-6
2016-07-15 1:49 [krogoth][PATCH 0/8] Fixes for gcc-6 (Fedora-24) Tim Orling
` (3 preceding siblings ...)
2016-07-15 1:49 ` [krogoth][PATCH 4/8] rpm: Fix build with gcc6 Tim Orling
@ 2016-07-15 1:49 ` Tim Orling
2016-07-15 1:49 ` [krogoth][PATCH 6/8] binutils: disable werror on native build Tim Orling
` (3 subsequent siblings)
8 siblings, 0 replies; 17+ messages in thread
From: Tim Orling @ 2016-07-15 1:49 UTC (permalink / raw)
To: openembedded-core
From: Khem Raj <raj.khem@gmail.com>
../../glib-2.46.2/glib/gdate.c:2497:7: error: format not a string literal, format string not checked [-Werror=format-nonliteral]
tmplen = strftime (tmpbuf, tmpbufsize, locale_format, &tm);
^~~~~~
| ../../../../../../../../workspace/sources/glib-2.0/glib/tests/gdatetime.c: In function 'test_strftime':
| ../../../../../../../../workspace/sources/glib-2.0/glib/tests/gdatetime.c:1338:3: error: '%c' yields only last 2 digits of year in some locales [-Werror=format-y2k]
| "a%a A%A b%b B%B c%c C%C d%d e%e F%F g%g G%G h%h H%H I%I j%j m%m M%M " \
Additionally fix the problem seen where write() return code is ignored
(From OE-Core rev: 3fdecff96dd7516605ec9248b2a39de4db81306f)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
.../0001-Do-not-ignore-return-value-of-write.patch | 42 ++++++++++++++++++++++
.../glib-2.0/0002-tests-Ignore-y2k-warnings.patch | 42 ++++++++++++++++++++++
.../ignore-format-nonliteral-warning.patch | 39 ++++++++++++++++++++
meta/recipes-core/glib-2.0/glib-2.0_2.46.2.bb | 7 ++--
4 files changed, 128 insertions(+), 2 deletions(-)
create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-ignore-return-value-of-write.patch
create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Ignore-y2k-warnings.patch
create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/ignore-format-nonliteral-warning.patch
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-ignore-return-value-of-write.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-ignore-return-value-of-write.patch
new file mode 100644
index 0000000..aee96aa
--- /dev/null
+++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-ignore-return-value-of-write.patch
@@ -0,0 +1,42 @@
+From d6501b107940e9f548c89236d773c6d33c15a5c9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 16 Apr 2016 13:28:59 -0700
+Subject: [PATCH 1/2] Do not ignore return value of write()
+
+gcc warns about ignoring return value when compiling
+with fortify turned on.
+
+assert when write() fails
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ glib/tests/unix.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/glib/tests/unix.c b/glib/tests/unix.c
+index 3543458..4e7ed85 100644
+--- a/glib/tests/unix.c
++++ b/glib/tests/unix.c
+@@ -32,14 +32,15 @@ test_pipe (void)
+ GError *error = NULL;
+ int pipefd[2];
+ char buf[1024];
+- ssize_t bytes_read;
++ ssize_t bytes_read, bytes_written;
+ gboolean res;
+
+ res = g_unix_open_pipe (pipefd, FD_CLOEXEC, &error);
+ g_assert (res);
+ g_assert_no_error (error);
+
+- write (pipefd[1], "hello", sizeof ("hello"));
++ bytes_written = write (pipefd[1], "hello", sizeof ("hello"));
++ g_assert (bytes_written != -1 && "write() failed");
+ memset (buf, 0, sizeof (buf));
+ bytes_read = read (pipefd[0], buf, sizeof(buf) - 1);
+ g_assert_cmpint (bytes_read, >, 0);
+--
+2.8.0
+
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Ignore-y2k-warnings.patch b/meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Ignore-y2k-warnings.patch
new file mode 100644
index 0000000..f61fa0a
--- /dev/null
+++ b/meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Ignore-y2k-warnings.patch
@@ -0,0 +1,42 @@
+From b06b22fecc7deda8c65e28670562ca2371e4e725 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 16 Apr 2016 13:43:54 -0700
+Subject: [PATCH 2/2] tests: Ignore y2k warnings
+
+silences
+| ../../../../../../../../workspace/sources/glib-2.0/glib/tests/gdatetime.c: In function 'test_strftime':
+| ../../../../../../../../workspace/sources/glib-2.0/glib/tests/gdatetime.c:1338:3: error: '%c' yields only last 2 digits of year in some locales [-Werror=format-y2k]
+| "a%a A%A b%b B%B c%c C%C d%d e%e F%F g%g G%G h%h H%H I%I j%j m%m M%M "
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ glib/tests/gdatetime.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/glib/tests/gdatetime.c b/glib/tests/gdatetime.c
+index 16a163c..e6062fc 100644
+--- a/glib/tests/gdatetime.c
++++ b/glib/tests/gdatetime.c
+@@ -1326,6 +1326,9 @@ test_z (void)
+ g_time_zone_unref (tz);
+ }
+
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wformat-y2k"
++
+ static void
+ test_strftime (void)
+ {
+@@ -1351,6 +1354,7 @@ test_strftime (void)
+ }
+ #endif
+ }
++#pragma GCC diagnostic pop
+
+ static void
+ test_find_interval (void)
+--
+2.8.0
+
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/ignore-format-nonliteral-warning.patch b/meta/recipes-core/glib-2.0/glib-2.0/ignore-format-nonliteral-warning.patch
new file mode 100644
index 0000000..d533975
--- /dev/null
+++ b/meta/recipes-core/glib-2.0/glib-2.0/ignore-format-nonliteral-warning.patch
@@ -0,0 +1,39 @@
+From 8cdbc7fb2c8c876902e457abe46ee18a0b134486 Mon Sep 17 00:00:00 2001
+From: coypu <coypu@sdf.org>
+Date: Wed, 2 Mar 2016 19:38:48 +0200
+Subject: gdate: Move warning pragma outside of function
+
+Commit 0817af40e8c74c721c30f6ef482b1f53d12044c7 breaks the build on
+older versions of GCC, which don't allow pragma inside functions.
+
+https://bugzilla.gnome.org/761550
+---
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+ glib/gdate.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/glib/gdate.c b/glib/gdate.c
+index cdc735c..92c34d2 100644
+--- a/glib/gdate.c
++++ b/glib/gdate.c
+@@ -2439,6 +2439,9 @@ win32_strftime_helper (const GDate *d,
+ *
+ * Returns: number of characters written to the buffer, or 0 the buffer was too small
+ */
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wformat-nonliteral"
++
+ gsize
+ g_date_strftime (gchar *s,
+ gsize slen,
+@@ -2552,3 +2552,5 @@ g_date_strftime (gchar *s,
+ return retval;
+ #endif
+ }
++
++#pragma GCC diagnostic pop
+--
+cgit v0.12
+
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.46.2.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.46.2.bb
index 8e445b4..9e95149 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0_2.46.2.bb
+++ b/meta/recipes-core/glib-2.0/glib-2.0_2.46.2.bb
@@ -13,11 +13,14 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
file://uclibc_musl_translation.patch \
file://0001-configure.ac-Do-not-use-readlink-when-cross-compilin.patch \
file://allow-run-media-sdX-drive-mount-if-username-root.patch \
- file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \
+ file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \
file://Enable-more-tests-while-cross-compiling.patch \
file://gi-exclude.patch \
file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \
- "
+ file://ignore-format-nonliteral-warning.patch \
+ file://0001-Do-not-ignore-return-value-of-write.patch \
+ file://0002-tests-Ignore-y2k-warnings.patch \
+ "
SRC_URI_append_class-native = " file://glib-gettextize-dir.patch \
file://relocate-modules.patch"
--
2.7.4
^ permalink raw reply related [flat|nested] 17+ messages in thread* [krogoth][PATCH 6/8] binutils: disable werror on native build
2016-07-15 1:49 [krogoth][PATCH 0/8] Fixes for gcc-6 (Fedora-24) Tim Orling
` (4 preceding siblings ...)
2016-07-15 1:49 ` [krogoth][PATCH 5/8] glib-2.0: Ignore useless warning found with gcc-6 Tim Orling
@ 2016-07-15 1:49 ` Tim Orling
2016-07-15 3:26 ` Khem Raj
2016-07-15 1:49 ` [krogoth][PATCH 7/8] openjade-native: work around bug exposed by GCC 6 Tim Orling
` (2 subsequent siblings)
8 siblings, 1 reply; 17+ messages in thread
From: Tim Orling @ 2016-07-15 1:49 UTC (permalink / raw)
To: openembedded-core
From: Dan McGregor <dan.mcgregor@usask.ca>
It's disabled on cross builds, and it's needed for gcc 6
(From OE-Core rev: ce1b37e29dc89b67dc698e856007b59faa16c4df)
Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
meta/recipes-devtools/binutils/binutils_2.26.bb | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/meta/recipes-devtools/binutils/binutils_2.26.bb b/meta/recipes-devtools/binutils/binutils_2.26.bb
index b70ffbf..e976bad 100644
--- a/meta/recipes-devtools/binutils/binutils_2.26.bb
+++ b/meta/recipes-devtools/binutils/binutils_2.26.bb
@@ -13,7 +13,8 @@ EXTRA_OECONF += "--with-sysroot=/ \
EXTRA_OECONF_class-native = "--enable-targets=all \
--enable-64-bit-bfd \
--enable-install-libiberty \
- --enable-install-libbfd"
+ --enable-install-libbfd \
+ --disable-werror"
do_install_class-native () {
autotools_do_install
--
2.7.4
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [krogoth][PATCH 6/8] binutils: disable werror on native build
2016-07-15 1:49 ` [krogoth][PATCH 6/8] binutils: disable werror on native build Tim Orling
@ 2016-07-15 3:26 ` Khem Raj
2016-07-15 3:58 ` Tim Orling
0 siblings, 1 reply; 17+ messages in thread
From: Khem Raj @ 2016-07-15 3:26 UTC (permalink / raw)
To: Tim Orling; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 1504 bytes --]
> On Jul 14, 2016, at 6:49 PM, Tim Orling <timothy.t.orling@linux.intel.com> wrote:
>
> From: Dan McGregor <dan.mcgregor@usask.ca>
>
> It's disabled on cross builds, and it's needed for gcc 6
>
> (From OE-Core rev: ce1b37e29dc89b67dc698e856007b59faa16c4df)
>
> Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
> meta/recipes-devtools/binutils/binutils_2.26.bb | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-devtools/binutils/binutils_2.26.bb b/meta/recipes-devtools/binutils/binutils_2.26.bb
> index b70ffbf..e976bad 100644
> --- a/meta/recipes-devtools/binutils/binutils_2.26.bb
> +++ b/meta/recipes-devtools/binutils/binutils_2.26.bb
> @@ -13,7 +13,8 @@ EXTRA_OECONF += "--with-sysroot=/ \
> EXTRA_OECONF_class-native = "--enable-targets=all \
> --enable-64-bit-bfd \
> --enable-install-libiberty \
> - --enable-install-libbfd"
> + --enable-install-libbfd \
> + --disable-werror”
How about other flavors of binutils ?
>
> do_install_class-native () {
> autotools_do_install
> --
> 2.7.4
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 211 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread* Re: [krogoth][PATCH 6/8] binutils: disable werror on native build
2016-07-15 3:26 ` Khem Raj
@ 2016-07-15 3:58 ` Tim Orling
2016-07-15 4:52 ` Khem Raj
0 siblings, 1 reply; 17+ messages in thread
From: Tim Orling @ 2016-07-15 3:58 UTC (permalink / raw)
To: Khem Raj; +Cc: openembedded-core@lists.openembedded.org
[-- Attachment #1: Type: text/plain, Size: 1835 bytes --]
Hi Khem,
Can you elaborate? What am I missing or unaware of? Happy to keep digging!
--Tim
On Thursday, July 14, 2016, Khem Raj <raj.khem@gmail.com> wrote:
>
> > On Jul 14, 2016, at 6:49 PM, Tim Orling <
> timothy.t.orling@linux.intel.com <javascript:;>> wrote:
> >
> > From: Dan McGregor <dan.mcgregor@usask.ca <javascript:;>>
> >
> > It's disabled on cross builds, and it's needed for gcc 6
> >
> > (From OE-Core rev: ce1b37e29dc89b67dc698e856007b59faa16c4df)
> >
> > Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca <javascript:;>>
> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org
> <javascript:;>>
> > ---
> > meta/recipes-devtools/binutils/binutils_2.26.bb | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/meta/recipes-devtools/binutils/binutils_2.26.bb
> b/meta/recipes-devtools/binutils/binutils_2.26.bb
> > index b70ffbf..e976bad 100644
> > --- a/meta/recipes-devtools/binutils/binutils_2.26.bb
> > +++ b/meta/recipes-devtools/binutils/binutils_2.26.bb
> > @@ -13,7 +13,8 @@ EXTRA_OECONF += "--with-sysroot=/ \
> > EXTRA_OECONF_class-native = "--enable-targets=all \
> > --enable-64-bit-bfd \
> > --enable-install-libiberty \
> > - --enable-install-libbfd"
> > + --enable-install-libbfd \
> > + --disable-werror”
>
> How about other flavors of binutils ?
>
> >
> > do_install_class-native () {
> > autotools_do_install
> > --
> > 2.7.4
> >
> > --
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core@lists.openembedded.org <javascript:;>
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
>
[-- Attachment #2: Type: text/html, Size: 3177 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread* Re: [krogoth][PATCH 6/8] binutils: disable werror on native build
2016-07-15 3:58 ` Tim Orling
@ 2016-07-15 4:52 ` Khem Raj
0 siblings, 0 replies; 17+ messages in thread
From: Khem Raj @ 2016-07-15 4:52 UTC (permalink / raw)
To: Tim Orling; +Cc: openembedded-core@lists.openembedded.org
[-- Attachment #1.1: Type: text/plain, Size: 2182 bytes --]
> On Jul 14, 2016, at 8:58 PM, Tim Orling <ticotimo@gmail.com> wrote:
>
> Hi Khem,
>
> Can you elaborate? What am I missing or unaware of? Happy to keep digging!
Can you try building an SDK ?
>
> --Tim
>
> On Thursday, July 14, 2016, Khem Raj <raj.khem@gmail.com <mailto:raj.khem@gmail.com>> wrote:
>
> > On Jul 14, 2016, at 6:49 PM, Tim Orling <timothy.t.orling@linux.intel.com <javascript:;>> wrote:
> >
> > From: Dan McGregor <dan.mcgregor@usask.ca <javascript:;>>
> >
> > It's disabled on cross builds, and it's needed for gcc 6
> >
> > (From OE-Core rev: ce1b37e29dc89b67dc698e856007b59faa16c4df)
> >
> > Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca <javascript:;>>
> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org <javascript:;>>
> > ---
> > meta/recipes-devtools/binutils/binutils_2.26.bb <http://binutils_2.26.bb/> | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/meta/recipes-devtools/binutils/binutils_2.26.bb <http://binutils_2.26.bb/> b/meta/recipes-devtools/binutils/binutils_2.26.bb <http://binutils_2.26.bb/>
> > index b70ffbf..e976bad 100644
> > --- a/meta/recipes-devtools/binutils/binutils_2.26.bb <http://binutils_2.26.bb/>
> > +++ b/meta/recipes-devtools/binutils/binutils_2.26.bb <http://binutils_2.26.bb/>
> > @@ -13,7 +13,8 @@ EXTRA_OECONF += "--with-sysroot=/ \
> > EXTRA_OECONF_class-native = "--enable-targets=all \
> > --enable-64-bit-bfd \
> > --enable-install-libiberty \
> > - --enable-install-libbfd"
> > + --enable-install-libbfd \
> > + --disable-werror”
>
> How about other flavors of binutils ?
>
> >
> > do_install_class-native () {
> > autotools_do_install
> > --
> > 2.7.4
> >
> > --
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core@lists.openembedded.org <javascript:;>
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core <http://lists.openembedded.org/mailman/listinfo/openembedded-core>
>
[-- Attachment #1.2: Type: text/html, Size: 4598 bytes --]
[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 211 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* [krogoth][PATCH 7/8] openjade-native: work around bug exposed by GCC 6
2016-07-15 1:49 [krogoth][PATCH 0/8] Fixes for gcc-6 (Fedora-24) Tim Orling
` (5 preceding siblings ...)
2016-07-15 1:49 ` [krogoth][PATCH 6/8] binutils: disable werror on native build Tim Orling
@ 2016-07-15 1:49 ` Tim Orling
2016-07-15 1:49 ` [krogoth][PATCH 8/8] gcc-5.3: fix build for gcc-6 Tim Orling
2016-07-15 14:16 ` [krogoth][PATCH 0/8] Fixes for gcc-6 (Fedora-24) akuster808
8 siblings, 0 replies; 17+ messages in thread
From: Tim Orling @ 2016-07-15 1:49 UTC (permalink / raw)
To: openembedded-core
From: Daniel McGregor <daniel.mcgregor@vecima.com>
Simply turn off the optimzation that is causing this breakage. I had
originally used -fno-lifetime-dse, but -fno-tree-dse works at least
going back as far as gcc 4.8.
This isn't a real fix, but it allows openjade to work enough to complete
a build.
(From OE-Core rev: 39e7dd90878325158c143dfec8234d563b841b86)
Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
meta/recipes-devtools/openjade/openjade-native_1.3.2.bb | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb b/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb
index bc25008..afcb8ca 100644
--- a/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb
+++ b/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb
@@ -44,6 +44,7 @@ CONFIGUREOPTS := "${@d.getVar('CONFIGUREOPTS', True).replace('--datadir=${datadi
oe_runconf[vardepsexclude] += "CONFIGUREOPTS"
CFLAGS =+ "-I${S}/include"
+CXXFLAGS += "-fno-tree-dse"
SSTATEPOSTINSTFUNCS += "openjade_sstate_postinst"
SYSROOT_PREPROCESS_FUNCS += "openjade_sysroot_preprocess"
--
2.7.4
^ permalink raw reply related [flat|nested] 17+ messages in thread* [krogoth][PATCH 8/8] gcc-5.3: fix build for gcc-6
2016-07-15 1:49 [krogoth][PATCH 0/8] Fixes for gcc-6 (Fedora-24) Tim Orling
` (6 preceding siblings ...)
2016-07-15 1:49 ` [krogoth][PATCH 7/8] openjade-native: work around bug exposed by GCC 6 Tim Orling
@ 2016-07-15 1:49 ` Tim Orling
2016-07-15 14:16 ` [krogoth][PATCH 0/8] Fixes for gcc-6 (Fedora-24) akuster808
8 siblings, 0 replies; 17+ messages in thread
From: Tim Orling @ 2016-07-15 1:49 UTC (permalink / raw)
To: openembedded-core
Backport upstream patch.
It had been applied to 4.9, but not 5.3.
[YOCTO #9897] (Fedora-24)
Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
---
meta/recipes-devtools/gcc/gcc-5.3.inc | 1 +
.../gcc-5.3/0060-fix-build-when-using-gcc6.patch | 157 +++++++++++++++++++++
2 files changed, 158 insertions(+)
create mode 100644 meta/recipes-devtools/gcc/gcc-5.3/0060-fix-build-when-using-gcc6.patch
diff --git a/meta/recipes-devtools/gcc/gcc-5.3.inc b/meta/recipes-devtools/gcc/gcc-5.3.inc
index d18ad79..4815384 100644
--- a/meta/recipes-devtools/gcc/gcc-5.3.inc
+++ b/meta/recipes-devtools/gcc/gcc-5.3.inc
@@ -89,6 +89,7 @@ SRC_URI = "\
file://0057-unwind-fix-for-musl.patch \
file://0058-fdebug-prefix-map-support-to-remap-relative-path.patch \
file://0059-libgcc-use-ldflags.patch \
+ file://0060-fix-build-when-using-gcc6.patch \
file://CVE-2016-4488.patch \
file://CVE-2016-4489.patch \
file://CVE-2016-2226.patch \
diff --git a/meta/recipes-devtools/gcc/gcc-5.3/0060-fix-build-when-using-gcc6.patch b/meta/recipes-devtools/gcc/gcc-5.3/0060-fix-build-when-using-gcc6.patch
new file mode 100644
index 0000000..c093177
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-5.3/0060-fix-build-when-using-gcc6.patch
@@ -0,0 +1,157 @@
+Upstream-Status: Backport
+
+Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
+
+From 1e5f1089dec3af328fd03125d6778f666d0bd4e4 Mon Sep 17 00:00:00 2001
+From: edlinger <edlinger@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Thu, 25 Feb 2016 15:33:50 +0000
+Subject: [PATCH 1/1] 2016-02-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ Backported from mainline
+ 2016-02-19 Jakub Jelinek <jakub@redhat.com>
+ Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * Make-lang.in: Invoke gperf with -L C++.
+ * cfns.gperf: Remove prototypes for hash and libc_name_p
+ inlines.
+ * cfns.h: Regenerated.
+ * except.c (nothrow_libfn_p): Adjust.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@233720 138bc75d-0d04-0410-961f-82ee72b054a4
+
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+---
+ gcc/cp/Make-lang.in | 2 +-
+ gcc/cp/cfns.gperf | 10 ++--------
+ gcc/cp/cfns.h | 41 ++++++++++++++---------------------------
+ gcc/cp/except.c | 3 ++-
+ 5 files changed, 31 insertions(+), 37 deletions(-)
+
+diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
+index e98beb1..b09fb02 100644
+--- a/gcc/cp/Make-lang.in
++++ b/gcc/cp/Make-lang.in
+@@ -111,7 +111,7 @@ else
+ # deleting the $(srcdir)/cp/cfns.h file.
+ $(srcdir)/cp/cfns.h:
+ endif
+- gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L ANSI-C \
++ gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L C++ \
+ $(srcdir)/cp/cfns.gperf --output-file $(srcdir)/cp/cfns.h
+
+ #\f
+diff --git a/gcc/cp/cfns.gperf b/gcc/cp/cfns.gperf
+index 68acd3d..214ecf6 100644
+--- a/gcc/cp/cfns.gperf
++++ b/gcc/cp/cfns.gperf
+@@ -1,3 +1,5 @@
++%language=C++
++%define class-name libc_name
+ %{
+ /* Copyright (C) 2000-2015 Free Software Foundation, Inc.
+
+@@ -16,14 +18,6 @@ for more details.
+ You should have received a copy of the GNU General Public License
+ along with GCC; see the file COPYING3. If not see
+ <http://www.gnu.org/licenses/>. */
+-#ifdef __GNUC__
+-__inline
+-#endif
+-static unsigned int hash (const char *, unsigned int);
+-#ifdef __GNUC__
+-__inline
+-#endif
+-const char * libc_name_p (const char *, unsigned int);
+ %}
+ %%
+ # The standard C library functions, for feeding to gperf; the result is used
+diff --git a/gcc/cp/cfns.h b/gcc/cp/cfns.h
+index 1c6665d..596f413 100644
+--- a/gcc/cp/cfns.h
++++ b/gcc/cp/cfns.h
+@@ -1,5 +1,5 @@
+-/* ANSI-C code produced by gperf version 3.0.3 */
+-/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L ANSI-C cfns.gperf */
++/* C++ code produced by gperf version 3.0.4 */
++/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L C++ --output-file cfns.h cfns.gperf */
+
+ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
+ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
+@@ -28,7 +28,7 @@
+ #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
+ #endif
+
+-#line 1 "cfns.gperf"
++#line 3 "cfns.gperf"
+
+ /* Copyright (C) 2000-2015 Free Software Foundation, Inc.
+
+@@ -47,25 +47,18 @@ for more details.
+ You should have received a copy of the GNU General Public License
+ along with GCC; see the file COPYING3. If not see
+ <http://www.gnu.org/licenses/>. */
+-#ifdef __GNUC__
+-__inline
+-#endif
+-static unsigned int hash (const char *, unsigned int);
+-#ifdef __GNUC__
+-__inline
+-#endif
+-const char * libc_name_p (const char *, unsigned int);
+ /* maximum key range = 391, duplicates = 0 */
+
+-#ifdef __GNUC__
+-__inline
+-#else
+-#ifdef __cplusplus
+-inline
+-#endif
+-#endif
+-static unsigned int
+-hash (register const char *str, register unsigned int len)
++class libc_name
++{
++private:
++ static inline unsigned int hash (const char *str, unsigned int len);
++public:
++ static const char *libc_name_p (const char *str, unsigned int len);
++};
++
++inline unsigned int
++libc_name::hash (register const char *str, register unsigned int len)
+ {
+ static const unsigned short asso_values[] =
+ {
+@@ -122,14 +115,8 @@ hash (register const char *str, register unsigned int len)
+ return hval + asso_values[(unsigned char)str[len - 1]];
+ }
+
+-#ifdef __GNUC__
+-__inline
+-#ifdef __GNUC_STDC_INLINE__
+-__attribute__ ((__gnu_inline__))
+-#endif
+-#endif
+ const char *
+-libc_name_p (register const char *str, register unsigned int len)
++libc_name::libc_name_p (register const char *str, register unsigned int len)
+ {
+ enum
+ {
+diff --git a/gcc/cp/except.c b/gcc/cp/except.c
+index 3ff1ce6..2f2e396 100644
+--- a/gcc/cp/except.c
++++ b/gcc/cp/except.c
+@@ -1040,7 +1040,8 @@ nothrow_libfn_p (const_tree fn)
+ unless the system headers are playing rename tricks, and if
+ they are, we don't want to be confused by them. */
+ id = DECL_NAME (fn);
+- return !!libc_name_p (IDENTIFIER_POINTER (id), IDENTIFIER_LENGTH (id));
++ return !!libc_name::libc_name_p (IDENTIFIER_POINTER (id),
++ IDENTIFIER_LENGTH (id));
+ }
+
+ /* Returns nonzero if an exception of type FROM will be caught by a
+--
+1.7.1
--
2.7.4
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [krogoth][PATCH 0/8] Fixes for gcc-6 (Fedora-24)
2016-07-15 1:49 [krogoth][PATCH 0/8] Fixes for gcc-6 (Fedora-24) Tim Orling
` (7 preceding siblings ...)
2016-07-15 1:49 ` [krogoth][PATCH 8/8] gcc-5.3: fix build for gcc-6 Tim Orling
@ 2016-07-15 14:16 ` akuster808
8 siblings, 0 replies; 17+ messages in thread
From: akuster808 @ 2016-07-15 14:16 UTC (permalink / raw)
To: Tim Orling, openembedded-core
On 07/14/2016 06:49 PM, Tim Orling wrote:
> [YOCTO #9897]
>
> Fedora-24 only has gcc-6.1.1.
thanks,
pulled into staging.
- armin
>
> This has caused a number of failures in -native recipes and gcc-cross.
>
> This series either cherry-picks commits from master or applies known good patches from upstream.
>
> Fixes broken build for:
> - pkgconfig-native
> - elfutils-native
> - rpm-native
> - binutils-native
> - glib-2.0-native
> - docbook-utils-native (actually openjade-native was the culprit)
> - gcc-cross (gcc-cross-arm build tested for beaglebone)
>
> Other problems may be lurking and only a world build on Fedora-24 AB will tell for sure.
>
> Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
>
>
> The following changes since commit 98c57bb512ea6790db8604fcf0b88c81651d2ab4:
>
> build-appliance-image: Update to krogoth head revision (2016-07-06 17:28:04 +0100)
>
> are available in the git repository at:
>
> git://git.yoctoproject.org/poky-contrib timo/krogoth-9897
> http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=timo/krogoth-9897
>
> Dan McGregor (1):
> binutils: disable werror on native build
>
> Daniel McGregor (1):
> openjade-native: work around bug exposed by GCC 6
>
> Khem Raj (3):
> elfutils-0.148: Fix build with gcc6
> rpm: Fix build with gcc6
> glib-2.0: Ignore useless warning found with gcc-6
>
> Tim Orling (3):
> pkgconfig: Fix build with gcc-6
> elfutils: Fix build for gcc-6
> gcc-5.3: fix build for gcc-6
>
> .../0001-Do-not-ignore-return-value-of-write.patch | 42 +++
> .../glib-2.0/0002-tests-Ignore-y2k-warnings.patch | 42 +++
> .../ignore-format-nonliteral-warning.patch | 39 ++
> meta/recipes-core/glib-2.0/glib-2.0_2.46.2.bb | 7 +-
> meta/recipes-devtools/binutils/binutils_2.26.bb | 3 +-
> .../elfutils/elfutils-0.148/gcc6.patch | 23 ++
> ...missing-brackets-around-if-statement-body.patch | 419 +++++++++++++++++++++
> meta/recipes-devtools/elfutils/elfutils_0.148.bb | 1 +
> meta/recipes-devtools/elfutils/elfutils_0.164.bb | 1 +
> meta/recipes-devtools/gcc/gcc-5.3.inc | 1 +
> .../gcc-5.3/0060-fix-build-when-using-gcc6.patch | 157 ++++++++
> .../openjade/openjade-native_1.3.2.bb | 1 +
> ...te-suppress-string-format-literal-warning.patch | 34 ++
> meta/recipes-devtools/pkgconfig/pkgconfig_git.bb | 1 +
> meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch | 54 +++
> meta/recipes-devtools/rpm/rpm_5.4.16.bb | 3 +-
> 16 files changed, 824 insertions(+), 4 deletions(-)
> create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-ignore-return-value-of-write.patch
> create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Ignore-y2k-warnings.patch
> create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/ignore-format-nonliteral-warning.patch
> create mode 100644 meta/recipes-devtools/elfutils/elfutils-0.148/gcc6.patch
> create mode 100644 meta/recipes-devtools/elfutils/elfutils-0.164/libebl-Fix-missing-brackets-around-if-statement-body.patch
> create mode 100644 meta/recipes-devtools/gcc/gcc-5.3/0060-fix-build-when-using-gcc6.patch
> create mode 100644 meta/recipes-devtools/pkgconfig/pkgconfig/0001-gdate-suppress-string-format-literal-warning.patch
> create mode 100644 meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch
>
^ permalink raw reply [flat|nested] 17+ messages in thread