[syslinux] [PATCH] remove _BSD_SOURCE definition

Chanho Park chanho61.park at samsung.com
Wed Sep 24 19:53:28 PDT 2014


Hi Gene,

> -----Original Message-----
> From: Gene Cumm [mailto:gene.cumm at gmail.com]
> Sent: Thursday, September 25, 2014 2:12 AM
> To: Chanho Park
> Cc: For discussion of Syslinux and tftp-hpa; hpa at linux.intel.com
> Subject: Re: [syslinux] [PATCH] remove _BSD_SOURCE definition
> 
> On Thu, Sep 18, 2014 at 12:34 AM, Chanho Park
> <chanho61.park at samsung.com> wrote:
> > The _BSD_SOURCE was deprecated since glibc-2.20. _DEFAULT_SOURCE can
> be
> > used instead of _BSD_SOURCE. However, there is no need to include
> > _BSD_SOURCE because the sources only have inline functions and calls
> > memcmp/cpy functions.
> 
> Testing this myself on my build boxes, I see no issue.  The biggest
> thought I'd have is would there be a possibility of a platform that
> can still suitably build Sylinux (presume only bios architecture for
> now) but break with this patch?

You mean the Sylinux was broken due to my patch? Or you concerned it?
If so, how about below patch?

Subject: [PATCH] define _DEFAULT_SOURCE for glibc-2.20

_BSD_SOURCE was deprecated in favour of _DEFAULT_SOURCE since glibc
2.20[1]. To avoid build warning on glibc2.20, _DEFAULT_SOURCE should
also be defined.

[1]: https://sourceware.org/glibc/wiki/Release/2.20

Signed-off-by: Chanho Park <chanho61.park at samsung.com>
---
 dos/getsetsl.c          | 2 ++
 libinstaller/fs.c       | 2 ++
 libinstaller/syslxmod.c | 2 ++
 3 files changed, 6 insertions(+)

diff --git a/dos/getsetsl.c b/dos/getsetsl.c
index 5260a2a..c6e6ae7 100644
--- a/dos/getsetsl.c
+++ b/dos/getsetsl.c
@@ -5,6 +5,8 @@
 
 #define _XOPEN_SOURCE 500	/* Required on glibc 2.x */
 #define _BSD_SOURCE
+/* glibc 2.20 deprecates _BSD_SOURCE in favour of _DEFAULT_SOURCE */
+#define _DEFAULT_SOURCE 1
 #include <inttypes.h>
 #include <string.h>
 #include <stddef.h>
diff --git a/libinstaller/fs.c b/libinstaller/fs.c
index 179629e..19d69d3 100644
--- a/libinstaller/fs.c
+++ b/libinstaller/fs.c
@@ -18,6 +18,8 @@
 
 #define _XOPEN_SOURCE 500	/* Required on glibc 2.x */
 #define _BSD_SOURCE
+/* glibc 2.20 deprecates _BSD_SOURCE in favour of _DEFAULT_SOURCE */
+#define _DEFAULT_SOURCE 1
 #include <stdio.h>
 #include <inttypes.h>
 #include <string.h>
diff --git a/libinstaller/syslxmod.c b/libinstaller/syslxmod.c
index cc6e56a..0ec4164 100644
--- a/libinstaller/syslxmod.c
+++ b/libinstaller/syslxmod.c
@@ -17,6 +17,8 @@
 
 #define _XOPEN_SOURCE 500	/* Required on glibc 2.x */
 #define _BSD_SOURCE
+/* glibc 2.20 deprecates _BSD_SOURCE in favour of _DEFAULT_SOURCE */
+#define _DEFAULT_SOURCE 1
 #include <stdio.h>
 #include <inttypes.h>
 #include <string.h>
-- 
1.9.1

Best Regards,
Chanho Park



More information about the Syslinux mailing list