Closed
Bug 336183
Opened 18 years ago
Closed 2 years ago
[arm build] undefined reference _PrepareAndDispatch in xpcom_core
Categories
(Core :: XPCOM, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: tonikitoo, Assigned: timeless)
Details
Attachments
(1 file, 2 obsolete files)
1.47 KB,
patch
|
Details | Diff | Splinter Review |
build minimo 0.15 for arm fails at linking stage
c++ -o minimo -I/usr/X11R6/include -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -pthread -pipe -DNDEBUG -DTRIMMED -ffunction-sections -Os -D_XOPEN_SOURCE=500 -DXTHREADS -DXUSE_MTSAFE_API -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include Minimo.o WindowCreator.o SplashScreen.o nsConsoleWriter.o nsBrowserStatusFilter.o nsBrowserInstance.o nsStaticComponents.o -L../../dist/bin -L../../dist/lib -L../../dist/lib -lplds4 -lplc4 -lnspr4 -ldl -lX11 -lXft -lfreetype -lz -lXrender -lX11 -ldl -lfontconfig -ldl -lm ../../dist/lib/components/libxpconnect.a ../../dist/lib/components/libuconv.a ../../dist/lib/components/libi18n.a ../../dist/lib/components/libnecko.a ../../dist/lib/components/libnecko2.a ../../dist/lib/components/libjar50.a ../../dist/lib/components/libpref.a ../../dist/lib/components/libcaps.a ../../dist/lib/components/librdf.a ../../dist/lib/components/libhtmlpars.a ../../dist/lib/components/libgfx_gtk.a ../../dist/lib/components/libimglib2.a ../../dist/lib/components/libwidget_gtk2.a ../../dist/lib/components/libgklayout.a ../../dist/lib/components/libdocshell.a ../../dist/lib/components/libembedcomponents.a ../../dist/lib/components/libwebbrwsr.a ../../dist/lib/components/libeditor.a ../../dist/lib/components/libtxmgr.a ../../dist/lib/components/libnsappshell.a ../../dist/lib/components/libchrome.a ../../dist/lib/components/libmork.a ../../dist/lib/components/libtoolkitcomps.a ../../dist/lib/components/libtransformiix.a ../../dist/lib/components/libxmlextras.a ../../dist/lib/components/libsoftkey.a ../../dist/lib/components/libpipboot.a ../../dist/lib/components/libpipnss.a ../../dist/lib/components/libsnav.a ../../dist/lib/components/libphone.a ../../dist/lib/components/libsoftkey.a ../../dist/lib/components/libcookie.a ../../dist/lib/components/libpermissions.a ../../dist/lib/components/libdevicesupport.a ../../dist/lib/components/libssr.a ../../dist/lib/libmozjs.a ../../dist/lib/libunicharutil_s.a ../../dist/lib/libucvutil_s.a ../../dist/lib/libgtkxtbin.a ../../dist/lib/libgfxshared_s.a ../../dist/lib/libgkgfx.a ../../dist/lib/libxpcom_core.a ../../dist/lib/libembed_base_s.a ../../dist/lib/libprofdirserviceprovider_s.a -L../../dist/lib -lmozpng -L../../dist/lib -lmozjpeg -L../../dist/lib -lmozz -L-L../../dist/bin -L../../dist/lib -lcrmf -lsmime3 -lssl3 -lnss3 -lsoftokn3 -lXt -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
../../dist/lib/libxpcom_core.a(xptcstubs_arm.o)(.text+0x10): In function `SharedStub':
xptcstubs_arm.cpp: undefined reference to `_PrepareAndDispatch'
collect2: ld returned 1 exit status
make[4]: *** [minimo] Error 1
make[4]: Leaving directory `/home/agomes/testing-minimo-unpatched/mozilla/minimo/base'
make[3]: *** [libs] Error 2
make[3]: Leaving directory `/home/agomes/testing-minimo-unpatched/mozilla/minimo'
make[2]: *** [tier_99] Error 2
make[2]: Leaving directory `/home/agomes/testing-minimo-unpatched/mozilla'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/home/agomes/testing-minimo-unpatched/mozilla'
make: *** [build] Error 2
Reporter | ||
Comment 1•18 years ago
|
||
fix the xpcom problem linking possible in arm builds of minimo.
Comment 2•18 years ago
|
||
Comment on attachment 220440 [details] [diff] [review]
add missing the '__attribute__((used));' into the xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp
you only need this with certain compilers, right?
Reporter | ||
Comment 3•18 years ago
|
||
(In reply to comment #2)
> (From update of attachment 220440 [details] [diff] [review] [edit])
> you only need this with certain compilers, right?
I think so, at least with arm-gcc 3.4.x
[sbox-maemo-arm: ~/testing-minimo-unpatched/mozilla] > gcc --version
sbox-arm-linux-gcc (GCC) 3.4.2 (release) (CodeSourcery ARM Q3D 2004)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
the patch came from http://forums.mozillazine.org/viewtopic.php?t=271308& ..
Comment 4•18 years ago
|
||
tonikitoo, do we need to ifdef this change for only the compilers with this
problem. At some point this problem didn't exist, right?
Assignee: dougt → tonikitoo
i'm so glad to see that my comments in bug 307418 were ignored.
it's a shame that the reporter of this bug didn't find that bug.
Assignee: tonikitoo → timeless
Attachment #220440 -
Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #222167 -
Flags: review?(dougt)
Comment 6•18 years ago
|
||
tonikitoo, please verify that this patch does that bust you and indeed fixes the problem. timeless, thanks for the patch.
Reporter | ||
Comment 7•18 years ago
|
||
(In reply to comment #6)
> tonikitoo, please verify that this patch does that bust you and indeed fixes
> the problem. timeless, thanks for the patch.
>
humm, timeless' patch is indeed more robustic ;) great,
although I couldn't apply in on the branch because it seems to be created against the trunk,
see the difference between them
http://lxr.mozilla.org/seamonkey/source/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp#48
http://lxr.mozilla.org/mozilla1.8.0/source/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp#48
so I just create one based on timeless' against the branch, which works fine ...
Updated•18 years ago
|
Component: Build Config → XPCOM
Product: Minimo → Core
Version: unspecified → 1.8 Branch
Comment 8•18 years ago
|
||
what toolchain is this required for? I was able to build against arm using a older 2.95 (it will never die) gcc.
Comment 9•18 years ago
|
||
rather, i should have said, are you only worried about 3.4
Reporter | ||
Comment 10•18 years ago
|
||
(In reply to comment #9)
> rather, i should have said, are you only worried about 3.4
>
well, I am working with 3.4 only currently, but with 3.3 it used to work fine (no patch required)
not sure about any other gcc versions. timeless ?
Updated•18 years ago
|
QA Contact: chofmann → xpcom
Assignee | ||
Comment 11•18 years ago
|
||
Comment on attachment 222167 [details] [diff] [review]
use macros and include docs
checked in. i'm the module owner.
mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp 1.9
Attachment #222167 -
Attachment is obsolete: true
Attachment #222167 -
Flags: review?(dougt)
Comment 12•16 years ago
|
||
Problem still exists as reported in seamonkey 1.1.10 source on arm (freelinkversion of debian etch on Buffalo Kurobox).
gcc -V:
Using built-in specs.
Target: arm-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release arm-linux-gnu
Thread model: posix
gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
Antonio Gomes' fix seems to work. Could it be integrated into the source?
Comment 13•16 years ago
|
||
> Antonio Gomes' fix seems to work. Could it be integrated into the source?
Ignore this last bit; didn't fully read the whole report; timeless' patch should
work.
Anyway, looks like timeless' patch isn't in the source used by seamonkey. Not sure why.
Comment 14•13 years ago
|
||
FIXED? per ...
(In reply to comment #11)
> Comment on attachment 222167 [details] [diff] [review] [review]
> use macros and include docs
>
> checked in. i'm the module owner.
>
> mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp 1.9
Comment 15•2 years ago
|
||
The bug assignee is inactive on Bugzilla, so the assignee is being reset.
Assignee: timeless → nobody
Status: ASSIGNED → NEW
Comment 16•2 years ago
|
||
It looks like this did get fixed a long time ago. Here's the git revision for it because this is pre-hg. I'll mark this as WORKSFORME and not FIXED so we don't rile up the bots.
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WORKSFORME
Updated•2 years ago
|
Assignee: nobody → timeless
You need to log in
before you can comment on or make changes to this bug.
Description
•