[git commit branch/0.9.33] Fix redefinition of ioperm and iopl in stubs.c and arm/{ioperm.c, iopl.c}

Bernhard Reutner-Fischer rep.dot.nop at gmail.com
Mon Mar 26 11:22:38 UTC 2012


commit: http://git.uclibc.org/uClibc/commit/?id=fef3950c0d5bbd6c18a305e173dc2d5cf38886ea
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/0.9.33

This fixes the following link failure:

  LD libuClibc-0.9.33.so
libc/libc_so.a(stubs.os): In function `sync_file_range':
stubs.c:(.text+0x0): multiple definition of `ioperm'
libc/libc_so.a(ioperm.os):ioperm.c:(.text+0x260): first defined here
libc/libc_so.a(stubs.os): In function `sync_file_range':
stubs.c:(.text+0x0): multiple definition of `iopl'
libc/libc_so.a(iopl.os):iopl.c:(.text+0x0): first defined here
collect2: ld returned 1 exit status
make[1]: *** [lib/libc.so] Error 1

Signed-off-by: Jason Woodward <jason.woodward at timesys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>
---
 libc/sysdeps/linux/arm/ioperm.c |    4 ++++
 libc/sysdeps/linux/arm/iopl.c   |    4 ++++
 2 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/libc/sysdeps/linux/arm/ioperm.c b/libc/sysdeps/linux/arm/ioperm.c
index a7f6c306..0e283cb 100644
--- a/libc/sysdeps/linux/arm/ioperm.c
+++ b/libc/sysdeps/linux/arm/ioperm.c
@@ -50,6 +50,8 @@
 
 #include <linux/version.h>
 
+#ifdef __NR_ioperm
+
 #define PATH_ARM_SYSTYPE	"/etc/arm_systype"
 #define PATH_CPUINFO		"/proc/cpuinfo"
 
@@ -244,3 +246,5 @@ inl(unsigned long int port)
 {
     return *((__volatile__ unsigned long *)(IO_ADDR (port)));
 }
+
+#endif
diff --git a/libc/sysdeps/linux/arm/iopl.c b/libc/sysdeps/linux/arm/iopl.c
index df953d3..f3d42ed 100644
--- a/libc/sysdeps/linux/arm/iopl.c
+++ b/libc/sysdeps/linux/arm/iopl.c
@@ -22,6 +22,8 @@
 #include <errno.h>
 
 
+#ifdef __NR_iopl
+
 #define MAX_PORT	0x10000
 
 int iopl(int level)
@@ -34,3 +36,5 @@ int iopl(int level)
 		return ioperm(0, MAX_PORT, 1);
 	return 0;
 }
+
+#endif


More information about the uClibc-cvs mailing list