All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 1/3] libglib2: backport upstream patch to handle missing fcntl() flags
@ 2018-07-30 22:02 Hollis Blanchard
  2018-07-30 22:02 ` [Buildroot] [PATCH v2 2/3] host-attr: build fix for GCC <4.5 Hollis Blanchard
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Hollis Blanchard @ 2018-07-30 22:02 UTC (permalink / raw)
  To: buildroot

On RHEL6 hosts, fcntl.h doesn't define F_SETPIPE_SZ or F_GETPIPE_SZ. Upstream
glib has a patch for this case that wasn't applied to their 2.56.1 branch.

Signed-off-by: Hollis Blanchard <hollis_blanchard@mentor.com>
---
 ...-fix-compilation-without-F_-S-G-ETPIPE_SZ.patch | 52 ++++++++++++++++++++++
 1 file changed, 52 insertions(+)
 create mode 100644 package/libglib2/0005-gio-fix-compilation-without-F_-S-G-ETPIPE_SZ.patch

diff --git a/package/libglib2/0005-gio-fix-compilation-without-F_-S-G-ETPIPE_SZ.patch b/package/libglib2/0005-gio-fix-compilation-without-F_-S-G-ETPIPE_SZ.patch
new file mode 100644
index 0000000000..032f4851c4
--- /dev/null
+++ b/package/libglib2/0005-gio-fix-compilation-without-F_-S-G-ETPIPE_SZ.patch
@@ -0,0 +1,52 @@
+From 0beb62f564072f3585762c9c55fe894485993b62 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Tue, 10 Apr 2018 18:55:11 +0200
+Subject: [PATCH] gio: fix compilation without F_{S,G}ETPIPE_SZ
+
+Commit a5778ef7c51044147fe470ea1707dd297f44f880 broke compilation on
+architectures without F_SETPIPE_SZ and F_GETPIPE_SZ such as or1k.
+If those variables are undefined, put back previous behavior, buffer
+size set to 1024 * 64
+
+Fixes:
+ - http://autobuild.buildroot.net/results/398490e07343a931b25ca6ab5c90a75d7a073e9f
+
+(Modified by Philip Withnall <withnall@endlessm.com> to add an
+explanatory comment.)
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+
+https://bugzilla.gnome.org/show_bug.cgi?id=795133
+---
+ gio/gfile.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/gio/gfile.c b/gio/gfile.c
+index 334ad8ec3..a67aad383 100644
+--- a/gio/gfile.c
++++ b/gio/gfile.c
+@@ -3012,6 +3012,7 @@ splice_stream_with_progress (GInputStream           *in,
+   if (!g_unix_open_pipe (buffer, FD_CLOEXEC, error))
+     return FALSE;
+ 
++#if defined(F_SETPIPE_SZ) && defined(F_GETPIPE_SZ)
+   /* Try a 1MiB buffer for improved throughput. If that fails, use the default
+    * pipe size. See: https://bugzilla.gnome.org/791457 */
+   buffer_size = fcntl (buffer[1], F_SETPIPE_SZ, 1024 * 1024);
+@@ -3029,6 +3030,13 @@ splice_stream_with_progress (GInputStream           *in,
+           goto out;
+         }
+     }
++#else
++  /* If #F_GETPIPE_SZ isn?t available, assume we?re on Linux < 2.6.35,
++   * but ? 2.6.11, meaning the pipe capacity is 64KiB. Ignore the possibility of
++   * running on Linux < 2.6.11 (where the capacity was the system page size,
++   * typically 4KiB) because it?s ancient. See pipe(7). */
++  buffer_size = 1024 * 64;
++#endif
+ 
+   g_assert (buffer_size > 0);
+ 
+-- 
+2.13.0
+
-- 
2.13.0

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

* [Buildroot] [PATCH v2 2/3] host-attr: build fix for GCC <4.5
  2018-07-30 22:02 [Buildroot] [PATCH v2 1/3] libglib2: backport upstream patch to handle missing fcntl() flags Hollis Blanchard
@ 2018-07-30 22:02 ` Hollis Blanchard
  2018-07-31 19:47   ` Thomas Petazzoni
  2018-07-30 22:02 ` [Buildroot] [PATCH v2 3/3] host-acl: build fix for GCC 4.4.7 Hollis Blanchard
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Hollis Blanchard @ 2018-07-30 22:02 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Hollis Blanchard <hollis_blanchard@mentor.com>
---
 package/attr/0001-build-with-older-GCCs.patch | 87 +++++++++++++++++++++++++++
 1 file changed, 87 insertions(+)
 create mode 100644 package/attr/0001-build-with-older-GCCs.patch

