Kaynağa Gözat

Fix redefinition of ioperm and iopl in stubs.c and arm/{ioperm.c,iopl.c}

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@timesys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Jason Woodward 12 yıl önce
ebeveyn
işleme
3bcd031f97

+ 4 - 0
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

+ 4 - 0
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