Last Comment Bug 743680 - don't export nsARIAMap.h
: don't export nsARIAMap.h
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: Disability Access APIs (show other bugs)
: unspecified
: All All
: -- normal (vote)
: mozilla14
Assigned To: alexander :surkov
:
Mentors:
Depends on:
Blocks: cleana11y
  Show dependency treegraph
 
Reported: 2012-04-09 08:14 PDT by alexander :surkov
Modified: 2012-04-24 18:05 PDT (History)
9 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
patch (11.00 KB, patch)
2012-04-09 08:14 PDT, alexander :surkov
no flags Details | Diff | Review
patch2 (26.88 KB, patch)
2012-04-10 21:26 PDT, alexander :surkov
tbsaunde+mozbugs: review+
Details | Diff | Review
clang followup (2.03 KB, patch)
2012-04-16 17:23 PDT, alexander :surkov
bugs: review+
Details | Diff | Review
proposed patch (353 bytes, patch)
2012-04-20 12:23 PDT, Rafael Ávila de Espíndola (:espindola) (not reading bugmail)
dbolter: review+
Details | Diff | Review

Description alexander :surkov 2012-04-09 08:14:50 PDT
Created attachment 613293 [details] [diff] [review]
patch
Comment 1 alexander :surkov 2012-04-10 21:26:47 PDT
Created attachment 613868 [details] [diff] [review]
patch2

fix build issues
Comment 2 Trevor Saunders (:tbsaunde) 2012-04-12 01:48:40 PDT
Comment on attachment 613868 [details] [diff] [review]
patch2

>diff --git a/accessible/src/base/nsAccUtils.cpp b/accessible/src/base/nsAccUtils.cpp
>--- a/accessible/src/base/nsAccUtils.cpp
>+++ b/accessible/src/base/nsAccUtils.cpp
> #include "nsARIAMap.h"
> #include "nsDocAccessible.h"
>+#include "nsCoreUtils.h"

shouldn't it come before nsDocAccessible.h?

>+  bool HasARIARole() const
>+    { return mRoleMapEntry; }

without checking the callers, wouldn't it make more sense for this to check mUseMappedRole here too?

>+#ifndef _nsAccessible_inl_H_
>+#define _nsAccessible_inl_H_

I gues that name sort of makes sense for now, but MOZILLA_A11Y_ACCESSIBLE_INL_H_ seems like it makes more sense.

> #import "mozView.h"
> #import "nsRoleMap.h"
> 
>+#include "Accessible-inl.h"
>+#include "nsIAccessible.h"

couldn't you get rid of that one?

> #import "mozActionElements.h"
> 
> #import "MacUtils.h"
>-
>-#import "nsIAccessible.h"
>+#import "nsAccessible-inl.h"

how it work?