diff --git a/package/attr/0001-build-with-older-GCCs.patch b/package/attr/0001-build-with-older-GCCs.patch
new file mode 100644
index 0000000000..2aa41107f9
--- /dev/null
+++ b/package/attr/0001-build-with-older-GCCs.patch
@@ -0,0 +1,87 @@
+From 3ac428794ea0f95c854166c9c0cffb0267c5e98b Mon Sep 17 00:00:00 2001
+From: Hollis Blanchard <hollis_blanchard@mentor.com>
+Date: Mon, 30 Jul 2018 14:17:21 -0700
+Subject: [PATCH] build with older GCCs
+
+GCC versions up through 4.4.7 (which is used in RHEL 6) do not accept any
+argument for the deprecated attribute. GCC 4.5 and later say the "msg"
+argument is optional. We don't need the messages during Buildroot builds
+anyways.
+
+Signed-off-by: Hollis Blanchard <hollis_blanchard@mentor.com>
+---
+ include/attributes.h | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/include/attributes.h b/include/attributes.h
+index 14beb8f..23c39c8 100644
+--- a/include/attributes.h
++++ b/include/attributes.h
+@@ -127,10 +127,10 @@ typedef struct attr_multiop {
+  */
+ EXPORT int attr_get (const char *__path, const char *__attrname,
+ 			char *__attrvalue, int *__valuelength, int __flags)
+-	__attribute__ ((deprecated ("Use getxattr or lgetxattr instead")));
++	__attribute__ ((deprecated));
+ EXPORT int attr_getf (int __fd, const char *__attrname, char *__attrvalue,
+ 			int *__valuelength, int __flags)
+-	__attribute__ ((deprecated ("Use fgetxattr instead")));
++	__attribute__ ((deprecated));
+ 
+ /*
+  * Set the value of an attribute, creating the attribute if necessary.
+@@ -139,11 +139,11 @@ EXPORT int attr_getf (int __fd, const char *__attrname, char *__attrvalue,
+ EXPORT int attr_set (const char *__path, const char *__attrname,
+ 			const char *__attrvalue, const int __valuelength,
+ 			int __flags)
+-	__attribute__ ((deprecated ("Use setxattr or lsetxattr instead")));
++	__attribute__ ((deprecated));
+ EXPORT int attr_setf (int __fd, const char *__attrname,
+ 			const char *__attrvalue, const int __valuelength,
+ 			int __flags)
+-	__attribute__ ((deprecated ("Use fsetxattr instead")));
++	__attribute__ ((deprecated));
+ 
+ /*
+  * Remove an attribute.
+@@ -151,9 +151,9 @@ EXPORT int attr_setf (int __fd, const char *__attrname,
+  */
+ EXPORT int attr_remove (const char *__path, const char *__attrname,
+ 			int __flags)
+-	__attribute__ ((deprecated ("Use removexattr or lremovexattr instead")));
++	__attribute__ ((deprecated));
+ EXPORT int attr_removef (int __fd, const char *__attrname, int __flags)
+-	__attribute__ ((deprecated ("Use fremovexattr instead")));
++	__attribute__ ((deprecated));
+ 
+ /*
+  * List the names and sizes of the values of all the attributes of an object.
+@@ -164,10 +164,10 @@ EXPORT int attr_removef (int __fd, const char *__attrname, int __flags)
+  */
+ EXPORT int attr_list(const char *__path, char *__buffer, const int __buffersize,
+ 		int __flags, attrlist_cursor_t *__cursor)
+-	__attribute__ ((deprecated ("Use listxattr or llistxattr instead")));
++	__attribute__ ((deprecated));
+ EXPORT int attr_listf(int __fd, char *__buffer, const int __buffersize,
+ 		int __flags, attrlist_cursor_t *__cursor)
+-	__attribute__ ((deprecated ("Use flistxattr instead")));
++	__attribute__ ((deprecated));
+ 
+ /*
+  * Operate on multiple attributes of the same object simultaneously.
+@@ -188,10 +188,10 @@ EXPORT int attr_listf(int __fd, char *__buffer, const int __buffersize,
+  */
+ EXPORT int attr_multi (const char *__path, attr_multiop_t *__oplist,
+ 			int __count, int __flags)
+-	__attribute__ ((deprecated ("Use getxattr, setxattr, listxattr, removexattr instead")));
++	__attribute__ ((deprecated));
+ EXPORT int attr_multif (int __fd, attr_multiop_t *__oplist,
+ 			int __count, int __flags)
+-	__attribute__ ((deprecated ("Use getxattr, setxattr, listxattr, removexattr instead")));
++	__attribute__ ((deprecated));
+ 
+ #ifdef __cplusplus
+ }
+-- 
+2.13.0
+
-- 
2.13.0

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

