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

Reply via email to