Bug#358776: dietlibc can not be cross-compiled for ARM and MIPSEL

2006-04-01 Thread Gerrit Pape
On Fri, Mar 24, 2006 at 12:30:35PM +0100, Pjotr Kourzanov wrote:
 --- dietlibc-0.29/debian/control  2006-03-13 15:06:07.0 +0100
 +++ dietlibc-0.29-8.my/debian/control 2006-03-13 17:37:44.0 +0100
 @@ -24,7 +24,7 @@
  
  Package: dietlibc
  Section: libs
 -Architecture: i386
 +Architecture: i386 arm mipsel

Hi, I don't think dynamic linking with the diet libc works stable enough
on arm and mipsel.  Did you try it out?

Thanks, Gerrit.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#358776: dietlibc can not be cross-compiled for ARM and MIPSEL

2006-03-24 Thread Pjotr Kourzanov
Package: dietlibc
Version: 0.29-8.my
Severity: important
Tags: patch

find dietlibc-0.29
--- dietlibc-0.29/arm/syscalls.h2006-03-13 17:42:12.0 +0100
+++ dietlibc-0.29-8.my/arm/syscalls.h   2006-03-13 17:41:37.0 +0100
@@ -597,6 +597,7 @@
 
 
 #ifdef __ASSEMBLER__
+#ifndef syscall_weak
 #define syscall_weak(name,wsym,sym) __syscall_weak $__NR_##name, wsym, sym, 
__ARGS_##name
 .macro __syscall_weak name wsym sym typ
 .text
@@ -618,7 +619,9 @@
b   __unified_syscall
 .endif
 .endm
+#endif
 
+#ifndef syscall
 #define syscall(name,sym) __syscall $__NR_##name, sym, __ARGS_##name
 .macro __syscall name sym typ
 .text
@@ -637,5 +640,5 @@
b   __unified_syscall
 .endif
 .endm
-
+#endif
 #endif
--- dietlibc-0.29/debian/control2006-03-13 15:06:07.0 +0100
+++ dietlibc-0.29-8.my/debian/control   2006-03-13 17:37:44.0 +0100
@@ -24,7 +24,7 @@
 
 Package: dietlibc
 Section: libs
-Architecture: i386
+Architecture: i386 arm mipsel
 Suggests: dietlibc-doc, dietlibc-dev
 Description: diet libc shared libraries - a libc optimized for small size
  The diet libc is a C library that is optimized for small size. It
--- dietlibc-0.29/debian/rules  2006-03-13 15:06:07.0 +0100
+++ dietlibc-0.29-8.my/debian/rules 2006-03-13 17:39:51.0 +0100
@@ -24,9 +24,13 @@
 endif
 
 DYN =1
+ifneq ($(ARCH),mipsel)
+ifneq ($(ARCH),arm)
 ifneq ($(ARCH),i386)
   DYN =0
 endif
+endif
+endif
 
 DIR =$(shell pwd)/debian/dietlibc
 VERSION =$(shell head -n1 debian/changelog |sed -e 's/.*(\(.*\)).*/\1/')