* [Buildroot] [PATCH v2 3/3] host-acl: build fix for GCC 4.4.7
  2018-07-30 22:02 [Buildroot] [PATCH v2 1/3] libglib2: backport upstream patch to handle missing fcntl() flags Hollis Blanchard
  2018-07-30 22:02 ` [Buildroot] [PATCH v2 2/3] host-attr: build fix for GCC <4.5 Hollis Blanchard
@ 2018-07-30 22:02 ` Hollis Blanchard
  2018-07-31 19:50   ` Thomas Petazzoni
  2018-07-31 19:43 ` [Buildroot] [PATCH v2 1/3] libglib2: backport upstream patch to handle missing fcntl() flags Thomas Petazzoni
  2018-08-20 20:32 ` Peter Korsgaard
  3 siblings, 1 reply; 7+ messages in thread
From: Hollis Blanchard @ 2018-07-30 22:02 UTC (permalink / raw)
  To: buildroot

This didn't introduce any build warnings with host gcc 4.4.7 or gcc 6.3.0.

Signed-off-by: Hollis Blanchard <hollis_blanchard@mentor.com>
---
 package/acl/0001-Build-with-old-GCC-versions.patch | 32 ++++++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100644 package/acl/0001-Build-with-old-GCC-versions.patch

diff --git a/package/acl/0001-Build-with-old-GCC-versions.patch b/package/acl/0001-Build-with-old-GCC-versions.patch
new file mode 100644
index 0000000000..3d958bffac
--- /dev/null
+++ b/package/acl/0001-Build-with-old-GCC-versions.patch
@@ -0,0 +1,32 @@
+From a42519dceef0493ece45538375ae1791313f16d3 Mon Sep 17 00:00:00 2001
+From: Hollis Blanchard <hollis_blanchard@mentor.com>
+Date: Mon, 30 Jul 2018 14:29:46 -0700
+Subject: [PATCH] Build with old GCC versions
+
+GCC 4.4.7, as found in RHEL6, reports:
+    libacl/acl_from_text.c:307: error: #pragma GCC diagnostic not allowed inside functions
+
+Signed-off-by: Hollis Blanchard <hollis_blanchard@mentor.com>
+---
+ libacl/acl_from_text.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/libacl/acl_from_text.c b/libacl/acl_from_text.c
+index 09790c9..fb6bc07 100644
+--- a/libacl/acl_from_text.c
++++ b/libacl/acl_from_text.c
+@@ -304,11 +304,8 @@ parse_acl_entry(const char **text_p, acl_t *acl_p)
+ create_entry:
+ 	if (acl_create_entry(acl_p, &entry_d) != 0)
+ 		return -1;
+-#pragma GCC diagnostic push
+-#pragma GCC diagnostic ignored "-Waddress"
+ 	if (acl_copy_entry(entry_d, int2ext(&entry_obj)) != 0)
+ 		return -1;
+-#pragma GCC diagnostic pop
+ 	return 0;
+ 
+ fail:
+-- 
+2.13.0
+
-- 
2.13.0

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

* [Buildroot] [PATCH v2 1/3] libglib2: backport upstream patch to handle missing fcntl() flags
  2018-07-30 22:02 [Buildroot] [PATCH v2 1/3] libglib2: backport upstream patch to handle missing fcntl() flags Hollis Blanchard
  2018-07-30 22:02 ` [Buildroot] [PATCH v2 2/3] host-attr: build fix for GCC <4.5 Hollis Blanchard
  2018-07-30 22:02 ` [Buildroot] [PATCH v2 3/3] host-acl: build fix for GCC 4.4.7 Hollis Blanchard
@ 2018-07-31 19:43 ` Thomas Petazzoni
  2018-08-20 20:32 ` Peter Korsgaard
  3 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2018-07-31 19:43 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 30 Jul 2018 15:02:16 -0700, Hollis Blanchard wrote:
> On RHEL6 hosts, fcntl.h doesn't define F_SETPIPE_SZ or F_GETPIPE_SZ. Upstream
> glib has a patch for this case that wasn't applied to their 2.56.1 branch.
> 
> Signed-off-by: Hollis Blanchard <hollis_blanchard@mentor.com>
> ---
>  ...-fix-compilation-without-F_-S-G-ETPIPE_SZ.patch | 52 ++++++++++++++++++++++
>  1 file changed, 52 insertions(+)
>  create mode 100644 package/libglib2/0005-gio-fix-compilation-without-F_-S-G-ETPIPE_SZ.patch

Applied to master after adding a reference to the autobuilder failure
being fixed. Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH v2 2/3] host-attr: build fix for GCC <4.5
  2018-07-30 22:02 ` [Buildroot] [PATCH v2 2/3] host-attr: build fix for GCC <4.5 Hollis Blanchard
