[kde-freebsd] Clang 3.2 causes a machine code error on qt4-webkit build
RyōTa SimaMoto
liangtai.s4 at gmail.com
Tue Feb 12 07:36:48 UTC 2013
Clang 3.2 causes a machine code error on qt4-webkit build
Hi,
Compilation a C++ file of www/qt4-webkit fails with an error of "Bad
machine code". This happens on the base llvm/clang (3.2 of 9-STABLE).
I do not know whether it is an bug or not, and where it comes from.
Two months ago, qt4-webkit-4.8.4 can be built successfully by Clang 3.1.
Now I tried it again with the upgraded version (3.2), it stops with a
fatal error message as following (wrapped snippet) during creation of a
object file from the source file
src/3rdparty/webkit/Source/WebCore/html/parser/HTMLScriptRunner.cpp:
# Machine code for function
_ZN3WTF5DequeIN7WebCore13PendingScriptELj0EE14expand
CapacityEv: Post SSA
Frame Objects:
fi#-1: size=4, align=4, fixed, at location [SP+4]
BB#0: derived from LLVM BB %entry
%vreg185<def> = MOVPC32r 0, %ESP<imp-use>; GR32:%vreg185
%vreg77<def> = COPY %vreg185<kill>; GR32_NOSP:%vreg77 GR32:%vreg185
....Snip a long sequence of machine codes.....
....Full log (784 lines) is in the attached archive file....
BB#61: derived from LLVM BB %unwind_resume
Predecessors according to CFG: BB#17 BB#32 BB#54
%vreg70<def> = COPY %vreg198<kill>; GR32:%vreg70,%vreg198
ADJCALLSTACKDOWN32 4, %ESP<imp-def>, %EFLAGS<imp-def,dead>,
%ESP<imp-use>
%vreg178<def> = COPY %ESP; GR32:%vreg178
MOV32mr %vreg178<kill>, 1, %noreg, 0, %noreg, %vreg70<kill>; \
mem:ST4[Stack] GR32:%vreg178,%vreg70
%EBX<def> = COPY %vreg77<kill>; GR32_NOSP:%vreg77
CALLpcrel32 <ga:@_Unwind_Resume>[TF=6], <regmask>, %ESP<imp-use>, \
%EBX<imp-use,kill>, %ESP<imp-def>
ADJCALLSTACKUP32 4, 0, %ESP<imp-def>, %EFLAGS<imp-def,dead>,
%ESP<imp-use>
*** Bad machine code: Using an undefined physical register ***
- function: _ZN3WTF5DequeIN7WebCore13PendingScriptELj0EE14expandCapacityEv
- basic block: BB#46 lpad7.i.i (0x2bc8a320)
- instruction: %vreg157<def> = COPY %EAX; GR32:%vreg157
- operand 1: %EAX
fatal error: error in backend: Found 1 machine code errors.
This can be reporduced in four steps:
$ cd /usr/ports/www/qt4-webkit
$ make configure
$ cd work/qt-everywhere-opensource-src-4.8.4/src/3rdparty/webkit/Source
$ gmake .obj/release-static/HTMLScriptRunner.o
// I did a workaround as borrowing the same object file from another build tree
// that was configured with qt4/mkspecs/freebsd-g++.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: build.log.xz
Type: application/octet-stream
Size: 7204 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-freebsd/attachments/20130212/8b7a6b1a/attachment.obj>
More information about the kde-freebsd
mailing list