> enum CheckboxValue {
>   // these constants correspond to the values in the OS
>diff --git a/accessible/src/mac/nsAccessibleWrap.mm b/accessible/src/mac/nsAccessibleWrap.mm
>--- a/accessible/src/mac/nsAccessibleWrap.mm
>+++ b/accessible/src/mac/nsAccessibleWrap.mm
>@@ -36,16 +36,17 @@
>  *
>  * ***** END LICENSE BLOCK ***** */
> 
> #include "nsDocAccessible.h"
> #include "nsObjCExceptions.h"
> 
> #import "nsRoleMap.h"
> 
>+#include "Accessible-inl.h"
> #include "Role.h"
> 
> #import "mozAccessible.h"
> #import "mozActionElements.h"
> #import "mozHTMLAccessible.h"
> #import "mozTextAccessible.h"
> 
> using namespace mozilla::a11y;
>diff --git a/accessible/src/xul/nsXULColorPickerAccessible.cpp b/accessible/src/xul/nsXULColorPickerAccessible.cpp
>--- a/accessible/src/xul/nsXULColorPickerAccessible.cpp
>+++ b/accessible/src/xul/nsXULColorPickerAccessible.cpp
>@@ -33,16 +33,17 @@
>  * and other provisions required by the GPL or the LGPL. If you do not delete
>  * the provisions above, a recipient may use your version of this file under
>  * the terms of any one of the MPL, the GPL or the LGPL.
>  *
>  * ***** END LICENSE BLOCK ***** */
> 
> #include "nsXULColorPickerAccessible.h"
> 
>+#include "Accessible-inl.h"
> #include "nsAccUtils.h"
> #include "nsAccTreeWalker.h"
> #include "nsCoreUtils.h"
> #include "nsDocAccessible.h"
> #include "Role.h"
> #include "States.h"
> 
> #include "nsIDOMElement.h"
>diff --git a/accessible/src/xul/nsXULComboboxAccessible.cpp b/accessible/src/xul/nsXULComboboxAccessible.cpp
>--- a/accessible/src/xul/nsXULComboboxAccessible.cpp
>+++ b/accessible/src/xul/nsXULComboboxAccessible.cpp
>@@ -35,16 +35,17 @@
>  * and other provisions required by the GPL or the LGPL. If you do not delete
>  * the provisions above, a recipient may use your version of this file under
>  * the terms of any one of the MPL, the GPL or the LGPL.
>  *
>  * ***** END LICENSE BLOCK ***** */
> 
> #include "nsXULComboboxAccessible.h"
> 
>+#include "Accessible-inl.h"
> #include "nsAccessibilityService.h"
> #include "nsDocAccessible.h"
> #include "nsCoreUtils.h"
> #include "Role.h"
> #include "States.h"
> 
> #include "nsIAutoCompleteInput.h"
> #include "nsIDOMXULMenuListElement.h"
>diff --git a/accessible/src/xul/nsXULFormControlAccessible.cpp b/accessible/src/xul/nsXULFormControlAccessible.cpp
>--- a/accessible/src/xul/nsXULFormControlAccessible.cpp
>+++ b/accessible/src/xul/nsXULFormControlAccessible.cpp
>@@ -34,16 +34,17 @@
>  * and other provisions required by the GPL or the LGPL. If you do not delete
>  * the provisions above, a recipient may use your version of this file under
>  * the terms of any one of the MPL, the GPL or the LGPL.
>  *
>  * ***** END LICENSE BLOCK ***** */
> 
> #include "nsXULFormControlAccessible.h"
> 
>+#include "Accessible-inl.h"
> #include "nsAccUtils.h"
> #include "nsAccTreeWalker.h"
> #include "nsCoreUtils.h"
> #include "nsDocAccessible.h"
> #include "Relation.h"
> #include "Role.h"
> #include "States.h"
> 
>diff --git a/accessible/src/xul/nsXULListboxAccessible.cpp b/accessible/src/xul/nsXULListboxAccessible.cpp
>--- a/accessible/src/xul/nsXULListboxAccessible.cpp
>+++ b/accessible/src/xul/nsXULListboxAccessible.cpp
>@@ -35,16 +35,17 @@
>  * and other provisions required by the GPL or the LGPL. If you do not delete
>  * the provisions above, a recipient may use your version of this file under
>  * the terms of any one of the MPL, the GPL or the LGPL.
>  *
>  * ***** END LICENSE BLOCK ***** */
> 
> #include "nsXULListboxAccessible.h"
> 
>+#include "Accessible-inl.h"
> #include "nsAccessibilityService.h"
> #include "nsAccUtils.h"
> #include "nsDocAccessible.h"
> #include "Role.h"
> #include "States.h"
> 
> #include "nsComponentManagerUtils.h"
> #include "nsIAutoCompleteInput.h"
>diff --git a/accessible/src/xul/nsXULMenuAccessible.cpp b/accessible/src/xul/nsXULMenuAccessible.cpp
>--- a/accessible/src/xul/nsXULMenuAccessible.cpp
>+++ b/accessible/src/xul/nsXULMenuAccessible.cpp
>@@ -33,16 +33,17 @@
>  * and other provisions required by the GPL or the LGPL. If you do not delete
>  * the provisions above, a recipient may use your version of this file under
>  * the terms of any one of the MPL, the GPL or the LGPL.
>  *
>  * ***** END LICENSE BLOCK ***** */
> 
> #include "nsXULMenuAccessible.h"
> 
>+#include "Accessible-inl.h"
> #include "nsAccessibilityService.h"
> #include "nsAccUtils.h"
> #include "nsDocAccessible.h"
> #include "nsXULFormControlAccessible.h"
> #include "Role.h"
> #include "States.h"
> 
> #include "nsIDOMElement.h"
>diff --git a/accessible/src/xul/nsXULTextAccessible.cpp b/accessible/src/xul/nsXULTextAccessible.cpp
>--- a/accessible/src/xul/nsXULTextAccessible.cpp
>+++ b/accessible/src/xul/nsXULTextAccessible.cpp
>@@ -35,16 +35,17 @@
>  * the provisions above, a recipient may use your version of this file under
>  * the terms of any one of the MPL, the GPL or the LGPL.
>  *
>  * ***** END LICENSE BLOCK ***** */
> 
> // NOTE: groups are alphabetically ordered
> #include "nsXULTextAccessible.h"
> 
>+#include "Accessible-inl.h"
> #include "nsAccUtils.h"
> #include "nsBaseWidgetAccessible.h"
> #include "nsCoreUtils.h"
> #include "nsTextEquivUtils.h"
> #include "Relation.h"
> #include "Role.h"
> #include "States.h"
>
Comment 3 alexander :surkov 2012-04-13 03:13:39 PDT
(In reply to Trevor Saunders (:tbsaunde) from comment #2)
> >+  bool HasARIARole() const
> >+    { return mRoleMapEntry; }
> 
> without checking the callers, wouldn't it make more sense for this to check
> mUseMappedRole here too?

maybe, don't want to go into aria-activedescendant logic.

> >+#ifndef _nsAccessible_inl_H_
> >+#define _nsAccessible_inl_H_
> 
> I gues that name sort of makes sense for now, but
> MOZILLA_A11Y_ACCESSIBLE_INL_H_ seems like it makes more sense.

I can do that, btw, why do you like to keep them in capslock since it doens't look super nice. For example, Element.h does the same http://mxr.mozilla.org/mozilla-central/source/content/base/public/Element.h. I think I'd go with mozilla_a11y_Accessible_inl_h_

> >-#import "nsIAccessible.h"
> >+#import "nsAccessible-inl.h"
> 
> how it work?

#import and #include is mostly the same thing, #import makes sure to not include the file twice. I get back to #include for internal header file.
Comment 4 Trevor Saunders (:tbsaunde) 2012-04-13 06:40:55 PDT
(In reply to alexander :surkov from comment #3)
> (In reply to Trevor Saunders (:tbsaunde) from comment #2)
> > >+  bool HasARIARole() const
> > >+    { return mRoleMapEntry; }
> > 
> > without checking the callers, wouldn't it make more sense for this to check
> > mUseMappedRole here too?
> 
> maybe, don't want to go into aria-activedescendant logic.

ok

> > >+#ifndef _nsAccessible_inl_H_
> > >+#define _nsAccessible_inl_H_
> > 
> > I gues that name sort of makes sense for now, but
> > MOZILLA_A11Y_ACCESSIBLE_INL_H_ seems like it makes more sense.
> 
> I can do that, btw, why do you like to keep them in capslock since it
> doens't look super nice. For example, Element.h does the same
> http://mxr.mozilla.org/mozilla-central/source/content/base/public/Element.h.
> I think I'd go with mozilla_a11y_Accessible_inl_h_

ok, I think its just habit to make macros all caps, but I don't think it really matters so long as its unique which I think it is either way.

> > >-#import "nsIAccessible.h"
> > >+#import "nsAccessible-inl.h"
> > 
> > how it work?
> 
> #import and #include is mostly the same thing, #import makes sure to not
> include the file twice. I get back to #include for internal header file.

sure, but "nsAccessible-inl.h"?
Comment 5 alexander :surkov 2012-04-13 06:58:07 PDT
(In reply to Trevor Saunders (:tbsaunde) from comment #4)

> > #import and #include is mostly the same thing, #import makes sure to not
> > include the file twice. I get back to #include for internal header file.
> 
> sure, but "nsAccessible-inl.h"?

yep, I noticed that and fixed, it didn't work I assume.
Comment 7 Marco Bonardo [::mak] 2012-04-14 06:31:05 PDT
https://hg.mozilla.org/mozilla-central/rev/c0975fb1e62d
Comment 8 George Wright (:gw280) (:gwright) 2012-04-16 15:28:20 PDT
This commit broke Linux/clang builds:

make[5]: Entering directory `/home/george/dev/mozilla-central/obj-linux-clang-rel/toolkit/library'
../../accessible/src/atk/nsAccessibleWrap.o: In function `getRoleCB':
/home/george/dev/mozilla-central/accessible/src/atk/nsAccessibleWrap.cpp:738: undefined reference to `nsAccessible::Role()'
../../accessible/src/atk/nsMaiInterfaceAction.o: In function `getKeyBindingCB':
/home/george/dev/mozilla-central/accessible/src/atk/nsMaiInterfaceAction.cpp:111: undefined reference to `nsAccessible::Role()'
/home/george/dev/mozilla-central/accessible/src/atk/nsMaiInterfaceAction.cpp:126: undefined reference to `nsAccessible::Role()'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Comment 9 Hubert Figuiere [:hub] 2012-04-16 16:19:29 PDT
Filed https://bugzilla.mozilla.org/show_bug.cgi?id=746004

to request a buildbot with clang.
Comment 10 alexander :surkov 2012-04-16 17:23:22 PDT
Created attachment 615556 [details] [diff] [review]
clang followup
Comment 11 Olli Pettay [:smaug] 2012-04-17 02:53:25 PDT
Comment on attachment 615556 [details] [diff] [review]
clang followup

rs=me
Comment 12 alexander :surkov 2012-04-17 02:57:11 PDT
(In reply to Olli Pettay [:smaug] from comment #11)
> Comment on attachment 615556 [details] [diff] [review]
> clang followup
> 
> rs=me

https://hg.mozilla.org/integration/mozilla-inbound/rev/975341acf9f1
Comment 13 Mihai Sucan [:msucan] 2012-04-17 05:20:40 PDT
Thanks for landing the clang fix! The nsAccessible::Role() error is now gone. However I still get:

/usr/bin/ld.bfd.real: libxul.so: hidden symbol `_ZN12nsAccessible4RoleEv' isn't defined
/usr/bin/ld.bfd.real: final link failed: Nonrepresentable section on output
Comment 14 alexander :surkov 2012-04-17 05:24:52 PDT
Jeff, do you have any ideas?
Comment 15 Trevor Saunders (:tbsaunde) 2012-04-17 22:56:53 PDT
I don't have time to go spec diving atm, but my first thoughts are the following

linker errors in the case that you don't include Accessible-inl.h some where sort of makes sense if the compiler has the right to not emit a function for methods declared inline since then the uses in files that don't incude Accessible-inl.h will have calls to nsAccessible::Role() which was never emitted as a function and always inlined.  Which I think would lead to things like comment 13

On the other hand I can't say that I get these compile errors at all, Alex's patch would probably be my first guess, but I have no idea what the problem was off hand.
Comment 16 Trevor Saunders (:tbsaunde) 2012-04-17 23:05:00 PDT
(In reply to Mihai Sucan [:msucan] from comment #13)
> Thanks for landing the clang fix! The nsAccessible::Role() error is now
> gone. However I still get:
> 
> /usr/bin/ld.bfd.real: libxul.so: hidden symbol `_ZN12nsAccessible4RoleEv'
> isn't defined
> /usr/bin/ld.bfd.real: final link failed: Nonrepresentable section on output

I assume you've disabled debug symbols, since that looks like a mangled method name?  I wonder if either using gold instead of ld.bfd or building with debug symbols provides more info?
Comment 17 Marco Bonardo [::mak] 2012-04-18 05:12:39 PDT
https://hg.mozilla.org/mozilla-central/rev/975341acf9f1
Comment 18 Mihai Sucan [:msucan] 2012-04-18 08:26:25 PDT
(In reply to Trevor Saunders (:tbsaunde) from comment #16)
> (In reply to Mihai Sucan [:msucan] from comment #13)
> > Thanks for landing the clang fix! The nsAccessible::Role() error is now
> > gone. However I still get:
> > 
> > /usr/bin/ld.bfd.real: libxul.so: hidden symbol `_ZN12nsAccessible4RoleEv'
> > isn't defined
> > /usr/bin/ld.bfd.real: final link failed: Nonrepresentable section on output
> 
> I assume you've disabled debug symbols, since that looks like a mangled
> method name?  I wonder if either using gold instead of ld.bfd or building
> with debug symbols provides more info?

For optimized builds I disable debug symbols to make builds faster.

I now re-enabled debug symbols and the errors stays the same.

I did a debug build as well: same error.

I installed gold linker and the error is gone with the patch surkov submitted. If I qpop his patch gold linker gives more info:

make[5]: entrant dans le répertoire « /home/mihai/src/mozilla/fx-team/ff-dbg-obj/toolkit/library »
/usr/bin/ld.gold.real: error: /home/mihai/src/mozilla/fx-team/ff-dbg-obj/toolkit/library/../../accessible/src/atk/nsAccessibleWrap.o: requires dynamic R_X86_64_PC32 reloc against '_ZN12nsAccessible4RoleEv' which may overflow at runtime; recompile with -fPIC
/usr/bin/ld.gold.real: error: /home/mihai/src/mozilla/fx-team/ff-dbg-obj/toolkit/library/../../accessible/src/atk/nsMaiInterfaceAction.o: requires dynamic R_X86_64_PC32 reloc against '_ZN12nsAccessible4RoleEv' which may overflow at runtime; recompile with -fPIC
/home/mihai/src/mozilla/fx-team/accessible/src/atk/nsAccessibleWrap.cpp:738: error: undefined reference to 'nsAccessible::Role()'
/home/mihai/src/mozilla/fx-team/accessible/src/atk/nsMaiInterfaceAction.cpp:111: error: undefined reference to 'nsAccessible::Role()'
/home/mihai/src/mozilla/fx-team/accessible/src/atk/nsMaiInterfaceAction.cpp:126: error: undefined reference to 'nsAccessible::Role()'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[5]: *** [libxul.so] Erreur 1


This is on ubuntu 12.04 lts, up-to-date, with debug enabled in mozconfig, with clang 3.0 from the ubuntu repos. I also did an optimized build. Things work well now.


Please let me know how can I further help. Thanks!
Comment 19 David Bolter [:davidb] 2012-04-20 08:25:53 PDT
(In reply to Hub Figuiere [:hub] from comment #9)
> Filed https://bugzilla.mozilla.org/show_bug.cgi?id=746004
> 
> to request a buildbot with clang.

Good.

Note if we haven't fixed the clang issues we should back out the cause until we can find the fix IMO. I use clang on my Linux box and am testing now...
Comment 20 David Bolter [:davidb] 2012-04-20 08:29:05 PDT
I hit the same problem as comment 13. (Ubuntu)
Comment 21 David Bolter [:davidb] 2012-04-20 08:33:21 PDT
Rafael any ideas? (See Linux/clang pain above)
Comment 22 Trevor Saunders (:tbsaunde) 2012-04-20 09:06:23 PDT
> I now re-enabled debug symbols and the errors stays the same.

debug symbols don't let ld.bfd give you unmangled names? :(

> I installed gold linker and the error is gone with the patch surkov
> submitted. If I qpop his patch gold linker gives more info:
> 
> make[5]: entrant dans le répertoire «
> /home/mihai/src/mozilla/fx-team/ff-dbg-obj/toolkit/library »
> /usr/bin/ld.gold.real: error:
> /home/mihai/src/mozilla/fx-team/ff-dbg-obj/toolkit/library/../../accessible/
> src/atk/nsAccessibleWrap.o: requires dynamic R_X86_64_PC32 reloc against
> '_ZN12nsAccessible4RoleEv' which may overflow at runtime; recompile with
> -fPIC
> /usr/bin/ld.gold.real: error:
> /home/mihai/src/mozilla/fx-team/ff-dbg-obj/toolkit/library/../../accessible/
> src/atk/nsMaiInterfaceAction.o: requires dynamic R_X86_64_PC32 reloc against
> '_ZN12nsAccessible4RoleEv' which may overflow at runtime; recompile with
> -fPIC
> /home/mihai/src/mozilla/fx-team/accessible/src/atk/nsAccessibleWrap.cpp:738:
> error: undefined reference to 'nsAccessible::Role()'
> /home/mihai/src/mozilla/fx-team/accessible/src/atk/nsMaiInterfaceAction.cpp:
> 111: error: undefined reference to 'nsAccessible::Role()'
> /home/mihai/src/mozilla/fx-team/accessible/src/atk/nsMaiInterfaceAction.cpp:
> 126: error: undefined reference to 'nsAccessible::Role()'
> clang: error: linker command failed with exit code 1 (use -v to see
> invocation)
> make[5]: *** [libxul.so] Erreur 1

ok, and his patch should have addressed all of those I think.

> This is on ubuntu 12.04 lts, up-to-date, with debug enabled in mozconfig,
> with clang 3.0 from the ubuntu repos. I also did an optimized build. Things
> work well now.
> 
> 
> Please let me know how can I further help. Thanks!

I'd start by including Accessible-inl.h into random files that don't already include it hoping I'd find one that made things link (Since I can't think of a possible explanation or better idea)

> Note if we haven't fixed the clang issues we should back out the cause until
> we can find the fix IMO. I use clang on my Linux box and am testing now...

I'm not sure I agree, should we also back out anything that breaks solaris, freebsd, or win32 with mingw?
Comment 23 David Bolter [:davidb] 2012-04-20 11:21:36 PDT
(In reply to Trevor Saunders (:tbsaunde) from comment #22)

> > Note if we haven't fixed the clang issues we should back out the cause until
> > we can find the fix IMO. I use clang on my Linux box and am testing now...
> 
> I'm not sure I agree, should we also back out anything that breaks solaris,
> freebsd, or win32 with mingw?

If our developers a finding those significantly useful yes, but I don't think that's the case.
Comment 24 Rafael Ávila de Espíndola (:espindola) (not reading bugmail) 2012-04-20 11:28:23 PDT
I have started a build at 7467925b9648f76b7b7dc796ee041c8e6cedff1e using clang 155207. The mozconfig is browser/config/mozconfigs/linux64/debug with

ac_add_options --enable-accessibility
added
Comment 25 Rafael Ávila de Espíndola (:espindola) (not reading bugmail) 2012-04-20 11:35:05 PDT
The build is still going, but from what the error is, it looks like clang is inlining nsAccessible::Role and dropping the symbol. So if some file is using it without including Accessible-inc.h, it will get an undefined reference.
Comment 26 David Bolter [:davidb] 2012-04-20 11:44:20 PDT
Oh I just noticed I'm barfing with:
/usr/bin/ld.bfd.real: libxul.so: hidden symbol `_ZNK14nsWrapperCache10GetWrapperEv' isn't defined
/usr/bin/ld.bfd.real: final link failed: Bad value

Note:

davidb@ubuntu:~/moz/mozilla-inbound$ cd objdir/
davidb@ubuntu:~/moz/mozilla-inbound/objdir$ find . -name *.o |xargs nm |grep _ZNK14nsWrapperCache10GetWrapperEv
         U _ZNK14nsWrapperCache10GetWrapperEv
davidb@ubuntu:~/moz/mozilla-inbound/objdir$
Comment 27 Rafael Ávila de Espíndola (:espindola) (not reading bugmail) 2012-04-20 12:23:52 PDT
Created attachment 617064 [details] [diff] [review]
proposed patch

It looks like the missing reference is coming from clang not optimizing away the call in

return EnsureInnerWindow() ? GetWrapper() : nsnull;

I have no idea how gold created the library with the missing symbol. In any case,  just including nsWrapperCacheInlines.h in nsGlobalWindow.h fixes the problem for me.
Comment 28 David Bolter [:davidb] 2012-04-20 12:25:16 PDT
Comment on attachment 617064 [details] [diff] [review]
proposed patch

Review of attachment 617064 [details] [diff] [review]:
-----------------------------------------------------------------

r=me. Thanks!
Comment 29 Trevor Saunders (:tbsaunde) 2012-04-20 12:41:10 PDT
(In reply to David Bolter [:davidb] from comment #28)
> Comment on attachment 617064 [details] [diff] [review]
> proposed patch
> 
> Review of attachment 617064 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> r=me. Thanks!

it seems like this fixes your issue in comment 26, but I have a hard time seeing how this bug introduced that, and it seems like it shouldn't fix comment 13?
Comment 30 Rafael Ávila de Espíndola (:espindola) (not reading bugmail) 2012-04-20 13:19:19 PDT
I was only ever able to reproduce the failure in comment 26, are you seeing others?
Comment 31 Mihai Sucan [:msucan] 2012-04-21 03:46:05 PDT
(In reply to Trevor Saunders (:tbsaunde) from comment #22)
> > I now re-enabled debug symbols and the errors stays the same.
> 
> debug symbols don't let ld.bfd give you unmangled names? :(

It seems that no, it doesn't.

(In reply to David Bolter [:davidb] from comment #26)
> Oh I just noticed I'm barfing with:
> /usr/bin/ld.bfd.real: libxul.so: hidden symbol
> `_ZNK14nsWrapperCache10GetWrapperEv' isn't defined
> /usr/bin/ld.bfd.real: final link failed: Bad value

I have also seen this error in some of my tests. Can't remember which.
Comment 32 :Ehsan Akhgari (busy, don't ask for review please) 2012-04-24 18:05:53 PDT
https://hg.mozilla.org/mozilla-central/rev/ab142890b086

Note You need to log in before you can comment on or make changes to this bug.