atop: fix minor() major() build failure
PATCH 1/1 atop: fix minor() major() build failure
On arm / cortex-a8 Arch/Subarch sys/types.h doesn't include sys/sysmacros.h which contains minor() and major() macros.
Add patch to directly include <sys/sysmacros.h> into photosyst.c where minor() and major() macros are used.
Fixes
http://autobuild.buildroot.net/results/3fc/3fc0f18ed94697c404e7ff3751781789170c4fe5//
--- .../0001-Fix-major-minor-build-failure.patch | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 package/atop/0001-Fix-major-minor-build-failure.patch
package/atop/0001-Fix-major-minor-build-failure.patch new file +32 -0
@@ -0,0 +1,32 @@ +From 1f85bae1fa4b4a021adc71517d218000c53d8501 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti <[email protected]> +Date: Tue, 28 Aug 2018 14:11:25 +0200 +Subject: [PATCH] Fix major() minor() build failure. + +In some toolchain sys/types.h file doesn't include sys/sysmacros.h but +minor() and major() macros are contained there. This causes build failure +using such toolchains(i.e. arm-linux-gnueabihf). + +Add #include <sys/sysmacros.h> directly where using major() and minor() +macros. + +Signed-off-by: Giulio Benetti <[email protected]> +--- + photosyst.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/photosyst.c b/photosyst.c +index 38828ec..871d05c 100644 +--- a/photosyst.c ++++ b/photosyst.c +@@ -172,6 +172,7 @@ static const char rcsid[] = "$Id: photosyst.c,v 1.38 2010/11/19 07:40:40 gerlof + // #define _GNU_SOURCE + #include <sys/ipc.h> + #include <sys/shm.h> ++#include <sys/sysmacros.h> + + #include "atop.h" + #include "photosyst.h" +-- +2.17.1 +
Signature · 1 line
2.17.1
PATCH 1/1 atop: fix minor() major() build failure
Hi Giulio,
Quoted 25 lines · Giulio Benetti
On arm / cortex-a8 Arch/Subarch
sys/types.hdoesn't includesys/sysmacros.hwhich containsminor()andmajor()macros.Add patch to directly include <
sys/sysmacros.h> intophotosyst.cwhereminor()andmajor()macros are used.Fixes
http://autobuild.buildroot.net/results/3fc/3fc0f18ed94697c404e7ff3751781789170c4fe5//Signed-off-by Giulio Benetti <[email protected]>--- .../0001-Fix-major-minor-build-failure.patch | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 package/atop/0001-Fix-major-minor-build-failure.patchpackage/atop/0001-Fix-major-minor-build-failure.patch new file +4
-0@@ -0,0 +1,32 @@ +From 1f85bae1fa4b4a021adc71517d218000c53d8501 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti <[email protected]> +Date: Tue, 28 Aug 2018 14:11:25 +0200 +Subject: [PATCH] Fix major() minor() build failure.
package/atop/0001-Fix-major-minor-build-failure.patch line 14
Quoted 10 lines
package/atop/0001-Fix-major-minor-build-failure.patch new file +10
-0+ +In some toolchain sys/types.h file doesn't include sys/sysmacros.h but +minor() and major() macros are contained there. This causes build failure +using such toolchains(i.e. arm-linux-gnueabihf). + +Add #include <sys/sysmacros.h> directly where using major() and minor() +macros. + +Signed-off-by: Giulio Benetti <[email protected]> +---
Please add a reference to the upstream pull request in the patch description:
https://github.com/Atoptool/atop/pull/35
baruch
Quoted 17 lines
package/atop/0001-Fix-major-minor-build-failure.patch new file +17
-0+ photosyst.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/photosyst.c b/photosyst.c +index 38828ec..871d05c 100644 +--- a/photosyst.c ++++ b/photosyst.c +@@ -172,6 +172,7 @@ static const char rcsid[] = "$Id: photosyst.c,v 1.38 2010/11/19 07:40:40 gerlof + // #define _GNU_SOURCE + #include <sys/ipc.h> + #include <sys/shm.h> ++#include <sys/sysmacros.h> + + #include "atop.h" + #include "photosyst.h" +-- +2.17.1
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -PATCH v2 1/1 atop: fix minor() major() build failure
On arm / cortex-a8 Arch/Subarch sys/types.h doesn't include sys/sysmacros.h which contains minor() and major() macros.
Add patch to directly include <sys/sysmacros.h> into photosyst.c where minor() and major() macros are used.
Patch has been taken from atop upstream pull request:
https://github.com/Atoptool/atop/pull/35
Fixes
http://autobuild.buildroot.net/results/3fc/3fc0f18ed94697c404e7ff3751781789170c4fe5//
--- ...ysmacros.h-to-compile-with-newer-gcc.patch | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 package/atop/0001-Include-sysmacros.h-to-compile-with-newer-gcc.patch
package/atop/0001-Include-sysmacros.h-to-compile-with-newer-gcc.patch new file +50 -0
@@ -0,0 +1,50 @@ +From 414127c03669b4eedc85778a7bff80cf601311d8 Mon Sep 17 00:00:00 2001 +From: SjonHortensius <[email protected]> +Date: Fri, 24 Aug 2018 18:26:58 +0200 +Subject: [PATCH] Include sysmacros.h to compile with newer gcc +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Older gcc throws a warning +``` +photosyst.c: In function 'lvmmapname': +photosyst.c:1465:13: warning: In the GNU C Library, "major" is defined + by <sys/sysmacros.h>. For historical compatibility, it is + currently defined by <sys/types.h> as well, but we plan to + remove this soon. To use "major", include <sys/sysmacros.h> + directly. If you did not intend to use a system-defined macro + "major", you should undefine it after including <sys/types.h>. + dmp->major = major(statbuf.st_rdev); +``` + +Newer gcc throws an error: + +``` +photosyst.c: In function ?lvmmapname?: +photosyst.c:1482:19: error: called object ?major? is not a function or function pointer + dmp->major = major(statbuf.st_rdev); + ^~~~~ +photosyst.c:1437:25: note: declared here + lvmmapname(unsigned int major, unsigned int minor, + ~~~~~~~~~~~~~^~~~~ +``` +--- + photosyst.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/photosyst.c b/photosyst.c +index 19cbbe1..50841a1 100644 +--- a/photosyst.c ++++ b/photosyst.c +@@ -152,6 +152,7 @@ + static const char rcsid[] = "$Id: photosyst.c,v 1.38 2010/11/19 07:40:40 gerlof Exp $"; + + #include <sys/types.h> ++#include <sys/sysmacros.h> + #include <stdio.h> + #include <string.h> + #include <unistd.h> +-- +2.17.1 +
Signature · 1 line
2.17.1
PATCH v2 1/1 atop: fix minor() major() build failure
Hello,
Quoted 45 lines · Giulio Benetti
On arm / cortex-a8 Arch/Subarch
sys/types.hdoesn't includesys/sysmacros.hwhich containsminor()andmajor()macros.Add patch to directly include <
sys/sysmacros.h> intophotosyst.cwhereminor()andmajor()macros are used.Patch has been taken from atop upstream pull request:
https://github.com/Atoptool/atop/pull/35Fixes
http://autobuild.buildroot.net/results/3fc/3fc0f18ed94697c404e7ff3751781789170c4fe5//Signed-off-by Giulio Benetti <[email protected]>--- ...ysmacros.h-to-compile-with-newer-gcc.patch | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 package/atop/0001-Include-sysmacros.h-to-compile-with-newer-gcc.patchpackage/atop/0001-Include-sysmacros.h-to-compile-with-newer-gcc.patch new file +21
-0@@ -0,0 +1,50 @@ +From 414127c03669b4eedc85778a7bff80cf601311d8 Mon Sep 17 00:00:00 2001 +From: SjonHortensius <[email protected]> +Date: Fri, 24 Aug 2018 18:26:58 +0200 +Subject: [PATCH] Include sysmacros.h to compile with newer gcc +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Older gcc throws a warning +``` +photosyst.c: In function 'lvmmapname': +photosyst.c:1465:13: warning: In the GNU C Library, "major" is defined + by <sys/sysmacros.h>. For historical compatibility, it is + currently defined by <sys/types.h> as well, but we plan to + remove this soon. To use "major", include <sys/sysmacros.h> + directly. If you did not intend to use a system-defined macro + "major", you should undefine it after including <sys/types.h>. + dmp->major = major(statbuf.st_rdev); +``` + +Newer gcc throws an error:
package/atop/0001-Include-sysmacros.h-to-compile-with-newer-gcc.patch line 31
Quoted 10 lines
package/atop/0001-Include-sysmacros.h-to-compile-with-newer-gcc.patch new file +10
-0+ +``` +photosyst.c: In function ?lvmmapname?: +photosyst.c:1482:19: error: called object ?major? is not a function or function pointer + dmp->major = major(statbuf.st_rdev); + ^~~~~ +photosyst.c:1437:25: note: declared here + lvmmapname(unsigned int major, unsigned int minor, + ~~~~~~~~~~~~~^~~~~ +```
We need your Signed-off-by here, i.e inside the patch you are backporting.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH v2 1/1 atop: fix minor() major() build failure
Hello Thomas,
Il 28/08/2018 15:16, Thomas Petazzoni ha scritto:
Quoted 53 lines
Hello,
Quoted 50 lines · Giulio Benetti
On arm / cortex-a8 Arch/Subarch
sys/types.hdoesn't includesys/sysmacros.hwhich containsminor()andmajor()macros.Add patch to directly include <
sys/sysmacros.h> intophotosyst.cwhereminor()andmajor()macros are used.Patch has been taken from atop upstream pull request:
https://github.com/Atoptool/atop/pull/35Fixes
http://autobuild.buildroot.net/results/3fc/3fc0f18ed94697c404e7ff3751781789170c4fe5//Signed-off-by Giulio Benetti <[email protected]>--- ...ysmacros.h-to-compile-with-newer-gcc.patch | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+)create mode 100644
package/atop/0001-Include-sysmacros.h-to-compile-with-newer-gcc.patchpackage/atop/0001-Include-sysmacros.h-to-compile-with-newer-gcc.patch new file +26
-0@@ -0,0 +1,50 @@ +From 414127c03669b4eedc85778a7bff80cf601311d8 Mon Sep 17 00:00:00 2001 +From: SjonHortensius <[email protected]> +Date: Fri, 24 Aug 2018 18:26:58 +0200 +Subject: [PATCH] Include sysmacros.h to compile with newer gcc +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Older gcc throws a warning +``` +photosyst.c: In function 'lvmmapname': +photosyst.c:1465:13: warning: In the GNU C Library, "major" is defined + by <sys/sysmacros.h>. For historical compatibility, it is + currently defined by <sys/types.h> as well, but we plan to + remove this soon. To use "major", include <sys/sysmacros.h> + directly. If you did not intend to use a system-defined macro + "major", you should undefine it after including <sys/types.h>. + dmp->major = major(statbuf.st_rdev); +``` + +Newer gcc throws an error: + +``` +photosyst.c: In function ?lvmmapname?: +photosyst.c:1482:19: error: called object ?major? is not a function or function pointer + dmp->major = major(statbuf.st_rdev);
Quoted 8 lines
package/atop/0001-Include-sysmacros.h-to-compile-with-newer-gcc.patch line 31
Quoted 5 lines
package/atop/0001-Include-sysmacros.h-to-compile-with-newer-gcc.patch new file +5
-0+ ^~~~~ +photosyst.c:1437:25: note: declared here + lvmmapname(unsigned int major, unsigned int minor, + ~~~~~~~~~~~~~^~~~~ +```We need your Signed-off-by here, i.e inside the patch you are backporting.
Ok, I've confused Signed-off-by in that patch as "stealing" Authorship, instead the Authorship is defined in "From:" field.
I correct and resend as v3.
Thanks
Giulio
PATCH v2 1/1 atop: fix minor() major() build failure
Hello,
Quoted 5 lines · Giulio Benetti
Quoted 2 lines
We need your Signed-off-by here, i.e inside the patch you are backporting.
Ok, I've confused Signed-off-by in that patch as "stealing" Authorship, instead the Authorship is defined in "From:" field.
Signed-off-by are here to track the "merging" path of the patch. You're taking a patch from somewhere and adding it to Buildroot, you add your SoB to it. If the original author had a SoB, you would have kept it, and added yours below it. This is not stealing the authorship, but documenting who took the patch and added it in Buildroot.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH v2 1/1 atop: fix minor() major() build failure
Hello,
Il 28/08/2018 22:35, Thomas Petazzoni ha scritto:
Quoted 7 lines
Hello,
Quoted 3 lines · Giulio Benetti
Quoted 2 lines
We need your Signed-off-by here, i.e inside the patch you are backporting.
Quoted 8 lines
Quoted 2 lines
Ok, I've confused Signed-off-by in that patch as "stealing" Authorship, instead the Authorship is defined in "From:" field.
Signed-off-by are here to track the "merging" path of the patch. You're taking a patch from somewhere and adding it to Buildroot, you add your SoB to it. If the original author had a SoB, you would have kept it, and added yours below it. This is not stealing the authorship, but documenting who took the patch and added it in Buildroot.
Thanks for clarifying.
Giulio
PATCH 1/1 atop: fix minor() major() build failure
In reply to Baruch SiachHi Baruch,
Il 28/08/2018 14:41, Baruch Siach ha scritto:
Quoted 42 lines
Hi Giulio,
Quoted 25 lines · Giulio Benetti
On arm / cortex-a8 Arch/Subarch
sys/types.hdoesn't includesys/sysmacros.hwhich containsminor()andmajor()macros.Add patch to directly include <
sys/sysmacros.h> intophotosyst.cwhereminor()andmajor()macros are used.Fixes
http://autobuild.buildroot.net/results/3fc/3fc0f18ed94697c404e7ff3751781789170c4fe5//Signed-off-by Giulio Benetti <[email protected]>--- .../0001-Fix-major-minor-build-failure.patch | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+)create mode 100644
package/atop/0001-Fix-major-minor-build-failure.patchpackage/atop/0001-Fix-major-minor-build-failure.patch new file +4
-0@@ -0,0 +1,32 @@ +From 1f85bae1fa4b4a021adc71517d218000c53d8501 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti <[email protected]> +Date: Tue, 28 Aug 2018 14:11:25 +0200 +Subject: [PATCH] Fix major() minor() build failure.package/atop/0001-Fix-major-minor-build-failure.patch line 14
Quoted 10 lines
package/atop/0001-Fix-major-minor-build-failure.patch new file +10
-0+ +In some toolchain sys/types.h file doesn't include sys/sysmacros.h but +minor() and major() macros are contained there. This causes build failure +using such toolchains(i.e. arm-linux-gnueabihf). + +Add #include <sys/sysmacros.h> directly where using major() and minor() +macros. + +Signed-off-by: Giulio Benetti <[email protected]> +---Please add a reference to the upstream pull request in the patch description:
Quoted 1 line
I've realized too late there was that PR open that already corrected the problem, so I've done mine and sent patch.
After I've sent v2 patch with patch taken from upstream atop PR.
Is it ok?
Thanks
Giulio
PATCH 1/1 atop: fix minor() major() build failure
In reply to Giulio BenettiHello,
Il 28/08/2018 14:32, Giulio Benetti ha scritto:
Quoted 44 lines
On arm / cortex-a8 Arch/Subarch
sys/types.hdoesn't includesys/sysmacros.hwhich containsminor()andmajor()macros.Add patch to directly include <
sys/sysmacros.h> intophotosyst.cwhereminor()andmajor()macros are used.Fixes
http://autobuild.buildroot.net/results/3fc/3fc0f18ed94697c404e7ff3751781789170c4fe5//Signed-off-by Giulio Benetti <[email protected]>--- .../0001-Fix-major-minor-build-failure.patch | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+)create mode 100644
package/atop/0001-Fix-major-minor-build-failure.patchpackage/atop/0001-Fix-major-minor-build-failure.patch new file +22
-0@@ -0,0 +1,32 @@ +From 1f85bae1fa4b4a021adc71517d218000c53d8501 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti <[email protected]> +Date: Tue, 28 Aug 2018 14:11:25 +0200 +Subject: [PATCH] Fix major() minor() build failure. + +In some toolchain sys/types.h file doesn't include sys/sysmacros.h but +minor() and major() macros are contained there. This causes build failure +using such toolchains(i.e. arm-linux-gnueabihf). + +Add #include <sys/sysmacros.h> directly where using major() and minor() +macros. + +Signed-off-by: Giulio Benetti <[email protected]> +--- + photosyst.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/photosyst.c b/photosyst.c +index 38828ec..871d05c 100644 +--- a/photosyst.c ++++ b/photosyst.c +@@ -172,6 +172,7 @@ static const char rcsid[] = "$Id: photosyst.c,v 1.38 2010/11/19 07:40:40 gerlof
package/atop/0001-Fix-major-minor-build-failure.patch line 32
Quoted 10 lines
package/atop/0001-Fix-major-minor-build-failure.patch new file +10
-0+ // #define _GNU_SOURCE + #include <sys/ipc.h> + #include <sys/shm.h> ++#include <sys/sysmacros.h> + + #include "atop.h" + #include "photosyst.h" +-- +2.17.1 +
I was sure I had checked on atop git. There there is already a patch solving this.
So I resend this using the already existing patch.
Giulio