boot/syslinux: Fix build with glibc 2.23+
PATCH 1/1 boot/syslinux: Fix build with glibc 2.23+
When building with glibc 2.23+, the "major", "minor" and "makedev" functions are defined in "sys/sysmacros.h". The patch "extlinux: pull in sys/sysmacros.h for major/minor/makedev", applied to Syslinux during 2016Apr, should help. Please note that not only Syslinux is affected by this change in glibc.
--- ...-sysmacros-h-for-major-minor-makedev.patch | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patch
boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patch new file +34 -0
@@ -0,0 +1,34 @@ +From 1a74985b2a404639b08882c57f3147229605dfd5 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <[email protected]> +Date: Tue, 19 Apr 2016 06:50:31 -0400 +Subject: [PATCH] extlinux: pull in sys/sysmacros.h for major/minor/makedev + +These functions are defined in sys/sysmacros.h, so add the include to +main.c. This is already handled correctly in mountinfo.c. Otherwise +we get build failures like: + +main.o: In function 'find_device_sysfs': +extlinux/main.c:1131: undefined reference to 'minor' + +Signed-off-by: Mike Frysinger <[email protected]> +Signed-off-by: Gene Cumm <[email protected]> +Signed-off-by: Alexander Sverdlin <[email protected]> +--- + extlinux/main.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/extlinux/main.c b/extlinux/main.c +index a7ebd49..ebff7ea 100644 +--- a/extlinux/main.c ++++ b/extlinux/main.c +@@ -38,6 +38,7 @@ + #include <sysexits.h> + #include <sys/ioctl.h> + #include <sys/stat.h> ++#include <sys/sysmacros.h> + #include <sys/types.h> + #include <sys/mount.h> + #include <sys/vfs.h> +-- +2.10.5.GIT +
Signature · 1 line
2.19.1
PATCH 1/1 boot/syslinux: Fix build with glibc 2.23+
Quoted 64 lines
From: "Alexander Sverdlin" <[email protected]>
To: "buildroot" <[email protected]>
Cc: "Alexander Sverdlin" <[email protected]>, "Thomas Petazzoni" <[email protected]>, "DATACOM" <[email protected]>
Sent: Ter?a-feira, 13 de novembro de 2018 22:02:05
Subject: [PATCH] boot/syslinux: Fix build with glibc 2.23+When building with glibc 2.23+, the "major", "minor" and "makedev" functions are defined in "
sys/sysmacros.h". The patch "extlinux: pull insys/sysmacros.hfor major/minor/makedev", applied to Syslinux during 2016Apr, should help. Please note that not only Syslinux is affected by this change in glibc.Signed-off-by Alexander Sverdlin <[email protected]>---
...-sysmacros-h-for-major-minor-makedev.patch | 34 +++++++++++++++++++1 file changed, 34 insertions(+)create mode 100644
boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patchdiff --git
a/boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patchb/boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patchnew file mode 100644
index 0000000000..beba5cc245boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patch new file +34
-1@@ -0,0 +1,34 @@ +From 1a74985b2a404639b08882c57f3147229605dfd5 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <[email protected]> +Date: Tue, 19 Apr 2016 06:50:31 -0400 +Subject: [PATCH] extlinux: pull in sys/sysmacros.h for major/minor/makedev + +These functions are defined in sys/sysmacros.h, so add the include to +main.c. This is already handled correctly in mountinfo.c. Otherwise +we get build failures like: + +main.o: In function 'find_device_sysfs': +extlinux/main.c:1131: undefined reference to 'minor' + +Signed-off-by: Mike Frysinger <[email protected]> +Signed-off-by: Gene Cumm <[email protected]> +Signed-off-by: Alexander Sverdlin <[email protected]> +--- + extlinux/main.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/extlinux/main.c b/extlinux/main.c +index a7ebd49..ebff7ea 100644 +--- a/extlinux/main.c ++++ b/extlinux/main.c +@@ -38,6 +38,7 @@ + #include <sysexits.h> + #include <sys/ioctl.h> + #include <sys/stat.h> ++#include <sys/sysmacros.h> + #include <sys/types.h> + #include <sys/mount.h> + #include <sys/vfs.h> +-- +2.10.5.GIT + --
Quoted 1 line
2.19.1
PATCH 1/1 boot/syslinux: Fix build with glibc 2.23+
In reply to Alexander SverdlinHi Alexander,
Quoted 1 line · Alexander Sverdlin
When building with glibc 2.23+, the "major", "minor" and "makedev"
Should be "glibc 2.28+". Ditto for the subject line.
Quoted 7 lines
functions are defined in "
sys/sysmacros.h". The patch "extlinux: pull insys/sysmacros.hfor major/minor/makedev", applied to Syslinux during 2016Apr, should help. Please note that not only Syslinux is affected by this change in glibc.
This line should be above the sign-off as part of the commit log.
baruch
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -PATCH 1/1 boot/syslinux: Fix build with glibc 2.23+
In reply to Alexander SverdlinHello,
Quoted 1 line · Alexander Sverdlin
When building with glibc 2.23+, the "major", "minor" and "makedev"
It is really since glibc 2.28 that there is a build issue related to this. Prior to glibc 2.28, <sys/sysmacros.h> was implicitly included by another header that was very commonly included, "hiding" the issue.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com