* [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 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 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 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 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 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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox