Bug#700737: binutils-gold: produces different symbols for webkit

2013-02-17 Thread Jonathan Nieder
tags 700737 + moreinfo
quit

Hi Michael,

Michael Gilbert wrote:

 - 
 (optional|c++)WebCore::TextIterator::getLocationAndLengthFromRange(WebCore::Element*,
  WebCore::Range const*, unsigned int, unsigned int)@Base 1.7.4
 +#MISSING: 1.8.1-3.3# 
 (optional|c++)WebCore::TextIterator::getLocationAndLengthFromRange(WebCore::Element*,
  WebCore::Range const*, unsigned int, unsigned int)@Base 1.7.4

From the dpkg-gensymbols(1) manpage:

optional
A symbol marked as optional can disappear from the
library at any time and that will never cause
dpkg-gensymbols to fail.

[...]
 @@ -213,6 +213,7 @@
   _NPN_SetException@Base 1.3.10
   _NPN_SetProperty@Base 1.3.10
   _NPN_UTF8FromIdentifier@Base 1.3.10
 + _ZdlPv@Base 1.8.1-3.3

c++filt tells me this is operator delete(void*).

So presumably an entry

(optional|c++)operator delete(void*)

would suppress the build failure.  Can you say a little more about
whether this is a gold bug?  Do binaries built against versions of
libwebkit built with gold rely on this symbol and fail when run
against libwebkit built with ld.bfd?

In C++, different lists of exported symbols based on the phase of moon
are completely normal, for example when template instantiation is
involved.  So more details would be welcome.

Thanks,
Jonathan


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#700737: binutils-gold: produces different symbols for webkit

2013-02-17 Thread Matthias Klose
[CC-ing dpkg]

Am 17.02.2013 11:27, schrieb Jonathan Nieder:
 tags 700737 + moreinfo
 quit
 
 Hi Michael,
 
 Michael Gilbert wrote:
 
 - 
 (optional|c++)WebCore::TextIterator::getLocationAndLengthFromRange(WebCore::Element*,
  WebCore::Range const*, unsigned int, unsigned int)@Base 1.7.4
 +#MISSING: 1.8.1-3.3# 
 (optional|c++)WebCore::TextIterator::getLocationAndLengthFromRange(WebCore::Element*,
  WebCore::Range const*, unsigned int, unsigned int)@Base 1.7.4
 
 From the dpkg-gensymbols(1) manpage:
 
   optional
   A symbol marked as optional can disappear from the
   library at any time and that will never cause
   dpkg-gensymbols to fail.
 
 [...]
 @@ -213,6 +213,7 @@
   _NPN_SetException@Base 1.3.10
   _NPN_SetProperty@Base 1.3.10
   _NPN_UTF8FromIdentifier@Base 1.3.10
 + _ZdlPv@Base 1.8.1-3.3
 
 c++filt tells me this is operator delete(void*).
 
 So presumably an entry
 
   (optional|c++)operator delete(void*)
 
 would suppress the build failure.  Can you say a little more about
 whether this is a gold bug?  Do binaries built against versions of
 libwebkit built with gold rely on this symbol and fail when run
 against libwebkit built with ld.bfd?
 
 In C++, different lists of exported symbols based on the phase of moon
 are completely normal, for example when template instantiation is
 involved.  So more details would be welcome.

I think that dpkg-gensymbols is misleading in that it treats all symbols
exported as the same, not differentiating where they come from. Yes, you do have
the option to mark a symbol as optional, however marking a symbol as coming from
another library (libstdc++, Webkit:Core) would help too, but would require some
work by the package maintainer too. Whether a template operator or another
template from another library ends up as an exported symbol depends on the
toolchain (different compiler/linker, different version, different optimization
level), and that should not be encoded in the symbols files.

  Matthias


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#700737: binutils-gold: produces different symbols for webkit

2013-02-16 Thread Michael Gilbert
package: binutils-gold
severity: important
version: 2.22-7.1
control: affects -1 webkit

Building the webkit package with binutils-gold leads to different
symbols than binutils.  One of symbol is versiond with the debian
package version.  See failed webkit build log below:

