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

Current trunk fails to build on arm-linux



The problem is that VALID_ELF_ABIVERSION and friends mismatch between
libc/elf/dl-load.c (expects VALID_ELF_ABIVERSION to take 2 arguments --
osabi and ver), libc/sysdeps/unix/sysv/linux/ldsodefs.h (provides this
version) and ports/sysdeps/arm/dl-machine.h (takes 1 argument -- ver only)
-- both definitions are included by dl-load.c, causing it to fail.

The attached fix works for me.

ttyl
bero
--- ports/sysdeps/arm/dl-machine.h.ark	2010-04-01 09:07:44.400656668 +0200
+++ ports/sysdeps/arm/dl-machine.h	2010-04-01 09:14:04.127078695 +0200
@@ -26,13 +26,15 @@
 #include <sys/param.h>
 #include <tls.h>
 
-#define VALID_ELF_ABIVERSION(ver)	(ver == 0)
+#ifndef VALID_ELF_ABIVERSION
+#define VALID_ELF_ABIVERSION(osabi,ver)	(ver == 0)
 #define VALID_ELF_OSABI(osabi) \
   (osabi == ELFOSABI_SYSV || osabi == ELFOSABI_ARM)
 #define VALID_ELF_HEADER(hdr,exp,size) \
   memcmp (hdr,exp,size-2) == 0 \
   && VALID_ELF_OSABI (hdr[EI_OSABI]) \
   && VALID_ELF_ABIVERSION (hdr[EI_ABIVERSION])
+#endif
 
 #define CLEAR_CACHE(BEG,END)						\
   INTERNAL_SYSCALL_ARM (cacheflush, , 3, (BEG), (END), 0)