Closed Bug 336183 Opened 18 years ago Closed 2 years ago

[arm build] undefined reference _PrepareAndDispatch in xpcom_core

Categories

(Core :: XPCOM, defect)

1.8 Branch
x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: tonikitoo, Assigned: timeless)

Details

Attachments

(1 file, 2 obsolete files)

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
fix the xpcom problem linking possible in arm builds of minimo.
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?
(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& ..
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
Attached patch use macros and include docs (obsolete) — Splinter Review
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)
tonikitoo, please verify that this patch does that bust you and indeed fixes the problem. timeless, thanks for the patch.
(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 ...
Component: Build Config → XPCOM
Product: Minimo → Core
Version: unspecified → 1.8 Branch
what toolchain is this required for? I was able to build against arm using a older 2.95 (it will never die) gcc.
rather, i should have said, are you only worried about 3.4
(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 ?
QA Contact: chofmann → xpcom
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)
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?
> 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.
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

The bug assignee is inactive on Bugzilla, so the assignee is being reset.

Assignee: timeless → nobody
Status: ASSIGNED → NEW

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
Assignee: nobody → timeless
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: