[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#194631: better fix libbb than libc6-dev



tag 194631 patch
thanks

Here is a patch to fix the build problem of busybox-cvs on the
busybox-side. It includes the same code for powerpc, that was already
there for ia64 and some new ifdefs for powerpc. Not sure about this, but
perhaps other archs will need this too.

Plase can somebody with more c system programmming knowledge look at the
patch and eventually send it to the upstream maintainer.
--- libbb/syscalls.c.orig	2003-05-27 13:49:08.000000000 +0200
+++ libbb/syscalls.c	2003-05-27 12:39:10.000000000 +0200
@@ -34,7 +34,7 @@
 #endif
 #include "libbb.h"
 
-#if defined(__ia64__)
+#if (defined(__ia64__) || defined(__powerpc__))
 int sysfs( int option, unsigned int fs_index, char * buf)
 {
 	return(syscall(__NR_sysfs, option, fs_index, buf));
@@ -59,7 +59,7 @@
 	return -1;
 }
 #else
-#  if defined(__ia64__)
+#  if (defined(__ia64__) || defined(__powerpc__))
 	int pivot_root(const char * new_root,const char * put_old)
 	{
 		return(syscall(__NR_pivot_root, new_root, put_old));
--- util-linux/fdisk.c.orig	2003-05-27 13:47:41.000000000 +0200
+++ util-linux/fdisk.c	2003-05-27 13:04:11.000000000 +0200
@@ -865,10 +865,21 @@
 
 #ifdef __NR__llseek
 
+#if defined(__powerpc__)
+static int _llseek (unsigned int f_d, unsigned long offset_high,
+		   unsigned long offset_low, ext2_loff_t * result, 
+		   unsigned int origin) {
+
+	return(syscall(__NR__llseek, f_d, offset_high, offset_low, result, origin));
+}
+
+#else
 static _syscall5(int,_llseek,unsigned int,f_d,unsigned long,offset_high,
 		 unsigned long, offset_low,ext2_loff_t *,result,
 		 unsigned int, origin)
 
+#endif
+
 #else
 
 /* no __NR__llseek on compilation machine - might give it explicitly */
--- libpwdgrp/setgroups.c.orig	2003-05-27 13:48:10.000000000 +0200
+++ libpwdgrp/setgroups.c	2003-05-27 13:13:29.000000000 +0200
@@ -38,5 +38,10 @@
 #include "grp_.h"
 
 //#define __NR_setgroups        81
+#if defined(__powerpc__)
+int setgroups(size_t size, const gid_t * list) {
+	return(syscall(__NR_setgroups, size, list));
+}
+#else
 _syscall2(int, setgroups, size_t, size, const gid_t *, list);
-
+#endif

Reply to: