diff mbox

[2/2] autofs: fix build for old glibc toolchains

Message ID 1466306712-11768-2-git-send-email-gustavo@zacarias.com.ar
State Accepted
Headers show

Commit Message

Gustavo Zacarias June 19, 2016, 3:25 a.m. UTC
Autofs 5.1.2 switched to clock_gettime() unconditionally but didn't
check for the need of librt (glibc < 2.17) for it. Fixes:
http://autobuild.buildroot.net/results/0ab/0abd5476b39a6bd192b5e610006ed585ffb2e139/

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
 ...fs-build-check-for-clock_gettime-in-librt.patch | 62 ++++++++++++++++++++++
 package/autofs/autofs.mk                           |  2 +
 2 files changed, 64 insertions(+)
 create mode 100644 package/autofs/0002-autofs-build-check-for-clock_gettime-in-librt.patch

Comments

Thomas Petazzoni June 19, 2016, 8:55 a.m. UTC | #1
Hello,

On Sun, 19 Jun 2016 00:25:12 -0300, Gustavo Zacarias wrote:
> Autofs 5.1.2 switched to clock_gettime() unconditionally but didn't
> check for the need of librt (glibc < 2.17) for it. Fixes:
> http://autobuild.buildroot.net/results/0ab/0abd5476b39a6bd192b5e610006ed585ffb2e139/
> 
> Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
> ---
>  ...fs-build-check-for-clock_gettime-in-librt.patch | 62 ++++++++++++++++++++++
>  package/autofs/autofs.mk                           |  2 +
>  2 files changed, 64 insertions(+)
>  create mode 100644 package/autofs/0002-autofs-build-check-for-clock_gettime-in-librt.patch

Applied to master, thanks.

Thomas
diff mbox

Patch

diff --git a/package/autofs/0002-autofs-build-check-for-clock_gettime-in-librt.patch b/package/autofs/0002-autofs-build-check-for-clock_gettime-in-librt.patch
new file mode 100644
index 0000000..ade6d1c
--- /dev/null
+++ b/package/autofs/0002-autofs-build-check-for-clock_gettime-in-librt.patch
@@ -0,0 +1,62 @@ 
+From a38ab6c0f2790e047fc64867865eb2a073135618 Mon Sep 17 00:00:00 2001
+From: Gustavo Zacarias <gustavo@zacarias.com.ar>
+Date: Sun, 19 Jun 2016 00:17:41 -0300
+Subject: [PATCH] autofs: build: check for clock_gettime in librt
+
+Glibc versions older than 2.17 define clock_gettime() in librt, so add a
+check for this.
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+---
+Patch status: sent to autofs@ mailing list
+
+ Makefile.conf.in | 3 +++
+ Makefile.rules   | 2 ++
+ configure.in     | 4 ++++
+ 3 files changed, 9 insertions(+)
+
+diff --git a/Makefile.conf.in b/Makefile.conf.in
+index cb53e66..2bc3202 100644
+--- a/Makefile.conf.in
++++ b/Makefile.conf.in
+@@ -11,6 +11,9 @@
+ DAEMON_CFLAGS  = @DAEMON_CFLAGS@
+ DAEMON_LDFLAGS = @DAEMON_LDFLAGS@
+ 
++# Glibc < 2.17 requires librt for clock_gettime()
++LIBCLOCK_GETTIME = @LIBCLOCK_GETTIME@
++
+ # Special parameters for glibc (libc 6)
+ LIBNSL    = @LIBNSL@
+ LIBRESOLV = @LIBRESOLV@
+diff --git a/Makefile.rules b/Makefile.rules
+index 6fa3e02..7d1af2e 100644
+--- a/Makefile.rules
++++ b/Makefile.rules
+@@ -56,6 +56,8 @@ endif
+ 
+ LIBS += $(LIBNSL)
+ 
++LIBS += $(LIBCLOCK_GETTIME)
++
+ # Standard rules
+ 
+ .SUFFIXES: .c .o .s .so
+diff --git a/configure.in b/configure.in
+index 25d7c4e..a4318e8 100644
+--- a/configure.in
++++ b/configure.in
+@@ -177,6 +177,10 @@ if test "$ac_cv_search_versionsort" = "no"; then
+ 		[Define if your C library does not provide versionsort])
+ fi
+ 
++# glibc < 2.17 needs librt for clock_gettime()
++AC_CHECK_LIB(rt, clock_gettime, LIBCLOCK_GETTIME="-lrt")
++AC_SUBST(LIBCLOCK_GETTIME)
++
+ #
+ # glibc/libc 6 new libraries
+ #
+-- 
+2.7.3
+
diff --git a/package/autofs/autofs.mk b/package/autofs/autofs.mk
index 8206720..396cf85 100644
--- a/package/autofs/autofs.mk
+++ b/package/autofs/autofs.mk
@@ -10,6 +10,8 @@  AUTOFS_SITE = $(BR2_KERNEL_MIRROR)/linux/daemons/autofs/v5
 AUTOFS_LICENSE = GPLv2+
 AUTOFS_LICENSE_FILES = COPYING COPYRIGHT
 AUTOFS_DEPENDENCIES = host-flex host-bison
+# For 0002-autofs-configure-check-for-clock_gettime-in-librt.patch
+AUTOFS_AUTORECONF = YES
 
 # autofs looks on the build machine for the path of modprobe, so tell
 # it explicitly where it will be located on the target.