dh_makeshlibs -plibwebkitgtk-1.0-0 -V 'libwebkitgtk-1.0-0 (= 1.3.9)' -- -c4
dpkg-gensymbols: warning: some new symbols appeared in the symbols
file: see diff output below
dpkg-gensymbols: warning: debian/libwebkitgtk-1.0-0/DEBIAN/symbols
doesn't match completely debian/libwebkitgtk-1.0-0.symbols
--- debian/libwebkitgtk-1.0-0.symbols (libwebkitgtk-1.0-0_1.8.1-3.3_amd64)
+++ dpkg-gensymbolsFvdjCN   2013-02-16 02:00:48.817785448 -0500
@@ -172,7 +172,7 @@
  
(optional|c++)WebCore::Settings::setFixedElementsLayoutRelativeToFrame(bool)@Base
1.7.5
  (optional|c++)WebCore::Settings::setMockScrollbarsEnabled(bool)@Base 1.7.4
  (optional|c++)WebCore::ShadowRoot::create(WebCore::Element*,
int)@Base 1.7.5
- 
(optional|c++)WebCore::TextIterator::getLocationAndLengthFromRange(WebCore::Element*,
WebCore::Range const*, unsigned int, unsigned int)@Base 1.7.4
+#MISSING: 1.8.1-3.3#
(optional|c++)WebCore::TextIterator::getLocationAndLengthFromRange(WebCore::Element*,
WebCore::Range const*, unsigned int, unsigned int)@Base 1.7.4
  
(optional|c++)WebCore::TextIterator::getLocationAndLengthFromRange(WebCore::Element*,
WebCore::Range const*, unsigned long, unsigned long)@Base 1.7.4
  
(optional|c++)WebCore::TextIterator::rangeFromLocationAndLength(WebCore::Element*,
int, int, bool)@Base 1.7.4
  (optional|c++)WebCore::TreeScope::getElementById(WTF::AtomicString
const) const@Base 1.5.2
@@ -181,7 +181,7 @@
  (optional|c++)WebCore::externalRepresentation(WebCore::Element*,
unsigned int)@Base 1.5.2
  (optional|c++)WebCore::getCachedDOMStructure(WebCore::JSDOMGlobalObject*,
JSC::ClassInfo const*)@Base 1.5.1
  (optional|c++)WebCore::jsStringSlowCase(JSC::ExecState*,
WTF::HashMapWTF::StringImpl*, JSC::WeakJSC::JSString,
WTF::StringHash, WTF::HashTraitsWTF::StringImpl*,
WTF::HashTraitsJSC::WeakJSC::JSString  , WTF::StringImpl*)@Base
1.5.2
- 
(optional|c++)WebCore::overrideUserPreferredLanguages(WTF::VectorWTF::String,
0u const)@Base 1.7.5
+#MISSING: 1.8.1-3.3#
(optional|c++)WebCore::overrideUserPreferredLanguages(WTF::VectorWTF::String,
0u const)@Base 1.7.5
  
(optional|c++)WebCore::overrideUserPreferredLanguages(WTF::VectorWTF::String,
0ul const)@Base 1.7.5
  (optional|c++)WebCore::setDOMException(JSC::ExecState*, int)@Base 1.5.2
  (optional|c++)WebCore::toDocument(JSC::JSValue)@Base 1.5.2
@@ -213,6 +213,7 @@
  _NPN_SetException@Base 1.3.10
  _NPN_SetProperty@Base 1.3.10
  _NPN_UTF8FromIdentifier@Base 1.3.10
+ _ZdlPv@Base 1.8.1-3.3
  atof_dot@Base 1.7.4
  objectFocusedAndCaretOffsetUnignored@Base 1.7.4
  updateExtensionBehavior@Base 1.7.4
dh_makeshlibs: dpkg-gensymbols -plibwebkitgtk-1.0-0
-Idebian/libwebkitgtk-1.0-0.symbols -Pdebian/libwebkitgtk-1.0-0 -c4
returned exit code 2
make: *** [binary-arch] Error 2


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org