All of lore.kernel.org
 help / color / mirror / Atom feed
* [dylan][PATCH 1/2] binutils: Fix building nativesdk binutils with gcc 4.9
@ 2015-04-10 11:34 Martin Jansa
  2015-04-10 11:34 ` [dylan][PATCH 2/2] binutils: backport patch to fix build with gcc-4.9 Martin Jansa
  2015-04-10 16:31 ` [dylan][PATCH 1/2] binutils: Fix building nativesdk binutils with gcc 4.9 Khem Raj
  0 siblings, 2 replies; 5+ messages in thread
From: Martin Jansa @ 2015-04-10 11:34 UTC (permalink / raw)
  To: openembedded-core

From: Khem Raj <raj.khem@gmail.com>

Patches explain the issue in detail but this is exposed
with gcc 4.9 in binutils 2.23.2

(From OE-Core rev: fc5c467b680fc5aef4b0f689e6988e17a9322ae0)

(From OE-Core rev: 4dfb8847ebf8aab90ad8888933468e2899c96998)

(From OE-Core rev: af347d3298e15552d502d5b2ce497bbda9705bc7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/recipes-devtools/binutils/binutils-2.23.1.inc |   2 +
 ...ild-breakage-from-bfd_set_section_vma-cha.patch |  31 ++++
 .../replace_macros_with_static_inline.patch        | 188 +++++++++++++++++++++
 3 files changed, 221 insertions(+)
 create mode 100644 meta/recipes-devtools/binutils/binutils/0001-Fix-MMIX-build-breakage-from-bfd_set_section_vma-cha.patch
 create mode 100644 meta/recipes-devtools/binutils/binutils/replace_macros_with_static_inline.patch

diff --git a/meta/recipes-devtools/binutils/binutils-2.23.1.inc b/meta/recipes-devtools/binutils/binutils-2.23.1.inc
index 667ad0b..7b3366a 100644
--- a/meta/recipes-devtools/binutils/binutils-2.23.1.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.23.1.inc
@@ -29,6 +29,8 @@ SRC_URI = "\
      file://mips64-default-ld-emulation.patch \
      ${BACKPORT} \
      file://binutils-fix-over-array-bounds-issue.patch \
+     file://replace_macros_with_static_inline.patch \
+     file://0001-Fix-MMIX-build-breakage-from-bfd_set_section_vma-cha.patch \
      "
 
 BACKPORT = "\
diff --git a/meta/recipes-devtools/binutils/binutils/0001-Fix-MMIX-build-breakage-from-bfd_set_section_vma-cha.patch b/meta/recipes-devtools/binutils/binutils/0001-Fix-MMIX-build-breakage-from-bfd_set_section_vma-cha.patch
new file mode 100644
index 0000000..f786b17
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/0001-Fix-MMIX-build-breakage-from-bfd_set_section_vma-cha.patch
@@ -0,0 +1,31 @@
+Upstream-Status: Backport
+
+From 0a09fb4a09e80c36fa3ef763ae276fd13d272a36 Mon Sep 17 00:00:00 2001
+From: Hans-Peter Nilsson <hp@bitrange.com>
+Date: Sat, 1 Feb 2014 01:11:28 +0100
+Subject: [PATCH] Fix MMIX build breakage from bfd_set_section_vma change.
+
+	* emultempl/mmix-elfnmmo.em (mmix_after_allocation): Fix typo in
+	call to bfd_set_section_vma exposed by recent bfd_set_section_vma
+	change.
+---
+ ld/ChangeLog                 |    6 ++++++
+ ld/emultempl/mmix-elfnmmo.em |    2 +-
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/ld/emultempl/mmix-elfnmmo.em b/ld/emultempl/mmix-elfnmmo.em
+index 0059792..5e9781a 100644
+--- a/ld/emultempl/mmix-elfnmmo.em
++++ b/ld/emultempl/mmix-elfnmmo.em
+@@ -102,7 +102,7 @@ mmix_after_allocation (void)
+      This section is only present when there are register symbols.  */
+   sec = bfd_get_section_by_name (link_info.output_bfd, MMIX_REG_SECTION_NAME);
+   if (sec != NULL)
+-    bfd_set_section_vma (abfd, sec, 0);
++    bfd_set_section_vma (sec->owner, sec, 0);
+ 
+   if (!_bfd_mmix_after_linker_allocation (link_info.output_bfd, &link_info))
+     {
+-- 
+1.7.10.4
+
diff --git a/meta/recipes-devtools/binutils/binutils/replace_macros_with_static_inline.patch b/meta/recipes-devtools/binutils/binutils/replace_macros_with_static_inline.patch
new file mode 100644
index 0000000..834f55c
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/replace_macros_with_static_inline.patch
@@ -0,0 +1,188 @@
+Upstream-Status: Backport
+
+From 27b829ee701e29804216b3803fbaeb629be27491 Mon Sep 17 00:00:00 2001
+From: Nick Clifton <nickc@redhat.com>
+Date: Wed, 29 Jan 2014 13:46:39 +0000
+Subject: [PATCH 1/1] Following up on Tom's suggestion I am checking in a patch to replace the various
+ bfd_xxx_set macros with static inline functions, so that we can avoid compile time
+ warnings about comma expressions with unused values.
+
+	* bfd-in.h (bfd_set_section_vma): Delete.
+	(bfd_set_section_alignment): Delete.
+	(bfd_set_section_userdata): Delete.
+	(bfd_set_cacheable): Delete.
+	* bfd.c (bfd_set_cacheable): New static inline function.
+	* section.c (bfd_set_section_userdata): Likewise.
+	(bfd_set_section_vma): Likewise.
+	(bfd_set_section_alignment): Likewise.
+	* bfd-in2.h: Regenerate.
+---
+ bfd/ChangeLog |   12 ++++++++++++
+ bfd/bfd-in.h  |    5 -----
+ bfd/bfd-in2.h |   41 +++++++++++++++++++++++++++++++++++------
+ bfd/bfd.c     |    8 ++++++++
+ bfd/section.c |   26 ++++++++++++++++++++++++++
+ 5 files changed, 81 insertions(+), 11 deletions(-)
+
+diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h
+index 3afd71b..c7c5a7d 100644
+--- a/bfd/bfd-in.h
++++ b/bfd/bfd-in.h
+@@ -292,9 +292,6 @@ typedef struct bfd_section *sec_ptr;
+ 
+ #define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0)
+ 
+-#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma = (val)), ((ptr)->user_set_vma = TRUE), TRUE)
+-#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),TRUE)
+-#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),TRUE)
+ /* Find the address one past the end of SEC.  */
+ #define bfd_get_section_limit(bfd, sec) \
+   (((bfd)->direction != write_direction && (sec)->rawsize != 0	\
+@@ -517,8 +514,6 @@ extern void warn_deprecated (const char *, const char *, int, const char *);
+ 
+ #define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char)
+ 
+-#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = bool), TRUE)
+-
+ extern bfd_boolean bfd_cache_close
+   (bfd *abfd);
+ /* NB: This declaration should match the autogenerated one in libbfd.h.  */
+diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
+index 71996db..b5aeb40 100644
+--- a/bfd/bfd-in2.h
++++ b/bfd/bfd-in2.h
+@@ -299,9 +299,6 @@ typedef struct bfd_section *sec_ptr;
+ 
+ #define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0)
+ 
+-#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma = (val)), ((ptr)->user_set_vma = TRUE), TRUE)
+-#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),TRUE)
+-#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),TRUE)
+ /* Find the address one past the end of SEC.  */
+ #define bfd_get_section_limit(bfd, sec) \
+   (((bfd)->direction != write_direction && (sec)->rawsize != 0	\
+@@ -524,8 +521,6 @@ extern void warn_deprecated (const char *, const char *, int, const char *);
+ 
+ #define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char)
+ 
+-#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = bool), TRUE)
+-
+ extern bfd_boolean bfd_cache_close
+   (bfd *abfd);
+ /* NB: This declaration should match the autogenerated one in libbfd.h.  */
+@@ -1029,7 +1024,7 @@ bfd *bfd_openr (const char *filename, const char *target);
+ 
+ bfd *bfd_fdopenr (const char *filename, const char *target, int fd);
+ 
+-bfd *bfd_openstreamr (const char *, const char *, void *);
++bfd *bfd_openstreamr (const char * filename, const char * target, void * stream);
+ 
+ bfd *bfd_openr_iovec (const char *filename, const char *target,
+     void *(*open_func) (struct bfd *nbfd,
+@@ -1596,6 +1591,32 @@ struct relax_table {
+   int size;
+ };
+ 
++/* Note: the following are provided as inline functions rather than macros
++   because not all callers use the return value.  A macro implementation
++   would use a comma expression, eg: "((ptr)->foo = val, TRUE)" and some
++   compilers will complain about comma expressions that have no effect.  */
++static inline bfd_boolean
++bfd_set_section_userdata (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, void * val)
++{
++  ptr->userdata = val;
++  return TRUE;
++}
++
++static inline bfd_boolean
++bfd_set_section_vma (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, bfd_vma val)
++{
++  ptr->vma = ptr->lma = val;
++  ptr->user_set_vma = TRUE;
++  return TRUE;
++}
++
++static inline bfd_boolean
++bfd_set_section_alignment (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, unsigned int val)
++{
++  ptr->alignment_power = val;
++  return TRUE;
++}
++
+ /* These sections are global, and are managed by BFD.  The application
+    and target back end are not permitted to change the values in
+    these sections.  */
+@@ -6415,6 +6436,14 @@ struct bfd
+   unsigned int selective_search : 1;
+ };
+ 
++/* See note beside bfd_set_section_userdata.  */
++static inline bfd_boolean
++bfd_set_cacheable (bfd * abfd, bfd_boolean val)
++{
++  abfd->cacheable = val;
++  return TRUE;
++}
++
+ typedef enum bfd_error
+ {
+   bfd_error_no_error = 0,
+diff --git a/bfd/bfd.c b/bfd/bfd.c
+index 8d0580c..2d174f3 100644
+--- a/bfd/bfd.c
++++ b/bfd/bfd.c
+@@ -311,6 +311,14 @@ CODE_FRAGMENT
+ .  unsigned int selective_search : 1;
+ .};
+ .
++.{* See note beside bfd_set_section_userdata.  *}
++.static inline bfd_boolean
++.bfd_set_cacheable (bfd * abfd, bfd_boolean val)
++.{
++.  abfd->cacheable = val;
++.  return TRUE;
++.}
++.
+ */
+ 
+ #include "sysdep.h"
+diff --git a/bfd/section.c b/bfd/section.c
+index fb19d8c..a661228 100644
+--- a/bfd/section.c
++++ b/bfd/section.c
+@@ -542,6 +542,32 @@ CODE_FRAGMENT
+ .  int size;
+ .};
+ .
++.{* Note: the following are provided as inline functions rather than macros
++.   because not all callers use the return value.  A macro implementation
++.   would use a comma expression, eg: "((ptr)->foo = val, TRUE)" and some
++.   compilers will complain about comma expressions that have no effect.  *}
++.static inline bfd_boolean
++.bfd_set_section_userdata (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, void * val)
++.{
++.  ptr->userdata = val;
++.  return TRUE;
++.}
++.
++.static inline bfd_boolean
++.bfd_set_section_vma (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, bfd_vma val)
++.{
++.  ptr->vma = ptr->lma = val;
++.  ptr->user_set_vma = TRUE;
++.  return TRUE;
++.}
++.
++.static inline bfd_boolean
++.bfd_set_section_alignment (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, unsigned int val)
++.{
++.  ptr->alignment_power = val;
++.  return TRUE;
++.}
++.
+ .{* These sections are global, and are managed by BFD.  The application
+ .   and target back end are not permitted to change the values in
+ .   these sections.  *}
+-- 
+1.7.1
+
-- 
2.3.5



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

* [dylan][PATCH 2/2] binutils: backport patch to fix build with gcc-4.9
  2015-04-10 11:34 [dylan][PATCH 1/2] binutils: Fix building nativesdk binutils with gcc 4.9 Martin Jansa
@ 2015-04-10 11:34 ` Martin Jansa
  2015-04-12  6:57   ` Khem Raj
  2015-04-20 10:41   ` Martin Jansa
  2015-04-10 16:31 ` [dylan][PATCH 1/2] binutils: Fix building nativesdk binutils with gcc 4.9 Khem Raj
  1 sibling, 2 replies; 5+ messages in thread
From: Martin Jansa @ 2015-04-10 11:34 UTC (permalink / raw)
  To: openembedded-core

* backported from 2.23.2, fixes:
work/x86_64-linux/binutils-native/2.23.1-r3/binutils-2.23.1/gas/write.c:409:24:
  error: 'dummy.fr_type' may be used uninitialized in this function [-Werror=maybe-uninitialized]
   gas_assert (prev_frag->fr_type != 0);
                        ^
work/x86_64-linux/binutils-native/2.23.1-r3/binutils-2.23.1/gas/write.c:392:9: note: 'dummy' was declared here
   fragS dummy, *prev_frag = &dummy;
         ^

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta/recipes-devtools/binutils/binutils-2.23.1.inc |  1 +
 ...in_frchains_together_1-Reorder-assertion-.patch | 30 ++++++++++++++++++++++
 2 files changed, 31 insertions(+)
 create mode 100644 meta/recipes-devtools/binutils/binutils/0001-write.c-chain_frchains_together_1-Reorder-assertion-.patch

diff --git a/meta/recipes-devtools/binutils/binutils-2.23.1.inc b/meta/recipes-devtools/binutils/binutils-2.23.1.inc
index 7b3366a..6a6811b 100644
--- a/meta/recipes-devtools/binutils/binutils-2.23.1.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.23.1.inc
@@ -31,6 +31,7 @@ SRC_URI = "\
      file://binutils-fix-over-array-bounds-issue.patch \
      file://replace_macros_with_static_inline.patch \
      file://0001-Fix-MMIX-build-breakage-from-bfd_set_section_vma-cha.patch \
+     file://0001-write.c-chain_frchains_together_1-Reorder-assertion-.patch \
      "
 
 BACKPORT = "\
diff --git a/meta/recipes-devtools/binutils/binutils/0001-write.c-chain_frchains_together_1-Reorder-assertion-.patch b/meta/recipes-devtools/binutils/binutils/0001-write.c-chain_frchains_together_1-Reorder-assertion-.patch
new file mode 100644
index 0000000..ffe6852
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/0001-write.c-chain_frchains_together_1-Reorder-assertion-.patch
@@ -0,0 +1,30 @@
+From c50d883cb61ff9917464cb695a0fd83fdb0f9c20 Mon Sep 17 00:00:00 2001
+From: Alan Modra <amodra@bigpond.net.au>
+Date: Mon, 21 Jan 2013 13:48:31 +0000
+Subject: [PATCH] write.c (chain_frchains_together_1): Reorder assertion to
+ avoid uninit warning.
+
+Upstream-Status: Backport from 2.23.2
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ gas/write.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gas/write.c b/gas/write.c
+index a467147..56ebb6c 100644
+--- a/gas/write.c
++++ b/gas/write.c
+@@ -406,8 +406,8 @@ chain_frchains_together_1 (segT section, struct frchain *frchp)
+ 	  prev_fix = frchp->fix_tail;
+ 	}
+     }
+-  gas_assert (prev_frag->fr_type != 0);
+-  gas_assert (prev_frag != &dummy);
++  gas_assert (prev_frag != &dummy
++	      && prev_frag->fr_type != 0);
+   prev_frag->fr_next = 0;
+   return prev_frag;
+ }
+-- 
+2.3.5
+
-- 
2.3.5



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

* Re: [dylan][PATCH 1/2] binutils: Fix building nativesdk binutils with gcc 4.9
  2015-04-10 11:34 [dylan][PATCH 1/2] binutils: Fix building nativesdk binutils with gcc 4.9 Martin Jansa
  2015-04-10 11:34 ` [dylan][PATCH 2/2] binutils: backport patch to fix build with gcc-4.9 Martin Jansa
@ 2015-04-10 16:31 ` Khem Raj
  1 sibling, 0 replies; 5+ messages in thread
From: Khem Raj @ 2015-04-10 16:31 UTC (permalink / raw)
  To: Martin Jansa; +Cc: Patches and discussions about the oe-core layer

On Fri, Apr 10, 2015 at 4:34 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
> From: Khem Raj <raj.khem@gmail.com>
>
> Patches explain the issue in detail but this is exposed
> with gcc 4.9 in binutils 2.23.2
>
> (From OE-Core rev: fc5c467b680fc5aef4b0f689e6988e17a9322ae0)
>
> (From OE-Core rev: 4dfb8847ebf8aab90ad8888933468e2899c96998)
>
> (From OE-Core rev: af347d3298e15552d502d5b2ce497bbda9705bc7)
>


this is ok


> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
>  meta/recipes-devtools/binutils/binutils-2.23.1.inc |   2 +
>  ...ild-breakage-from-bfd_set_section_vma-cha.patch |  31 ++++
>  .../replace_macros_with_static_inline.patch        | 188 +++++++++++++++++++++
>  3 files changed, 221 insertions(+)
>  create mode 100644 meta/recipes-devtools/binutils/binutils/0001-Fix-MMIX-build-breakage-from-bfd_set_section_vma-cha.patch
>  create mode 100644 meta/recipes-devtools/binutils/binutils/replace_macros_with_static_inline.patch
>
> diff --git a/meta/recipes-devtools/binutils/binutils-2.23.1.inc b/meta/recipes-devtools/binutils/binutils-2.23.1.inc
> index 667ad0b..7b3366a 100644
> --- a/meta/recipes-devtools/binutils/binutils-2.23.1.inc
> +++ b/meta/recipes-devtools/binutils/binutils-2.23.1.inc
> @@ -29,6 +29,8 @@ SRC_URI = "\
>       file://mips64-default-ld-emulation.patch \
>       ${BACKPORT} \
>       file://binutils-fix-over-array-bounds-issue.patch \
> +     file://replace_macros_with_static_inline.patch \
> +     file://0001-Fix-MMIX-build-breakage-from-bfd_set_section_vma-cha.patch \
>       "
>
>  BACKPORT = "\
> diff --git a/meta/recipes-devtools/binutils/binutils/0001-Fix-MMIX-build-breakage-from-bfd_set_section_vma-cha.patch b/meta/recipes-devtools/binutils/binutils/0001-Fix-MMIX-build-breakage-from-bfd_set_section_vma-cha.patch
> new file mode 100644
> index 0000000..f786b17
> --- /dev/null
> +++ b/meta/recipes-devtools/binutils/binutils/0001-Fix-MMIX-build-breakage-from-bfd_set_section_vma-cha.patch
> @@ -0,0 +1,31 @@
> +Upstream-Status: Backport
> +
> +From 0a09fb4a09e80c36fa3ef763ae276fd13d272a36 Mon Sep 17 00:00:00 2001
> +From: Hans-Peter Nilsson <hp@bitrange.com>
> +Date: Sat, 1 Feb 2014 01:11:28 +0100
> +Subject: [PATCH] Fix MMIX build breakage from bfd_set_section_vma change.
> +
> +       * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Fix typo in
> +       call to bfd_set_section_vma exposed by recent bfd_set_section_vma
> +       change.
> +---
> + ld/ChangeLog                 |    6 ++++++
> + ld/emultempl/mmix-elfnmmo.em |    2 +-
> + 2 files changed, 7 insertions(+), 1 deletion(-)
> +
> +diff --git a/ld/emultempl/mmix-elfnmmo.em b/ld/emultempl/mmix-elfnmmo.em
> +index 0059792..5e9781a 100644
> +--- a/ld/emultempl/mmix-elfnmmo.em
> ++++ b/ld/emultempl/mmix-elfnmmo.em
> +@@ -102,7 +102,7 @@ mmix_after_allocation (void)
> +      This section is only present when there are register symbols.  */
> +   sec = bfd_get_section_by_name (link_info.output_bfd, MMIX_REG_SECTION_NAME);
> +   if (sec != NULL)
> +-    bfd_set_section_vma (abfd, sec, 0);
> ++    bfd_set_section_vma (sec->owner, sec, 0);
> +
> +   if (!_bfd_mmix_after_linker_allocation (link_info.output_bfd, &link_info))
> +     {
> +--
> +1.7.10.4
> +
> diff --git a/meta/recipes-devtools/binutils/binutils/replace_macros_with_static_inline.patch b/meta/recipes-devtools/binutils/binutils/replace_macros_with_static_inline.patch
> new file mode 100644
> index 0000000..834f55c
> --- /dev/null
> +++ b/meta/recipes-devtools/binutils/binutils/replace_macros_with_static_inline.patch
> @@ -0,0 +1,188 @@
> +Upstream-Status: Backport
> +
> +From 27b829ee701e29804216b3803fbaeb629be27491 Mon Sep 17 00:00:00 2001
> +From: Nick Clifton <nickc@redhat.com>
> +Date: Wed, 29 Jan 2014 13:46:39 +0000
> +Subject: [PATCH 1/1] Following up on Tom's suggestion I am checking in a patch to replace the various
> + bfd_xxx_set macros with static inline functions, so that we can avoid compile time
> + warnings about comma expressions with unused values.
> +
> +       * bfd-in.h (bfd_set_section_vma): Delete.
> +       (bfd_set_section_alignment): Delete.
> +       (bfd_set_section_userdata): Delete.
> +       (bfd_set_cacheable): Delete.
> +       * bfd.c (bfd_set_cacheable): New static inline function.
> +       * section.c (bfd_set_section_userdata): Likewise.
> +       (bfd_set_section_vma): Likewise.
> +       (bfd_set_section_alignment): Likewise.
> +       * bfd-in2.h: Regenerate.
> +---
> + bfd/ChangeLog |   12 ++++++++++++
> + bfd/bfd-in.h  |    5 -----
> + bfd/bfd-in2.h |   41 +++++++++++++++++++++++++++++++++++------
> + bfd/bfd.c     |    8 ++++++++
> + bfd/section.c |   26 ++++++++++++++++++++++++++
> + 5 files changed, 81 insertions(+), 11 deletions(-)
> +
> +diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h
> +index 3afd71b..c7c5a7d 100644
> +--- a/bfd/bfd-in.h
> ++++ b/bfd/bfd-in.h
> +@@ -292,9 +292,6 @@ typedef struct bfd_section *sec_ptr;
> +
> + #define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0)
> +
> +-#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma = (val)), ((ptr)->user_set_vma = TRUE), TRUE)
> +-#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),TRUE)
> +-#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),TRUE)
> + /* Find the address one past the end of SEC.  */
> + #define bfd_get_section_limit(bfd, sec) \
> +   (((bfd)->direction != write_direction && (sec)->rawsize != 0        \
> +@@ -517,8 +514,6 @@ extern void warn_deprecated (const char *, const char *, int, const char *);
> +
> + #define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char)
> +
> +-#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = bool), TRUE)
> +-
> + extern bfd_boolean bfd_cache_close
> +   (bfd *abfd);
> + /* NB: This declaration should match the autogenerated one in libbfd.h.  */
> +diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
> +index 71996db..b5aeb40 100644
> +--- a/bfd/bfd-in2.h
> ++++ b/bfd/bfd-in2.h
> +@@ -299,9 +299,6 @@ typedef struct bfd_section *sec_ptr;
> +
> + #define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0)
> +
> +-#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma = (val)), ((ptr)->user_set_vma = TRUE), TRUE)
> +-#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),TRUE)
> +-#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),TRUE)
> + /* Find the address one past the end of SEC.  */
> + #define bfd_get_section_limit(bfd, sec) \
> +   (((bfd)->direction != write_direction && (sec)->rawsize != 0        \
> +@@ -524,8 +521,6 @@ extern void warn_deprecated (const char *, const char *, int, const char *);
> +
> + #define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char)
> +
> +-#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = bool), TRUE)
> +-
> + extern bfd_boolean bfd_cache_close
> +   (bfd *abfd);
> + /* NB: This declaration should match the autogenerated one in libbfd.h.  */
> +@@ -1029,7 +1024,7 @@ bfd *bfd_openr (const char *filename, const char *target);
> +
> + bfd *bfd_fdopenr (const char *filename, const char *target, int fd);
> +
> +-bfd *bfd_openstreamr (const char *, const char *, void *);
> ++bfd *bfd_openstreamr (const char * filename, const char * target, void * stream);
> +
> + bfd *bfd_openr_iovec (const char *filename, const char *target,
> +     void *(*open_func) (struct bfd *nbfd,
> +@@ -1596,6 +1591,32 @@ struct relax_table {
> +   int size;
> + };
> +
> ++/* Note: the following are provided as inline functions rather than macros
> ++   because not all callers use the return value.  A macro implementation
> ++   would use a comma expression, eg: "((ptr)->foo = val, TRUE)" and some
> ++   compilers will complain about comma expressions that have no effect.  */
> ++static inline bfd_boolean
> ++bfd_set_section_userdata (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, void * val)
> ++{
> ++  ptr->userdata = val;
> ++  return TRUE;
> ++}
> ++
> ++static inline bfd_boolean
> ++bfd_set_section_vma (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, bfd_vma val)
> ++{
> ++  ptr->vma = ptr->lma = val;
> ++  ptr->user_set_vma = TRUE;
> ++  return TRUE;
> ++}
> ++
> ++static inline bfd_boolean
> ++bfd_set_section_alignment (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, unsigned int val)
> ++{
> ++  ptr->alignment_power = val;
> ++  return TRUE;
> ++}
> ++
> + /* These sections are global, and are managed by BFD.  The application
> +    and target back end are not permitted to change the values in
> +    these sections.  */
> +@@ -6415,6 +6436,14 @@ struct bfd
> +   unsigned int selective_search : 1;
> + };
> +
> ++/* See note beside bfd_set_section_userdata.  */
> ++static inline bfd_boolean
> ++bfd_set_cacheable (bfd * abfd, bfd_boolean val)
> ++{
> ++  abfd->cacheable = val;
> ++  return TRUE;
> ++}
> ++
> + typedef enum bfd_error
> + {
> +   bfd_error_no_error = 0,
> +diff --git a/bfd/bfd.c b/bfd/bfd.c
> +index 8d0580c..2d174f3 100644
> +--- a/bfd/bfd.c
> ++++ b/bfd/bfd.c
> +@@ -311,6 +311,14 @@ CODE_FRAGMENT
> + .  unsigned int selective_search : 1;
> + .};
> + .
> ++.{* See note beside bfd_set_section_userdata.  *}
> ++.static inline bfd_boolean
> ++.bfd_set_cacheable (bfd * abfd, bfd_boolean val)
> ++.{
> ++.  abfd->cacheable = val;
> ++.  return TRUE;
> ++.}
> ++.
> + */
> +
> + #include "sysdep.h"
> +diff --git a/bfd/section.c b/bfd/section.c
> +index fb19d8c..a661228 100644
> +--- a/bfd/section.c
> ++++ b/bfd/section.c
> +@@ -542,6 +542,32 @@ CODE_FRAGMENT
> + .  int size;
> + .};
> + .
> ++.{* Note: the following are provided as inline functions rather than macros
> ++.   because not all callers use the return value.  A macro implementation
> ++.   would use a comma expression, eg: "((ptr)->foo = val, TRUE)" and some
> ++.   compilers will complain about comma expressions that have no effect.  *}
> ++.static inline bfd_boolean
> ++.bfd_set_section_userdata (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, void * val)
> ++.{
> ++.  ptr->userdata = val;
> ++.  return TRUE;
> ++.}
> ++.
> ++.static inline bfd_boolean
> ++.bfd_set_section_vma (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, bfd_vma val)
> ++.{
> ++.  ptr->vma = ptr->lma = val;
> ++.  ptr->user_set_vma = TRUE;
> ++.  return TRUE;
> ++.}
> ++.
> ++.static inline bfd_boolean
> ++.bfd_set_section_alignment (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, unsigned int val)
> ++.{
> ++.  ptr->alignment_power = val;
> ++.  return TRUE;
> ++.}
> ++.
> + .{* These sections are global, and are managed by BFD.  The application
> + .   and target back end are not permitted to change the values in
> + .   these sections.  *}
> +--
> +1.7.1
> +
> --
> 2.3.5
>


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

* Re: [dylan][PATCH 2/2] binutils: backport patch to fix build with gcc-4.9
  2015-04-10 11:34 ` [dylan][PATCH 2/2] binutils: backport patch to fix build with gcc-4.9 Martin Jansa
@ 2015-04-12  6:57   ` Khem Raj
  2015-04-20 10:41   ` Martin Jansa
  1 sibling, 0 replies; 5+ messages in thread
From: Khem Raj @ 2015-04-12  6:57 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-core


> On Apr 10, 2015, at 4:34 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
> 
> * backported from 2.23.2, fixes:
> work/x86_64-linux/binutils-native/2.23.1-r3/binutils-2.23.1/gas/write.c:409:24:
>  error: 'dummy.fr_type' may be used uninitialized in this function [-Werror=maybe-uninitialized]
>   gas_assert (prev_frag->fr_type != 0);
>                        ^
> work/x86_64-linux/binutils-native/2.23.1-r3/binutils-2.23.1/gas/write.c:392:9: note: 'dummy' was declared here
>   fragS dummy, *prev_frag = &dummy;
>         ^
> 

This is ok

> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
> meta/recipes-devtools/binutils/binutils-2.23.1.inc |  1 +
> ...in_frchains_together_1-Reorder-assertion-.patch | 30 ++++++++++++++++++++++
> 2 files changed, 31 insertions(+)
> create mode 100644 meta/recipes-devtools/binutils/binutils/0001-write.c-chain_frchains_together_1-Reorder-assertion-.patch
> 
> diff --git a/meta/recipes-devtools/binutils/binutils-2.23.1.inc b/meta/recipes-devtools/binutils/binutils-2.23.1.inc
> index 7b3366a..6a6811b 100644
> --- a/meta/recipes-devtools/binutils/binutils-2.23.1.inc
> +++ b/meta/recipes-devtools/binutils/binutils-2.23.1.inc
> @@ -31,6 +31,7 @@ SRC_URI = "\
>      file://binutils-fix-over-array-bounds-issue.patch \
>      file://replace_macros_with_static_inline.patch \
>      file://0001-Fix-MMIX-build-breakage-from-bfd_set_section_vma-cha.patch \
> +     file://0001-write.c-chain_frchains_together_1-Reorder-assertion-.patch \
>      "
> 
> BACKPORT = "\
> diff --git a/meta/recipes-devtools/binutils/binutils/0001-write.c-chain_frchains_together_1-Reorder-assertion-.patch b/meta/recipes-devtools/binutils/binutils/0001-write.c-chain_frchains_together_1-Reorder-assertion-.patch
> new file mode 100644
> index 0000000..ffe6852
> --- /dev/null
> +++ b/meta/recipes-devtools/binutils/binutils/0001-write.c-chain_frchains_together_1-Reorder-assertion-.patch
> @@ -0,0 +1,30 @@
> +From c50d883cb61ff9917464cb695a0fd83fdb0f9c20 Mon Sep 17 00:00:00 2001
> +From: Alan Modra <amodra@bigpond.net.au>
> +Date: Mon, 21 Jan 2013 13:48:31 +0000
> +Subject: [PATCH] write.c (chain_frchains_together_1): Reorder assertion to
> + avoid uninit warning.
> +
> +Upstream-Status: Backport from 2.23.2
> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> +---
> + gas/write.c | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/gas/write.c b/gas/write.c
> +index a467147..56ebb6c 100644
> +--- a/gas/write.c
> ++++ b/gas/write.c
> +@@ -406,8 +406,8 @@ chain_frchains_together_1 (segT section, struct frchain *frchp)
> + 	  prev_fix = frchp->fix_tail;
> + 	}
> +     }
> +-  gas_assert (prev_frag->fr_type != 0);
> +-  gas_assert (prev_frag != &dummy);
> ++  gas_assert (prev_frag != &dummy
> ++	      && prev_frag->fr_type != 0);
> +   prev_frag->fr_next = 0;
> +   return prev_frag;
> + }
> +-- 
> +2.3.5
> +
> -- 
> 2.3.5
> 
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



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

* Re: [dylan][PATCH 2/2] binutils: backport patch to fix build with gcc-4.9
  2015-04-10 11:34 ` [dylan][PATCH 2/2] binutils: backport patch to fix build with gcc-4.9 Martin Jansa
  2015-04-12  6:57   ` Khem Raj
@ 2015-04-20 10:41   ` Martin Jansa
  1 sibling, 0 replies; 5+ messages in thread
From: Martin Jansa @ 2015-04-20 10:41 UTC (permalink / raw)
  To: openembedded-core

On Fri, Apr 10, 2015 at 01:34:29PM +0200, Martin Jansa wrote:
> * backported from 2.23.2, fixes:
> work/x86_64-linux/binutils-native/2.23.1-r3/binutils-2.23.1/gas/write.c:409:24:
>   error: 'dummy.fr_type' may be used uninitialized in this function [-Werror=maybe-uninitialized]
>    gas_assert (prev_frag->fr_type != 0);
>                         ^
> work/x86_64-linux/binutils-native/2.23.1-r3/binutils-2.23.1/gas/write.c:392:9: note: 'dummy' was declared here
>    fragS dummy, *prev_frag = &dummy;
>          ^

Ping

1/2 patch was merged almost immediately, but it isn't any good without
this 2/2.

> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
>  meta/recipes-devtools/binutils/binutils-2.23.1.inc |  1 +
>  ...in_frchains_together_1-Reorder-assertion-.patch | 30 ++++++++++++++++++++++
>  2 files changed, 31 insertions(+)
>  create mode 100644 meta/recipes-devtools/binutils/binutils/0001-write.c-chain_frchains_together_1-Reorder-assertion-.patch
> 
> diff --git a/meta/recipes-devtools/binutils/binutils-2.23.1.inc b/meta/recipes-devtools/binutils/binutils-2.23.1.inc
> index 7b3366a..6a6811b 100644
> --- a/meta/recipes-devtools/binutils/binutils-2.23.1.inc
> +++ b/meta/recipes-devtools/binutils/binutils-2.23.1.inc
> @@ -31,6 +31,7 @@ SRC_URI = "\
>       file://binutils-fix-over-array-bounds-issue.patch \
>       file://replace_macros_with_static_inline.patch \
>       file://0001-Fix-MMIX-build-breakage-from-bfd_set_section_vma-cha.patch \
> +     file://0001-write.c-chain_frchains_together_1-Reorder-assertion-.patch \
>       "
>  
>  BACKPORT = "\
> diff --git a/meta/recipes-devtools/binutils/binutils/0001-write.c-chain_frchains_together_1-Reorder-assertion-.patch b/meta/recipes-devtools/binutils/binutils/0001-write.c-chain_frchains_together_1-Reorder-assertion-.patch
> new file mode 100644
> index 0000000..ffe6852
> --- /dev/null
> +++ b/meta/recipes-devtools/binutils/binutils/0001-write.c-chain_frchains_together_1-Reorder-assertion-.patch
> @@ -0,0 +1,30 @@
> +From c50d883cb61ff9917464cb695a0fd83fdb0f9c20 Mon Sep 17 00:00:00 2001
> +From: Alan Modra <amodra@bigpond.net.au>
> +Date: Mon, 21 Jan 2013 13:48:31 +0000
> +Subject: [PATCH] write.c (chain_frchains_together_1): Reorder assertion to
> + avoid uninit warning.
> +
> +Upstream-Status: Backport from 2.23.2
> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> +---
> + gas/write.c | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/gas/write.c b/gas/write.c
> +index a467147..56ebb6c 100644
> +--- a/gas/write.c
> ++++ b/gas/write.c
> +@@ -406,8 +406,8 @@ chain_frchains_together_1 (segT section, struct frchain *frchp)
> + 	  prev_fix = frchp->fix_tail;
> + 	}
> +     }
> +-  gas_assert (prev_frag->fr_type != 0);
> +-  gas_assert (prev_frag != &dummy);
> ++  gas_assert (prev_frag != &dummy
> ++	      && prev_frag->fr_type != 0);
> +   prev_frag->fr_next = 0;
> +   return prev_frag;
> + }
> +-- 
> +2.3.5
> +
> -- 
> 2.3.5
> 

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com


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

end of thread, other threads:[~2015-04-20 10:41 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-10 11:34 [dylan][PATCH 1/2] binutils: Fix building nativesdk binutils with gcc 4.9 Martin Jansa
2015-04-10 11:34 ` [dylan][PATCH 2/2] binutils: backport patch to fix build with gcc-4.9 Martin Jansa
2015-04-12  6:57   ` Khem Raj
2015-04-20 10:41   ` Martin Jansa
2015-04-10 16:31 ` [dylan][PATCH 1/2] binutils: Fix building nativesdk binutils with gcc 4.9 Khem Raj

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.