Bug 647751
Summary: | Error: junk at end of line, first unrecognized character is `@' on ppc64 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Jan Horak <jhorak> | ||||||||
Component: | gcc | Assignee: | Jakub Jelinek <jakub> | ||||||||
Status: | CLOSED WORKSFORME | QA Contact: | qe-baseos-tools-bugs | ||||||||
Severity: | urgent | Docs Contact: | |||||||||
Priority: | low | ||||||||||
Version: | 6.0 | CC: | tpelka | ||||||||
Target Milestone: | rc | ||||||||||
Target Release: | --- | ||||||||||
Hardware: | ppc64 | ||||||||||
OS: | Linux | ||||||||||
Whiteboard: | |||||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||||
Doc Text: | Story Points: | --- | |||||||||
Clone Of: | Environment: | ||||||||||
Last Closed: | 2010-11-02 07:45:17 UTC | Type: | --- | ||||||||
Regression: | --- | Mount Type: | --- | ||||||||
Documentation: | --- | CRM: | |||||||||
Verified Versions: | Category: | --- | |||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||
Embargoed: | |||||||||||
Attachments: |
|
Created attachment 456431 [details]
assembler file generated by gcc -S
I met similar problem also on x86_64 when compiling i686 packages (same as in #0, ergo xulrunner): ptcinvoke_x86_64_unix.cpp: In function 'nsresult NS_InvokeByIndex_P(nsISupports*, PRUint32, PRUint32, nsXPTCVariant*)': xptcinvoke_x86_64_unix.cpp:152: error: invalid register name for 'd0' xptcinvoke_x86_64_unix.cpp:153: error: invalid register name for 'd1' xptcinvoke_x86_64_unix.cpp:154: error: invalid register name for 'd2' xptcinvoke_x86_64_unix.cpp:155: error: invalid register name for 'd3' xptcinvoke_x86_64_unix.cpp:156: error: invalid register name for 'd4' xptcinvoke_x86_64_unix.cpp:157: error: invalid register name for 'd5' xptcinvoke_x86_64_unix.cpp:158: error: invalid register name for 'd6' xptcinvoke_x86_64_unix.cpp:159: error: invalid register name for 'd7' xptcinvoke_x86_64_unix.cpp:181: error: invalid register name for 'a4' xptcinvoke_x86_64_unix.cpp:182: error: invalid register name for 'a5' make[9]: *** [xptcinvoke_x86_64_unix.o] Error 1 make[9]: *** Waiting for unfinished jobs.... {standard input}: Assembler messages: {standard input}:15: Error: bad register name `%rbp' {standard input}:16: Error: bad register name `%rsp' {standard input}:17: Error: bad register name `%rsp' {standard input}:18: Error: bad register name `%rdi' {standard input}:19: Error: bad register name `%rsi' {standard input}:20: Error: bad register name `%rdx' {standard input}:21: Error: bad register name `%rcx' {standard input}:22: Error: bad register name `%r8' {standard input}:23: Error: bad register name `%r9' {standard input}:24: Error: bad register name `%rbp)' {standard input}:25: Error: bad register name `%rbp)' {standard input}:26: Error: bad register name `%rbp)' {standard input}:27: Error: bad register name `%rbp)' {standard input}:28: Error: bad register name `%rbp)' {standard input}:29: Error: bad register name `%rbp)' {standard input}:30: Error: bad register name `%rbp)' {standard input}:31: Error: bad register name `%rbp)' {standard input}:32: Error: bad register name `%rbp)' {standard input}:33: Error: bad register name `%rbp)' {standard input}:35: Error: bad register name `%rbp)' make[9]: *** [xptcstubs_x86_64_linux.o] Error 1 And also on s390x (also compiling s390 packages on s390x -- xulrunner), but here I'm not fully sure if it is same kind off failure: xptcinvoke_linux_s390x.cpp: In function 'nsresult NS_InvokeByIndex_P(nsISupports*, PRUint32, PRUint32, nsXPTCVariant*)': xptcinvoke_linux_s390x.cpp:248: error: can't find a register in class 'ADDR_REGS' while reloading 'asm' xptcinvoke_linux_s390x.cpp:248: error: 'asm' operand has impossible constraints make[9]: *** [xptcinvoke_linux_s390x.o] Error 1 Looks like user error. You are compiling on ppc64 with -m32 code that is partly for 32-bit ppc (e.g. size_t definition etc. is clearly for 32-bit code), but partly for 64-bit ppc (e.g. the inline asm in dist/include/xptcstubsdef.inc are clearly 64-bit ppc assembly rather than 32-bit). OK setarch works for ppc packages on ppc64, also for s390 packages on s390x and also for i686 packages on x86_64. But still getting similar error ("junk at end of line, ...") on ppc64 when building ppc64 package. See logs. http://nest.test.redhat.com/mnt/qa/scratch/ppcp-6s-m1/2010:10114/tps/stdout.log http://nest.test.redhat.com/mnt/qa/scratch/ppcp-6s-m1/2010:10114/tps/err.log Please attach xptcinvoke_asm_ppc64_linux.ii and xptcinvoke_asm_ppc64_linux.s I'll have a look. Created attachment 456874 [details]
xptcinvoke_asm_ppc64_linux.s
Sorry cant find xptcinvoke_asm_ppc64_linux.ii. The .ii file would be produced by -save-temps (or -E). Anyway, the attached xptcinvoke_asm_ppc64_linux.s assembles just fine for me on RHEL6/ ppc32. (In reply to comment #10) > The .ii file would be produced by -save-temps (or -E). > Anyway, the attached xptcinvoke_asm_ppc64_linux.s assembles just fine for me on > RHEL6/ ppc32. It appears when building ppc64 on ppc64, not ppc on ppc64 just like i said in #c6. But that's exactly what I'm doing too: $ rpm -q gcc-c++ gcc binutils; which gcc; gcc -c -x assembler-with-cpp -o \ xptcinvoke_asm_ppc64_linux.o -fPIC -c xptcinvoke_asm_ppc64_linux.s; echo $? gcc-c++-4.4.4-13.el6.ppc64 gcc-4.4.4-13.el6.ppc64 binutils-2.20.51.0.2-5.11.el6.ppc64 /usr/bin/gcc 0 $ Seems that yum reinstall gcc\* helped. Really, reinstalling gcc helped, closing as WORKSFORME. |
Created attachment 456430 [details] reproducer: xptcstubs_ppc64_linux_postrp.cpp Description of problem: Xulrunner TPS test fail on ppc64 due to many: Error: junk at end of line, first unrecognized character is `@' Version-Release number of selected component: gcc-4.4.4-13.el6.ppc64 binutils-2.20.51.0.2-5.11.el6.ppc64 xulrunner-1.9.2.12 How reproducible: Steps to Reproduce: compile xptcstubs_ppc64_linux_postpr.cpp by: c++ -o xptcstubs_ppc64_linux_done.o -c -fvisibility=hidden -DMOZILLA_INTERNAL_API -DOSTYPE=\"Linux2.6.32-71.el6\" -DOSARCH=Linux -DEXPORT_XPTC_API -D_IMPL_NS_COM -fPIC -fno-rtti -fno-exceptions -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -fno-strict-aliasing -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -Os -freorder-blocks -fno-reorder-functions -DMOZILLA_CLIENT -Wp,-MD,.deps/xptcstubs_ppc64_linux.pp xptcstubs_ppc64_linux_postrp.cpp Actual results: {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 `@' Additional info: Can be reproduce at stable machine: ppcp-6s-m1.ss.eng.bos.redhat.com