Package: busybox
Version: 1.00-5
Severity: serious
Tags: patch d-i
Justification: no longer builds from source


Hi, busybox 1.00-4 and 1.00-5 fail to build on powerpc, ia64 and both mips,
and as a consequence was not rebuild with the newer glibc 2.3.5, and thus
failed horribly in d-i with stuff like :

  /bin/sh: relocation error: /bin/sh: symbol longjmp, version GLIBC_2.0 not
  defined in file libc.so.6 with link time reference

The build error are rather trivial gcc-4.0 issues, and the appended patch
solves them in a correct albeit maybe not most esthetical way.

Please consider an upload ASAP to fix those issues, as they severly break
debian-installer on those architectures.

Friendly,

Sven Luther

-- System Information:
Debian Release: 3.1
Architecture: powerpc (ppc)
Kernel: Linux 2.6.12-1-powerpc
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
diff -Nur busybox-1.00/modutils/obj/obj_ia64.c busybox-1.00-fixed/modutils/obj/obj_ia64.c
--- busybox-1.00/modutils/obj/obj_ia64.c	2005-08-26 22:31:12.000000000 +0000
+++ busybox-1.00-fixed/modutils/obj/obj_ia64.c	2005-08-26 22:30:46.000000000 +0000
@@ -127,8 +127,8 @@
 	return (*(bundle + 1) >> 23) & 0x1ffffffffff;
 
     default:
+    	return (-1);
     }
-    return (-1);
 }
 
 /*
diff -Nur busybox-1.00/modutils/obj/obj_mips.c busybox-1.00-fixed/modutils/obj/obj_mips.c
--- busybox-1.00/modutils/obj/obj_mips.c	2005-08-26 22:31:12.000000000 +0000
+++ busybox-1.00-fixed/modutils/obj/obj_mips.c	2005-08-26 22:28:25.000000000 +0000
@@ -244,7 +244,8 @@
   archdata_sec->header.sh_size = 0;
   sec = obj_find_section(f, "__dbe_table");
   if (sec) {
-    ad = (struct archdata *) (archdata_sec->contents) = xmalloc(sizeof(*ad));
+    archdata_sec->contents = xmalloc(sizeof(*ad));
+    ad = (struct archdata *) (archdata_sec->contents);
     memset(ad, 0, sizeof(*ad));
     archdata_sec->header.sh_size = sizeof(*ad);
     ad->__start___dbe_table = sec->header.sh_addr;
diff -Nur busybox-1.00/modutils/obj/obj_ppc.c busybox-1.00-fixed/modutils/obj/obj_ppc.c
--- busybox-1.00/modutils/obj/obj_ppc.c	2005-08-26 22:32:54.000000000 +0000
+++ busybox-1.00-fixed/modutils/obj/obj_ppc.c	2005-08-26 22:16:17.000000000 +0000
@@ -255,7 +255,8 @@
   archdata_sec->header.sh_size = 0;
   sec = obj_find_section(f, "__ftr_fixup");
   if (sec) {
-    ad = (struct archdata *) (archdata_sec->contents) = xmalloc(sizeof(*ad));
+    archdata_sec->contents = xmalloc(sizeof(*ad));
+    ad = (struct archdata *) (archdata_sec->contents);
     memset(ad, 0, sizeof(*ad));
     archdata_sec->header.sh_size = sizeof(*ad);
     ad->__start___ftr_fixup = sec->header.sh_addr;

Reply via email to