Bug#172828: mklibs : problem on mips
Hi,
I'm writing to you as the authors of mklibs
I'm trying to debug a problem on mips / mipsel, using mklibs to reduce
the debian-installer. (See
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=172828 for details)
The bug manifests itself as a set of symbols, in libc.so.6 on mips, that
aren't resolved properly, causing the mklibs step to loop, failing to
resolve these symbols.
The symbols are:
Still need: _pthread_cleanup_pop_restore
Still need: __pthread_mutexattr_init
Still need: __pthread_mutexattr_destroy
Still need: __pthread_mutexattr_settype
Still need: __pthread_mutex_trylock
Still need: _pthread_cleanup_push_defer
Still need: __pthread_mutex_init
Still need: __pthread_mutex_unlock
Still need: __pthread_mutex_lock
They are found in libc. Now, in i386, for example, they are of type:
eg.
NOTYPE WEAK DEFAULT UND _pthread_cleanup_pop_restore
But on MIPs, they are all:
mckinstry@repeat:/lib$ readelf -s -W libc.so.6 | grep WEAK | grep UND |
grep FUNC
2023: 00000000 0 FUNC WEAK DEFAULT UND
_pthread_cleanup_push_defer
2024: 000146f0 0 FUNC WEAK DEFAULT UND
__pthread_mutexattr_init
2053: 00000000 0 FUNC WEAK DEFAULT UND
__pthread_mutex_trylock
2059: 00000000 0 FUNC WEAK DEFAULT UND
__pthread_mutex_unlock
2085: 000146e0 0 FUNC WEAK DEFAULT UND
_pthread_cleanup_pop_restore
2101: 00000000 0 FUNC WEAK DEFAULT UND __pthread_mutex_init
2118: 000146d0 0 FUNC WEAK DEFAULT UND
__pthread_mutexattr_settype
2129: 00000000 0 FUNC WEAK DEFAULT UND __pthread_mutex_lock
2133: 000146c0 0 FUNC WEAK DEFAULT UND
__pthread_mutexattr_destroy
I believe this means they are all weak objects, not "normally" marked as
such. They will resolve to zero if not found elsewhere, but
undefined_symbols() in mklibs treats them simply as undefined.
Is my analysis correct? Can you provide a patch for mklibs ?
(I'm not confident enough either of my understanding or python to risk
doing it myself. )
This is needed to make the Debian installer build on MIPs and MIPSEL.
Thanks,
Alastair McKinstry
--
Alastair McKinstry <mckinstry@computer.org>
GPG Key fingerprint = 9E64 E714 8E08 81F9 F3DC 1020 FA8E 3790 9051 38F4
He that would make his own liberty secure must guard even his enemy from
oppression; for if he violates this duty he establishes a precedent that
will reach to himself.
- --Thomas Paine
Reply to: