[1/1] package/linux-serial-test: fix build on MIPS
diff mbox series

Message ID 20191109231321.19690-1-fontaine.fabrice@gmail.com
State Accepted
Headers show
Series
  • [1/1] package/linux-serial-test: fix build on MIPS
Related show

Commit Message

Fabrice Fontaine Nov. 9, 2019, 11:13 p.m. UTC
Fixes:
 - http://autobuild.buildroot.org/results/86e06fdcaa91dca682651736162e9e743329412c

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 ...t.c-fix-missing-CMSPAR-define-on-MIP.patch | 54 +++++++++++++++++++
 1 file changed, 54 insertions(+)
 create mode 100644 package/linux-serial-test/0001-linux-serial-test.c-fix-missing-CMSPAR-define-on-MIP.patch

Comments

Yegor Yefremov Nov. 10, 2019, 8:37 a.m. UTC | #1
Hi Fabrice,

On Sun, Nov 10, 2019 at 12:12 AM Fabrice Fontaine
<fontaine.fabrice@gmail.com> wrote:
>
> Fixes:
>  - http://autobuild.buildroot.org/results/86e06fdcaa91dca682651736162e9e743329412c
>
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>

Could you also submit a PR upstream?

Thanks.

Regards.
Yegor

> ---
>  ...t.c-fix-missing-CMSPAR-define-on-MIP.patch | 54 +++++++++++++++++++
>  1 file changed, 54 insertions(+)
>  create mode 100644 package/linux-serial-test/0001-linux-serial-test.c-fix-missing-CMSPAR-define-on-MIP.patch
>
> diff --git a/package/linux-serial-test/0001-linux-serial-test.c-fix-missing-CMSPAR-define-on-MIP.patch b/package/linux-serial-test/0001-linux-serial-test.c-fix-missing-CMSPAR-define-on-MIP.patch
> new file mode 100644
> index 0000000000..fe5a1c6813
> --- /dev/null
> +++ b/package/linux-serial-test/0001-linux-serial-test.c-fix-missing-CMSPAR-define-on-MIP.patch
> @@ -0,0 +1,54 @@
> +From c34767aa22623a21369f1464c52fc4635895223c Mon Sep 17 00:00:00 2001
> +From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> +Date: Fri, 8 Nov 2019 18:25:35 +0100
> +Subject: [PATCH] linux-serial-test.c: fix missing CMSPAR define on MIPS
> +
> +This patch is an adaptation of
> +https://git.busybox.net/buildroot/diff/package/freerdp/0003-add-missing-define.patch?id=78cd32631e959e04b1a2f18be7b0757e21482438
> +
> +linux-serial-test.c uses CMSPAR, which is defined by glibc in
> +bits/termios.h.
> +
> +glibc has two flavours of bits/termios.h: a generic one and an
> +architecture-specific one. When installing, glibc will install the
> +architecture-specific file if it exists, otherwise it installs the
> +generic file. Only Alpha, MIPS, PPC and Sparc have their own
> +bits/termios.h.
> +
> +The generic bits/termios.h, as well as the Alpha, PPC and Sparc flavours
> +do define CMSPAR. However, the MIPS flavour does not define it.
> +
> +Define CMSPAR to the value from the generic value, which is also the
> +value known to the Linux kernel for MIPS.
> +
> +Fixes:
> + - http://autobuild.buildroot.org/results/1350cc46dcb285772b1a4c90aec6ba38fdb11e3c
> +
> +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> +[Upstream status: https://github.com/cbrake/linux-serial-test/pull/20]
> +---
> + linux-serial-test.c | 8 ++++++++
> + 1 file changed, 8 insertions(+)
> +
> +diff --git a/linux-serial-test.c b/linux-serial-test.c
> +index 5e7504e..0d4a919 100644
> +--- a/linux-serial-test.c
> ++++ b/linux-serial-test.c
> +@@ -17,6 +17,14 @@
> + #include <linux/serial.h>
> + #include <errno.h>
> +
> ++/*
> ++ * glibc for MIPS has its own bits/termios.h which does not define
> ++ * CMSPAR, so we vampirise the value from the generic bits/termios.h
> ++ */
> ++#ifndef CMSPAR
> ++#define CMSPAR 010000000000
> ++#endif
> ++
> + // command line args
> + int _cl_baud = 0;
> + char *_cl_port = NULL;
> +--
> +2.23.0
> +
> --
> 2.23.0
>
Yegor Yefremov Nov. 10, 2019, 8:39 a.m. UTC | #2
On Sun, Nov 10, 2019 at 9:37 AM Yegor Yefremov
<yegorslists@googlemail.com> wrote:
>
> Hi Fabrice,
>
> On Sun, Nov 10, 2019 at 12:12 AM Fabrice Fontaine
> <fontaine.fabrice@gmail.com> wrote:
> >
> > Fixes:
> >  - http://autobuild.buildroot.org/results/86e06fdcaa91dca682651736162e9e743329412c
> >
> > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
>
> Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
>
> Could you also submit a PR upstream?

OK. It's already merged. Thanks and sorry for the noise.

Yegor

> > ---
> >  ...t.c-fix-missing-CMSPAR-define-on-MIP.patch | 54 +++++++++++++++++++
> >  1 file changed, 54 insertions(+)
> >  create mode 100644 package/linux-serial-test/0001-linux-serial-test.c-fix-missing-CMSPAR-define-on-MIP.patch
> >
> > diff --git a/package/linux-serial-test/0001-linux-serial-test.c-fix-missing-CMSPAR-define-on-MIP.patch b/package/linux-serial-test/0001-linux-serial-test.c-fix-missing-CMSPAR-define-on-MIP.patch
> > new file mode 100644
> > index 0000000000..fe5a1c6813
> > --- /dev/null
> > +++ b/package/linux-serial-test/0001-linux-serial-test.c-fix-missing-CMSPAR-define-on-MIP.patch
> > @@ -0,0 +1,54 @@
> > +From c34767aa22623a21369f1464c52fc4635895223c Mon Sep 17 00:00:00 2001
> > +From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> > +Date: Fri, 8 Nov 2019 18:25:35 +0100
> > +Subject: [PATCH] linux-serial-test.c: fix missing CMSPAR define on MIPS
> > +
> > +This patch is an adaptation of
> > +https://git.busybox.net/buildroot/diff/package/freerdp/0003-add-missing-define.patch?id=78cd32631e959e04b1a2f18be7b0757e21482438
> > +
> > +linux-serial-test.c uses CMSPAR, which is defined by glibc in
> > +bits/termios.h.
> > +
> > +glibc has two flavours of bits/termios.h: a generic one and an
> > +architecture-specific one. When installing, glibc will install the
> > +architecture-specific file if it exists, otherwise it installs the
> > +generic file. Only Alpha, MIPS, PPC and Sparc have their own
> > +bits/termios.h.
> > +
> > +The generic bits/termios.h, as well as the Alpha, PPC and Sparc flavours
> > +do define CMSPAR. However, the MIPS flavour does not define it.
> > +
> > +Define CMSPAR to the value from the generic value, which is also the
> > +value known to the Linux kernel for MIPS.
> > +
> > +Fixes:
> > + - http://autobuild.buildroot.org/results/1350cc46dcb285772b1a4c90aec6ba38fdb11e3c
> > +
> > +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> > +[Upstream status: https://github.com/cbrake/linux-serial-test/pull/20]
> > +---
> > + linux-serial-test.c | 8 ++++++++
> > + 1 file changed, 8 insertions(+)
> > +
> > +diff --git a/linux-serial-test.c b/linux-serial-test.c
> > +index 5e7504e..0d4a919 100644
> > +--- a/linux-serial-test.c
> > ++++ b/linux-serial-test.c
> > +@@ -17,6 +17,14 @@
> > + #include <linux/serial.h>
> > + #include <errno.h>
> > +
> > ++/*
> > ++ * glibc for MIPS has its own bits/termios.h which does not define
> > ++ * CMSPAR, so we vampirise the value from the generic bits/termios.h
> > ++ */
> > ++#ifndef CMSPAR
> > ++#define CMSPAR 010000000000
> > ++#endif
> > ++
> > + // command line args
> > + int _cl_baud = 0;
> > + char *_cl_port = NULL;
> > +--
> > +2.23.0
> > +
> > --
> > 2.23.0
> >
Thomas Petazzoni Nov. 10, 2019, 1:16 p.m. UTC | #3
On Sun, 10 Nov 2019 00:13:21 +0100
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:

> Fixes:
>  - http://autobuild.buildroot.org/results/86e06fdcaa91dca682651736162e9e743329412c
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
>  ...t.c-fix-missing-CMSPAR-define-on-MIP.patch | 54 +++++++++++++++++++
>  1 file changed, 54 insertions(+)
>  create mode 100644 package/linux-serial-test/0001-linux-serial-test.c-fix-missing-CMSPAR-define-on-MIP.patch

Applied to master, thanks. Could you also send a patch to glibc adding
the missing define to the MIPS header? Because this would be the real
fix for this issue in fact.

Thanks!

Thomas
Fabrice Fontaine Nov. 10, 2019, 1:43 p.m. UTC | #4
Hi Thomas,

Le dim. 10 nov. 2019 à 14:16, Thomas Petazzoni
<thomas.petazzoni@bootlin.com> a écrit :
>
> On Sun, 10 Nov 2019 00:13:21 +0100
> Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
>
> > Fixes:
> >  - http://autobuild.buildroot.org/results/86e06fdcaa91dca682651736162e9e743329412c
> >
> > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> > ---
> >  ...t.c-fix-missing-CMSPAR-define-on-MIP.patch | 54 +++++++++++++++++++
> >  1 file changed, 54 insertions(+)
> >  create mode 100644 package/linux-serial-test/0001-linux-serial-test.c-fix-missing-CMSPAR-define-on-MIP.patch
>
> Applied to master, thanks. Could you also send a patch to glibc adding
> the missing define to the MIPS header? Because this would be the real
> fix for this issue in fact.
glibc has been "fixed" since January 2019 with
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=6f343c1f338ca70411772309a3bbb1d67c71f419
as this commit removes the arch specific termios.h.
However, uclibc-ng continues to have this issue so I'll send a patch.
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
Best Regards,

Fabrice

Patch
diff mbox series

diff --git a/package/linux-serial-test/0001-linux-serial-test.c-fix-missing-CMSPAR-define-on-MIP.patch b/package/linux-serial-test/0001-linux-serial-test.c-fix-missing-CMSPAR-define-on-MIP.patch
new file mode 100644
index 0000000000..fe5a1c6813
--- /dev/null
+++ b/package/linux-serial-test/0001-linux-serial-test.c-fix-missing-CMSPAR-define-on-MIP.patch
@@ -0,0 +1,54 @@ 
+From c34767aa22623a21369f1464c52fc4635895223c Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Fri, 8 Nov 2019 18:25:35 +0100
+Subject: [PATCH] linux-serial-test.c: fix missing CMSPAR define on MIPS
+
+This patch is an adaptation of
+https://git.busybox.net/buildroot/diff/package/freerdp/0003-add-missing-define.patch?id=78cd32631e959e04b1a2f18be7b0757e21482438
+
+linux-serial-test.c uses CMSPAR, which is defined by glibc in
+bits/termios.h.
+
+glibc has two flavours of bits/termios.h: a generic one and an
+architecture-specific one. When installing, glibc will install the
+architecture-specific file if it exists, otherwise it installs the
+generic file. Only Alpha, MIPS, PPC and Sparc have their own
+bits/termios.h.
+
+The generic bits/termios.h, as well as the Alpha, PPC and Sparc flavours
+do define CMSPAR. However, the MIPS flavour does not define it.
+
+Define CMSPAR to the value from the generic value, which is also the
+value known to the Linux kernel for MIPS.
+
+Fixes:
+ - http://autobuild.buildroot.org/results/1350cc46dcb285772b1a4c90aec6ba38fdb11e3c
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Upstream status: https://github.com/cbrake/linux-serial-test/pull/20]
+---
+ linux-serial-test.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/linux-serial-test.c b/linux-serial-test.c
+index 5e7504e..0d4a919 100644
+--- a/linux-serial-test.c
++++ b/linux-serial-test.c
+@@ -17,6 +17,14 @@
+ #include <linux/serial.h>
+ #include <errno.h>
+ 
++/* 
++ * glibc for MIPS has its own bits/termios.h which does not define
++ * CMSPAR, so we vampirise the value from the generic bits/termios.h
++ */
++#ifndef CMSPAR
++#define CMSPAR 010000000000
++#endif
++
+ // command line args
+ int _cl_baud = 0;
+ char *_cl_port = NULL;
+-- 
+2.23.0
+