@ 2018-07-31 19:47   ` Thomas Petazzoni
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2018-07-31 19:47 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 30 Jul 2018 15:02:17 -0700, Hollis Blanchard wrote:
> Signed-off-by: Hollis Blanchard <hollis_blanchard@mentor.com>

An empty commit log is not very good. Also, in the commit title, use
just "attr" and not "host-attr" as the prefix.

> diff --git a/package/attr/0001-build-with-older-GCCs.patch b/package/attr/0001-build-with-older-GCCs.patch
> new file mode 100644
> index 0000000000..2aa41107f9
> --- /dev/null
> +++ b/package/attr/0001-build-with-older-GCCs.patch
> @@ -0,0 +1,87 @@
> +From 3ac428794ea0f95c854166c9c0cffb0267c5e98b Mon Sep 17 00:00:00 2001
> +From: Hollis Blanchard <hollis_blanchard@mentor.com>
> +Date: Mon, 30 Jul 2018 14:17:21 -0700
> +Subject: [PATCH] build with older GCCs

This is not a good title for a patch. We want the title to say what
the patch does instead.

> +
> +GCC versions up through 4.4.7 (which is used in RHEL 6) do not accept any
> +argument for the deprecated attribute. GCC 4.5 and later say the "msg"
> +argument is optional. We don't need the messages during Buildroot builds
> +anyways.
> +
> +Signed-off-by: Hollis Blanchard <hollis_blanchard@mentor.com>

I fixed up those minor issues and applied. Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH v2 3/3] host-acl: build fix for GCC 4.4.7
  2018-07-30 22:02 ` [Buildroot] [PATCH v2 3/3] host-acl: build fix for GCC 4.4.7 Hollis Blanchard
@ 2018-07-31 19:50   ` Thomas Petazzoni
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2018-07-31 19:50 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 30 Jul 2018 15:02:18 -0700, Hollis Blanchard wrote:
> This didn't introduce any build warnings with host gcc 4.4.7 or gcc 6.3.0.
> 
> Signed-off-by: Hollis Blanchard <hollis_blanchard@mentor.com>
> ---
>  package/acl/0001-Build-with-old-GCC-versions.patch | 32 ++++++++++++++++++++++
>  1 file changed, 32 insertions(+)
>  create mode 100644 package/acl/0001-Build-with-old-GCC-versions.patch

Applied with a tweaked commit log and patch title.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH v2 1/3] libglib2: backport upstream patch to handle missing fcntl() flags
  2018-07-30 22:02 [Buildroot] [PATCH v2 1/3] libglib2: backport upstream patch to handle missing fcntl() flags Hollis Blanchard
                   ` (2 preceding siblings ...)
  2018-07-31 19:43 ` [Buildroot] [PATCH v2 1/3] libglib2: backport upstream patch to handle missing fcntl() flags Thomas Petazzoni
@ 2018-08-20 20:32 ` Peter Korsgaard
  3 siblings, 0 replies; 7+ messages in thread
From: Peter Korsgaard @ 2018-08-20 20:32 UTC (permalink / raw)
  To: buildroot

>>>>> "Hollis" == Hollis Blanchard <hollis_blanchard@mentor.com> writes:

 > On RHEL6 hosts, fcntl.h doesn't define F_SETPIPE_SZ or F_GETPIPE_SZ. Upstream
 > glib has a patch for this case that wasn't applied to their 2.56.1 branch.

 > Signed-off-by: Hollis Blanchard <hollis_blanchard@mentor.com>

Committed to 2018.05.x, thanks.

-- 
Bye, Peter Korsgaard

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

end of thread, other threads:[~2018-08-20 20:32 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-30 22:02 [Buildroot] [PATCH v2 1/3] libglib2: backport upstream patch to handle missing fcntl() flags Hollis Blanchard
2018-07-30 22:02 ` [Buildroot] [PATCH v2 2/3] host-attr: build fix for GCC <4.5 Hollis Blanchard
2018-07-31 19:47   ` Thomas Petazzoni
2018-07-30 22:02 ` [Buildroot] [PATCH v2 3/3] host-acl: build fix for GCC 4.4.7 Hollis Blanchard
2018-07-31 19:50   ` Thomas Petazzoni
2018-07-31 19:43 ` [Buildroot] [PATCH v2 1/3] libglib2: backport upstream patch to handle missing fcntl() flags Thomas Petazzoni
2018-08-20 20:32 ` Peter Korsgaard

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.