[Bug 435560] Re: firefox fails to build with -Os on powerpc
Alexander Sack
asac at ubuntu.com
Thu Sep 24 00:39:06 UTC 2009
when using -O2 the build fails later like:
g++ -o xptcinvoke_ppc64_linux.o -c -fvisibility=hidden -DMOZILLA_INTERNAL_API -DOSTYPE=\"Linux2.6\" -DOSARCH=Linux -DEXPORT_XPTC_API -D_IMPL_NS_COM -I./../.. -I./../../..
/../xptinfo/src -I. -I. -I../../../../../../dist/include/string -I../../../../../../dist/include -I../../../../../../dist/include/xpcom -I/usr/include/nspr -I/usr/in
clude -fPIC -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offse
tof -Wno-long-long -pedantic -g -fno-strict-aliasing -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -O2 -DMOZILLA_CLIENT -include ../../../../../../mozilla-config.h -
Wp,-MD,.deps/xptcinvoke_ppc64_linux.pp xptcinvoke_ppc64_linux.cpp
xptcinvoke_ppc64_linux.cpp: In function 'void invoke_copy_to_stack(PRUint64*, double*, PRUint32, nsXPTCVariant*, PRUint64*)':
xptcinvoke_ppc64_linux.cpp:78: warning: 'tempu64' may be used uninitialized in this function
xptcstubs_ppc64_linux.cpp
g++ -o xptcstubs_ppc64_linux.o -c -fvisibility=hidden -DMOZILLA_INTERNAL_API -DOSTYPE=\"Linux2.6\" -DOSARCH=Linux -DEXPORT_XPTC_API -D_IMPL_NS_COM -I./../.. -I./../../../
../xptinfo/src -I. -I. -I../../../../../../dist/include/string -I../../../../../../dist/include -I../../../../../../dist/include/xpcom -I/usr/include/nspr -I/usr/inc
lude -fPIC -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offset
of -Wno-long-long -pedantic -g -fno-strict-aliasing -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -O2 -DMOZILLA_CLIENT -include ../../../../../../mozilla-config.h -Wp,-MD,.deps/xptcstubs_ppc64_linux.pp xptcstubs_ppc64_linux.cpp
{standard input}: Assembler messages:
{standard input}:25: Error: junk at end of line, first unrecognized character is `@'
{standard input}:64: Error: junk at end of line, first unrecognized character is `@'
{standard input}:103: Error: junk at end of line, first unrecognized character is `@'
{standard input}:142: Error: junk at end of line, first unrecognized character is `@'
{standard input}:181: Error: junk at end of line, first unrecognized character is `@'
{standard input}:220: Error: junk at end of line, first unrecognized character is `@'
{standard input}:259: Error: junk at end of line, first unrecognized character is `@'
{standard input}:308: Error: junk at end of line, first unrecognized character is `@'
{standard input}:347: Error: junk at end of line, first unrecognized character is `@'
{standard input}:386: Error: junk at end of line, first unrecognized character is `@'
{standard input}:425: Error: junk at end of line, first unrecognized character is `@'
{standard input}:464: Error: junk at end of line, first unrecognized character is `@'
{standard input}:503: Error: junk at end of line, first unrecognized character is `@'
{standard input}:542: Error: junk at end of line, first unrecognized character is `@'
{standard input}:581: Error: junk at end of line, first unrecognized character is `@'
{standard input}:620: Error: junk at end of line, first unrecognized character is `@'
{standard input}:659: Error: junk at end of line, first unrecognized character is `@'
{standard input}:698: Error: junk at end of line, first unrecognized character is `@'
{standard input}:737: Error: junk at end of line, first unrecognized character is `@'
{standard input}:776: Error: junk at end of line, first unrecognized character is `@'
asm Code failing is pasted below and
http://mxr.mozilla.org/mozilla1.9.1/source/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc64_linux.cpp
// gcc-3 version
//
// As G++3 ABI contains the length of the functionname in the mangled
// name, it is difficult to get a generic assembler mechanism like
// in the G++ 2.95 case.
// Create names would be like:
// _ZN14nsXPTCStubBase5Stub1Ev
// _ZN14nsXPTCStubBase6Stub12Ev
// _ZN14nsXPTCStubBase7Stub123Ev
// _ZN14nsXPTCStubBase8Stub1234Ev
// etc.
// Use assembler directives to get the names right...
# define STUB_ENTRY(n) \
__asm__ ( \
".section \".toc\",\"aw\" \n\t" \
".section \".text\" \n\t" \
".align 2 \n\t" \
".if "#n" < 10 \n\t" \
".globl _ZN14nsXPTCStubBase5Stub"#n"Ev \n\t" \
".section \".opd\",\"aw\" \n\t" \
".align 3 \n\t" \
"_ZN14nsXPTCStubBase5Stub"#n"Ev: \n\t" \
".quad ._ZN14nsXPTCStubBase5Stub"#n"Ev,.TOC. at tocbase \n\t" \
".previous \n\t" \
".type _ZN14nsXPTCStubBase5Stub"#n"Ev, at function \n\n" \
"._ZN14nsXPTCStubBase5Stub"#n"Ev: \n\t" \
\
".elseif "#n" < 100 \n\t" \
".globl _ZN14nsXPTCStubBase6Stub"#n"Ev \n\t" \
".section \".opd\",\"aw\" \n\t" \
".align 3 \n\t" \
"_ZN14nsXPTCStubBase6Stub"#n"Ev: \n\t" \
".quad ._ZN14nsXPTCStubBase6Stub"#n"Ev,.TOC. at tocbase \n\t" \
".previous \n\t" \
".type _ZN14nsXPTCStubBase6Stub"#n"Ev, at function \n\n" \
"._ZN14nsXPTCStubBase6Stub"#n"Ev: \n\t" \
\
".elseif "#n" < 1000 \n\t" \
".globl _ZN14nsXPTCStubBase7Stub"#n"Ev \n\t" \
".section \".opd\",\"aw\" \n\t" \
".align 3 \n\t" \
"_ZN14nsXPTCStubBase7Stub"#n"Ev: \n\t" \
".quad ._ZN14nsXPTCStubBase7Stub"#n"Ev,.TOC. at tocbase \n\t" \
".previous \n\t" \
".type _ZN14nsXPTCStubBase7Stub"#n"Ev, at function \n\n" \
"._ZN14nsXPTCStubBase7Stub"#n"Ev: \n\t" \
\
".else \n\t" \
".err \"stub number "#n" >= 1000 not yet supported\"\n" \
".endif \n\t" \
\
"li 11,"#n" \n\t" \
"b SharedStub \n" \
);
#endif
** Also affects: gcc-4.4 (Ubuntu)
Importance: Undecided
Status: New
--
firefox fails to build with -Os on powerpc
https://bugs.launchpad.net/bugs/435560
You received this bug notification because you are a member of Mozilla
Bugs, which is subscribed to xulrunner-1.9.1 in ubuntu.
More information about the Ubuntu-mozillateam-bugs
mailing list