@@ -75,7 +79,7 @@
cp -pr '$(DIR)'/usr/lib/diet/lib '$(DIR)'-dev/usr/lib/diet/
rm -f '$(DIR)'/usr/lib/diet/lib/*.[ao]
rm -f '$(DIR)'-dev/usr/lib/diet/lib/*.so
-   #ln -s lib '$(DIR)'-dev/usr/lib/diet/lib-'$(ARCH)'
+   ln -s lib '$(DIR)'-dev/usr/lib/diet/lib-'$(ARCH)'
mv '$(DIR)'/usr/lib/diet/bin '$(DIR)'-dev/usr/lib/diet/
install -d -m0755 '$(DIR)'-dev/usr/bin
mv '$(DIR)'-dev/usr/lib/diet/bin/diet* '$(DIR)'-dev/usr/bin/
--- dietlibc-0.29/Makefile  2006-03-13 17:42:12.0 +0100
+++ dietlibc-0.29-8.my/Makefile 2006-03-13 22:27:39.0 +0100
@@ -291,11 +291,11 @@
 
 $(SYSCALLOBJ): syscalls.h
 
-$(OBJDIR)/elftrunc: $(OBJDIR)/diet contrib/elftrunc.c
-   bin-$(MYARCH)/diet $(CROSS)$(CC) $(CFLAGS) -o $@ contrib/elftrunc.c
+$(OBJDIR)/elftrunc: contrib/elftrunc.c
+   diet $(CROSS)$(CC) $(CFLAGS) -Iinclude -o $@ contrib/elftrunc.c
 
-$(OBJDIR)/dnsd: $(OBJDIR)/diet contrib/dnsd.c
-   bin-$(MYARCH)/diet $(CROSS)$(CC) $(CFLAGS) -o $@ contrib/dnsd.c
+$(OBJDIR)/dnsd: contrib/dnsd.c
+   diet $(CROSS)$(CC) $(CFLAGS) -Iinclude -o $@ contrib/dnsd.c
 
 VERSION=dietlibc-$(shell head -n 1 CHANGES|sed 's/://')
 CURNAME=$(notdir $(shell pwd))
@@ -309,12 +309,12 @@
$(CROSS)strip -R .comment -R .note $@
 
 $(PICODIR)/diet-dyn: $(PICODIR)/start.o $(PICODIR)/dyn_start.o diet.c
-   $(LD_UNSET) $(CROSS)$(CC) -isystem include $(CFLAGS) -fPIC -nostdlib -o 
$@ $^ -DDIETHOME=\$(HOME)\ -D__DYN_LIB -DVERSION=\$(VERSION)\ -L$(PICODIR) 
-lc -lgcc $(PICODIR)/dyn_stop.o -Wl,-dynamic-linker=$(HOME)/$(PICODIR)/libdl.so
-   $(CROSS)strip -R .command -R .note $@
+   -$(LD_UNSET) $(CROSS)$(CC) -isystem include $(CFLAGS) -fPIC -nostdlib 
-o $@ $^ -DDIETHOME=\$(HOME)\ -D__DYN_LIB -DVERSION=\$(VERSION)\ 
-L$(PICODIR) -lc -lgcc $(PICODIR)/dyn_stop.o 
-Wl,-dynamic-linker=$(HOME)/$(PICODIR)/libdl.so
+   -$(CROSS)strip -R .command -R .note $@
 
 $(PICODIR)/diet-dyn-i: $(PICODIR)/start.o $(PICODIR)/dyn_start.o diet.c
-   $(LD_UNSET) $(CROSS)$(CC) -isystem include $(CFLAGS) -fPIC -nostdlib -o 
$@ $^ -DDIETHOME=\$(prefix)\ -D__DYN_LIB -DVERSION=\$(VERSION)\ 
-L$(PICODIR) -lc -lgcc $(PICODIR)/dyn_stop.o 
-Wl,-dynamic-linker=$(ILIBDIR)/libdl.so -DINSTALLVERSION
-   $(CROSS)strip -R .command -R .note $@
+   -$(LD_UNSET) $(CROSS)$(CC) -isystem include $(CFLAGS) -fPIC -nostdlib 
-o $@ $^ -DDIETHOME=\$(prefix)\ -D__DYN_LIB -DVERSION=\$(VERSION)\ 
-L$(PICODIR) -lc -lgcc $(PICODIR)/dyn_stop.o 
-Wl,-dynamic-linker=$(ILIBDIR)/libdl.so -DINSTALLVERSION
+   -$(CROSS)strip -R .command -R .note $@
 
 $(OBJDIR)/djb: $(OBJDIR)/compile $(OBJDIR)/load
 
--- dietlibc-0.29/libdl/_dl_main.c  2006-03-13 17:42:13.0 +0100
+++ dietlibc-0.29-8.my/libdl/_dl_main.c 2006-03-13 22:22:23.0 +0100
@@ -545,7 +545,7 @@
   return 0;
 }
 #else
-#error libdl: arch not supported
+#warning libdl: arch not supported
 #endif
 
 static void*_dl_load(const char*fn,const char*pathname,int fd,int flags);
--- dietlibc-0.29/arm/dyn_syscalls.S2006-03-13 17:42:12.0 +0100
+++ dietlibc-0.29-8.my/arm/dyn_syscalls.S   2006-03-15 11:15:07.0 
+0100
@@ -88,6 +88,7 @@
 #include ../syscalls.s/lseek.S
 #include ../syscalls.s/lstat.S
 #include ../syscalls.s/lstat64.S
+#include ../syscalls.s/madvise.S
 #include ../syscalls.s/mkdir.S
 #include ../syscalls.s/mknod.S
 #include ../syscalls.s/mlock.S
@@ -108,6 +109,7 @@