Bug#562906: mklibs: fails on libc on hurd-i386
Package: mklibs
Version: 0.1.29
Severity: important
Tags: patch
Hello,
On hurd-i386, when applying mklibs on libc, link fails with
/usr/lib//libc_pic.a(dtable.os): In function `init_dtable':
(.text+0x192): undefined reference to `__start__hurd_fd_subinit'
This is due to the DEFINE_HOOK() mecanism that uses symbols which only
eventually get defined in the shlib.lds script. Linux & kfreebsd are
lucky that d-i seemingly never uses atexit and thus doesn't need it, but
hurd-i386 does.
I guess the simple solution would be to have libc*-pic provide
/usr/lib/libc-pic/shlib.lds and mklibs just use it as the attached patch
suggests (at least it seems to work on hurd-i386).
Samuel
-- System Information:
Debian Release: squeeze/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.32 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages mklibs depends on:
ii binutils 2.20-4 The GNU assembler, linker and bina
ii gcc 4:4.3.4-1 The GNU C compiler
ii mklibs-copy 0.1.29 Shared library reduction script
ii python 2.5.4-4 An interactive high-level object-o
Versions of packages mklibs recommends:
ii libc6-pic 2.10.2-2 GNU C Library: PIC archive library
mklibs suggests no packages.
-- no debconf information
--
Samuel Thibault <samuel.thibault@fnac.net>
"...[Linux's] capacity to talk via any medium except smoke signals."
(By Dr. Greg Wettstein, Roger Maris Cancer Center)
--- src/mklibs.py.original 2009-12-29 01:25:09.000000000 +0000
+++ src/mklibs.py 2009-12-29 01:45:21.000000000 +0000
@@ -596,6 +596,7 @@
cmd.extend(["-o", dest_path + "/" + so_file_name + "-so"])
cmd.extend(extra_pre_obj)
cmd.append(pic_file)
+ cmd.extend(["-T", "/usr/lib/libc_pic/shlib.lds"])
cmd.extend(extra_post_obj)
cmd.extend(extra_flags)
cmd.append("-lgcc")
Reply to: