mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
util-linux: Build fixes for new kernel headers.
This commit is contained in:
@@ -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
|
||||
|
||||
197
src/patches/util-linux-buildfix.patch
Normal file
197
src/patches/util-linux-buildfix.patch
Normal file
@@ -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 <syscall.h>
|
||||
-
|
||||
-#else /* HAVE_LLSEEK */
|
||||
+#include <sys/syscall.h>
|
||||
+#ifndef HAVE_LLSEEK
|
||||
|
||||
#if defined(__alpha__) || defined(__ia64__) || defined(__s390x__)
|
||||
|
||||
#define my_llseek lseek
|
||||
|
||||
#else
|
||||
-#include <linux/unistd.h> /* 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 <sys/ioctl.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/utsname.h>
|
||||
-#include <linux/unistd.h> /* _syscall */
|
||||
+#include <sys/syscall.h>
|
||||
#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 <linux/unistd.h>
|
||||
+#include <sys/syscall.h>
|
||||
|
||||
-#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 <linux/unistd.h>
|
||||
-#define __NR_klogctl __NR_syslog
|
||||
-_syscall3(int, klogctl, int, type, char*, buf, int, len);
|
||||
+# include <sys/syscall.h>
|
||||
+#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 <linux/unistd.h>
|
||||
-static
|
||||
-_syscall2(int, swapon, const char *, path, int, flags);
|
||||
-static
|
||||
-_syscall1(int, swapoff, const char *, path);
|
||||
+#include <sys/syscall.h>
|
||||
+#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 <linux/unistd.h>
|
||||
-#ifdef __NR_umount2
|
||||
+#include <sys/syscall.h>
|
||||
+#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 <linux/mount.h> -- 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 <linux/unistd.h> /* _syscall */
|
||||
-static
|
||||
-_syscall5(int, _llseek, uint, fd, ulong, hi, ulong, lo,
|
||||
- long long *, res, uint, wh);
|
||||
+#include <sys/syscall.h>
|
||||
+#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 <linux/unistd.h>
|
||||
+#include <sys/syscall.h>
|
||||
#include <stdio.h>
|
||||
#include <getopt.h>
|
||||
#include <stdlib.h>
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user