On Fri, Nov 21, 2008 at 11:59 AM, Tobias Poschwatta <[EMAIL PROTECTED]> wrote: > On Thu, Nov 20, 2008 at 11:20:05PM +0100, Denys Vlasenko wrote: >> Please, if something broke, yell at me (and mail your .config). > > It broke ioperm.c on my ARM. Uncommenting the hidden_proto seems to > fix it again. Config attached.
I see. > --- libc/sysdeps/linux/arm/ioperm.c.orig 2008-11-21 11:32:38.000000000 > +0100 > +++ libc/sysdeps/linux/arm/ioperm.c 2008-11-21 11:32:56.000000000 +0100 > @@ -46,7 +46,7 @@ > #include <sys/sysctl.h> > #include <sys/io.h> > > -/* libc_hidden_proto(ioperm) */ > +libc_hidden_proto(ioperm) The rule now is to try to keep libc_hidden_proto's in .h files. Please try attached patch. -- vda
Index: libc/sysdeps/linux/arm/sys/io.h =================================================================== --- libc/sysdeps/linux/arm/sys/io.h (revision 24111) +++ libc/sysdeps/linux/arm/sys/io.h (working copy) @@ -28,6 +28,7 @@ permission off for that range. This call requires root privileges. */ extern int ioperm (unsigned long int __from, unsigned long int __num, int __turn_on) __THROW; +libc_hidden_proto(ioperm) /* Set the I/O privilege level to LEVEL. If LEVEL is nonzero, permission to access any I/O port is granted. This call requires Index: libc/sysdeps/linux/alpha/sys/io.h =================================================================== --- libc/sysdeps/linux/alpha/sys/io.h (revision 24111) +++ libc/sysdeps/linux/alpha/sys/io.h (working copy) @@ -32,6 +32,7 @@ E.g., Linux/Alpha for Alpha PCs supports this. */ extern int ioperm (unsigned long int __from, unsigned long int __num, int __turn_on) __THROW; +libc_hidden_proto(ioperm) /* Set the I/O privilege level to LEVEL. If LEVEL>3, permission to access any I/O port is granted. This call requires root Index: libc/sysdeps/linux/common/ioperm.c =================================================================== --- libc/sysdeps/linux/common/ioperm.c (revision 24111) +++ libc/sysdeps/linux/common/ioperm.c (working copy) @@ -8,8 +8,13 @@ */ #include <sys/syscall.h> + #if defined __ARCH_USE_MMU__ && defined __NR_ioperm + /* psm: can't #include <sys/io.h>, some archs miss it */ extern int ioperm(unsigned long __from, unsigned long __num, int __turn_on) __THROW; +libc_hidden_proto(ioperm) + _syscall3(int, ioperm, unsigned long, from, unsigned long, num, int, turn_on) + #endif Index: libc/sysdeps/linux/i386/sys/perm.h =================================================================== --- libc/sysdeps/linux/i386/sys/perm.h (revision 24111) +++ libc/sysdeps/linux/i386/sys/perm.h (working copy) @@ -26,6 +26,7 @@ /* Set port input/output permissions. */ extern int ioperm (unsigned long int __from, unsigned long int __num, int __turn_on) __THROW; +libc_hidden_proto(ioperm) /* Change I/O privilege level. */ Index: libc/sysdeps/linux/i386/sys/io.h =================================================================== --- libc/sysdeps/linux/i386/sys/io.h (revision 24111) +++ libc/sysdeps/linux/i386/sys/io.h (working copy) @@ -33,6 +33,7 @@ E.g., Linux/Alpha for Alpha PCs supports this. */ extern int ioperm (unsigned long int __from, unsigned long int __num, int __turn_on) __THROW; +libc_hidden_proto(ioperm) /* Set the I/O privilege level to LEVEL. If LEVEL>3, permission to access any I/O port is granted. This call requires root Index: libc/sysdeps/linux/x86_64/sys/perm.h =================================================================== --- libc/sysdeps/linux/x86_64/sys/perm.h (revision 24111) +++ libc/sysdeps/linux/x86_64/sys/perm.h (working copy) @@ -26,6 +26,7 @@ /* Set port input/output permissions. */ extern int ioperm (unsigned long int __from, unsigned long int __num, int __turn_on) __THROW; +libc_hidden_proto(ioperm) /* Change I/O privilege level. */ Index: libc/sysdeps/linux/ia64/sys/io.h =================================================================== --- libc/sysdeps/linux/ia64/sys/io.h (revision 24111) +++ libc/sysdeps/linux/ia64/sys/io.h (working copy) @@ -33,6 +33,7 @@ E.g., Linux/Alpha for Alpha PCs supports this. */ extern int ioperm (unsigned long int __from, unsigned long int __num, int __turn_on); +libc_hidden_proto(ioperm) /* Set the I/O privilege level to LEVEL. If LEVEL>3, permission to access any I/O port is granted. This call requires root Index: libc/sysdeps/linux/sh/sys/io.h =================================================================== --- libc/sysdeps/linux/sh/sys/io.h (revision 24111) +++ libc/sysdeps/linux/sh/sys/io.h (working copy) @@ -28,6 +28,7 @@ permission off for that range. This call requires root privileges. */ extern int ioperm (unsigned long int __from, unsigned long int __num, int __turn_on) __THROW; +libc_hidden_proto(ioperm) /* Set the I/O privilege level to LEVEL. If LEVEL is nonzero, permission to access any I/O port is granted. This call requires Index: libc/sysdeps/linux/bfin/sys/io.h =================================================================== --- libc/sysdeps/linux/bfin/sys/io.h (revision 24111) +++ libc/sysdeps/linux/bfin/sys/io.h (working copy) @@ -28,6 +28,7 @@ permission off for that range. This call requires root privileges. */ extern int ioperm (unsigned long int __from, unsigned long int __num, int __turn_on) __THROW; +libc_hidden_proto(ioperm) /* Set the I/O privilege level to LEVEL. If LEVEL is nonzero, permission to access any I/O port is granted. This call requires
_______________________________________________ uClibc mailing list uClibc@uclibc.org http://busybox.net/cgi-bin/mailman/listinfo/uclibc