Bug#325244: busybox FTBFS due to gcc-4.0 on powerpc, mips, mipsel and ia64, breaks d-i.
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 to: