From: Michael Tremer Date: Fri, 2 Sep 2011 19:58:23 +0000 (+0000) Subject: util-linux: Build fixes for new kernel headers. X-Git-Tag: v2.9-core54~13^2~127 X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=commitdiff_plain;h=0112049091968980d753afdef4518f254f140a23 util-linux: Build fixes for new kernel headers. --- diff --git a/lfs/util-linux b/lfs/util-linux index 61d5567d1a..3dac54d869 100644 --- a/lfs/util-linux +++ b/lfs/util-linux @@ -96,6 +96,7 @@ else hwclock/hwclock.c -mkdir -p /var/lib/hwclock cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-cramfs-1.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/util-linux-buildfix.patch cd $(DIR_APP) && ./configure cd $(DIR_APP) && make $(MAKETUNING) HAVE_KILL=yes HAVE_SLN=yes cd $(DIR_APP) && make HAVE_KILL=yes HAVE_SLN=yes install diff --git a/src/patches/util-linux-buildfix.patch b/src/patches/util-linux-buildfix.patch new file mode 100644 index 0000000000..adad9b5362 --- /dev/null +++ b/src/patches/util-linux-buildfix.patch @@ -0,0 +1,197 @@ +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=392236 + +diff -ru util-linux-2.12r/fdisk/llseek.c util-linux-2.12r-new/fdisk/llseek.c +--- util-linux-2.12r/fdisk/llseek.c 2003-07-14 07:13:33.000000000 +1000 ++++ util-linux-2.12r-new/fdisk/llseek.c 2006-10-13 15:50:09.000000000 +1000 +@@ -14,30 +14,23 @@ + + #ifdef __linux__ + +-#ifdef HAVE_LLSEEK +-#include +- +-#else /* HAVE_LLSEEK */ ++#include ++#ifndef HAVE_LLSEEK + + #if defined(__alpha__) || defined(__ia64__) || defined(__s390x__) + + #define my_llseek lseek + + #else +-#include /* for __NR__llseek */ +- +-static int _llseek (unsigned int, unsigned long, +- unsigned long, long long *, unsigned int); + +-#ifdef __NR__llseek ++#ifdef SYS__llseek + +-static _syscall5(int,_llseek,unsigned int,fd,unsigned long,offset_high, +- unsigned long, offset_low,long long *,result, +- unsigned int, origin) ++#define _llseek(fd, offset_high, offset_low, result, origin) \ ++ syscall(SYS__llseek, fd, offset_high, offset_low, result, origin) + + #else + +-/* no __NR__llseek on compilation machine - might give it explicitly */ ++/* no SYS__llseek on compilation machine - might give it explicitly */ + static int _llseek (unsigned int fd, unsigned long oh, + unsigned long ol, long long *result, + unsigned int origin) { +diff -ru util-linux-2.12r/fdisk/sfdisk.c util-linux-2.12r-new/fdisk/sfdisk.c +--- util-linux-2.12r/fdisk/sfdisk.c 2005-01-05 08:31:57.000000000 +1000 ++++ util-linux-2.12r-new/fdisk/sfdisk.c 2006-10-13 15:48:42.000000000 +1000 +@@ -48,7 +48,7 @@ + #include + #include + #include +-#include /* _syscall */ ++#include + #include "nls.h" + #include "common.h" + +@@ -177,9 +177,8 @@ + #endif + + #ifndef use_lseek +-static __attribute__used +-_syscall5(int, _llseek, unsigned int, fd, ulong, hi, ulong, lo, +- loff_t *, res, unsigned int, wh); ++#define _llseek(fd, hi, lo, res, wh) \ ++ syscall(SYS__llseek, fd, hi, lo, res, wh) + #endif + + static int +diff -ru util-linux-2.12r/lib/my_reboot.c util-linux-2.12r-new/lib/my_reboot.c +--- util-linux-2.12r/lib/my_reboot.c 1999-07-09 12:56:36.000000000 +1000 ++++ util-linux-2.12r-new/lib/my_reboot.c 2006-10-13 20:46:42.000000000 +1000 +@@ -23,10 +23,11 @@ + #else /* no USE_LIBC */ + + /* direct syscall version */ +-#include ++#include + +-#ifdef _syscall3 +-_syscall3(int, reboot, int, magic, int, magic_too, int, cmd); ++#ifdef SYS_reboot ++#define reboot(magic, magic2, cmd) \ ++ syscall(SYS_reboot, magic, magic2, cmd) + #else + /* Let us hope we have a 3-argument reboot here */ + extern int reboot(int, int, int); +diff -ru util-linux-2.12r/misc-utils/setterm.c util-linux-2.12r-new/misc-utils/setterm.c +--- util-linux-2.12r/misc-utils/setterm.c 2003-10-18 02:17:51.000000000 +1000 ++++ util-linux-2.12r-new/misc-utils/setterm.c 2006-10-13 20:54:06.000000000 +1000 +@@ -119,14 +119,13 @@ + + #if __GNU_LIBRARY__ < 5 + #ifndef __alpha__ +-# include +-#define __NR_klogctl __NR_syslog +-_syscall3(int, klogctl, int, type, char*, buf, int, len); ++# include ++#define klogctl(type, buf, len) \ ++ syscall(SYS_syslog, type, buf, len) + #else /* __alpha__ */ + #define klogctl syslog + #endif + #endif +-extern int klogctl(int type, char *buf, int len); + + /* Constants. */ + +diff -ru util-linux-2.12r/mount/swapon.c util-linux-2.12r-new/mount/swapon.c +--- util-linux-2.12r/mount/swapon.c 2004-12-22 19:50:19.000000000 +1000 ++++ util-linux-2.12r-new/mount/swapon.c 2006-10-13 16:08:19.000000000 +1000 +@@ -82,11 +82,11 @@ + #else + /* We want a swapon with two args, but have an old libc. + Build the kernel call by hand. */ +-#include +-static +-_syscall2(int, swapon, const char *, path, int, flags); +-static +-_syscall1(int, swapoff, const char *, path); ++#include ++#define swapon(path, flags) \ ++ syscall(SYS_swapon, path, flags) ++#define swapoff(path) \ ++ syscall(SYS_swapoff, path) + #endif + #else + /* just do as libc says */ +diff -ru util-linux-2.12r/mount/umount.c util-linux-2.12r-new/mount/umount.c +--- util-linux-2.12r/mount/umount.c 2005-09-11 04:07:38.000000000 +1000 ++++ util-linux-2.12r-new/mount/umount.c 2006-10-13 20:43:22.000000000 +1000 +@@ -37,14 +37,13 @@ + #else /* MNT_FORCE */ + + /* Does the present kernel source know about umount2? */ +-#include +-#ifdef __NR_umount2 ++#include ++#ifdef SYS_umount2 + +-static int umount2(const char *path, int flags); ++#define umount2(path, flags) \ ++ syscall(SYS_umount2, path, flags) + +-_syscall2(int, umount2, const char *, path, int, flags); +- +-#else /* __NR_umount2 */ ++#else /* SYS_umount2 */ + + static int + umount2(const char *path, int flags) { +@@ -52,7 +51,7 @@ + errno = ENOSYS; + return -1; + } +-#endif /* __NR_umount2 */ ++#endif /* SYS_umount2 */ + + #if !defined(MNT_FORCE) + /* dare not try to include -- lots of errors */ +diff -ru util-linux-2.12r/partx/partx.c util-linux-2.12r-new/partx/partx.c +--- util-linux-2.12r/partx/partx.c 2004-08-24 06:13:27.000000000 +1000 ++++ util-linux-2.12r-new/partx/partx.c 2006-10-13 21:01:34.000000000 +1000 +@@ -338,10 +338,9 @@ + #endif + + #ifdef NEED__llseek +-#include /* _syscall */ +-static +-_syscall5(int, _llseek, uint, fd, ulong, hi, ulong, lo, +- long long *, res, uint, wh); ++#include ++#define _llseek(fd, hi, lo, res, wh) \ ++ syscall(SYS__llseek, fd, hi, lo, res, wh) + #endif + + static int +diff -ru util-linux-2.12r/sys-utils/dmesg.c util-linux-2.12r-new/sys-utils/dmesg.c +--- util-linux-2.12r/sys-utils/dmesg.c 2004-05-05 02:38:12.000000000 +1000 ++++ util-linux-2.12r-new/sys-utils/dmesg.c 2006-10-13 21:05:10.000000000 +1000 +@@ -29,7 +29,7 @@ + * Only function 3 is allowed to non-root processes. + */ + +-#include ++#include + #include + #include + #include +@@ -38,8 +38,8 @@ + #if __GNU_LIBRARY__ < 5 + + #ifndef __alpha__ +-# define __NR_klogctl __NR_syslog +- static inline _syscall3(int, klogctl, int, type, char *, b, int, len); ++# define klogctl(type, b, len) \ ++ syscall(SYS_syslog, type, b, len) + #else /* __alpha__ */ + #define klogctl syslog + #endif