[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#256481: Building -Wl,-z,defs breaks libpango and libgnome on several archs

Package: binutils
Severity: important

Ulrich Drepper's paper `How to Write Shared Libraries'
(http://people.redhat.com/drepper/dsohowto.pdf) includes the following
recommendation in section 3.8, `Using Versioned DSOs':
	It is therefore highly recommended to never depend on undefined
	symbols. The linker can help to ensure this if -Wl,-z,defs is
	added to compiler command line. If it is really necessary to
	use undefined symbols the newly built DSO should be examined to
	make sure that all references to symbols in versioned DSOs are
	appropriately marked.

This recommendation has been followed for several libraries, but has turned
out to be problematic in several cases.

pango1.0: Introduced in 1.4.0-3 (Sat, 22 May 2004) and retracted on all
architectures in 1.4.0-4 (Sat, 5 Jun 2004) following reports of breakage on
ia64 (http://bugs.debian.org/252401) and alpha (http://bugs.debian.org/253038).

libgnome: Introduced in 2.6.1-2 (Sun, 25 Apr 2004) and retracted for alpha
and ia64 in 2.6.1-4 (Wed, 9 Jun 2004) following http://bugs.debian.org/253375 .
It has now been reported to affect hppa as well: http://bugs.debian.org/256361 .

libgsf: The recommendation has been followed since 1.8.2-4 (dated Sat, 25
Oct 2003). I have received no reports so far that pointed to it causing

The issue has been discussed on the lists as well, in particular in the
thread starting with
http://lists.debian.org/debian-ia64/2004/06/msg00020.html .

IMHO it should be researched further as it may point to either an issue with
the linker, or with the way at least two libraries important for desktop use
have been coded.

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (800, 'unstable'), (750, 'experimental'), (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.4.27-rc2
Locale: LANG=C, LC_CTYPE=en_US.ISO8859-1

Versions of packages binutils depends on:
ii  libc6                       2.3.2.ds1-13 GNU C Library: Shared libraries an

-- debconf information excluded
Obsig: developing a new sig

Reply to: