[quake3-bugzilla] [Bug 6429] vm_x86.c inline assembly error on hosts using -fPIC

bugzilla-daemon at icculus.org bugzilla-daemon at icculus.org
Wed Jun 15 16:34:26 EDT 2016


https://bugzilla.icculus.org/show_bug.cgi?id=6429

--- Comment #8 from Thilo Schulz <arny at ats.s.bawue.de> ---
(In reply to Mark from comment #7)
> Sadly, no go with the most recent push. Same error in impossible constraint
> violation with gcc 4.9.3.

well, it does work for me. This is the compiler invocation:

cc  -DDEDICATED -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes -pipe
-DUSE_ICON -DARCH_STRING=\"x86_64\" -DNO_GZIP -Icode/zlib -DUSE_INTERNAL_JPEG
-Icode/jpeg-8c -DUSE_LOCAL_HEADERS
-DPRODUCT_VERSION=\"1.36_GIT_3d55e71-2016-06-15\" -Wformat=2
-Wno-format-zero-length -Wformat-security -Wno-format-nonliteral
-Wstrict-aliasing=2 -Wmissing-format-attribute -Wdisabled-optimization
-Werror-implicit-function-declaration -MMD -DUSE_VOIP -ggdb -O0 -fPIC -fPIE
-m32 -o build/debug-linux-x86_64/ded/vm_x86.o -c code/qcommon/vm_x86.c

version:
gcc version 4.9.2 (Debian 4.9.2-10) 


> Interesting that the compiler constraint error occurs with gcc 4.9.3 but is
> fine with 6.1.0. a 2016-03 gcc post
> (https://gcc.gnu.org/ml/gcc-help/2016-03/msg00156.html) suggests that EBX
> was considered reserved on i686 when generating PIC code but was changed to
> no longer be reserved as of gcc 5. I guess it's possible gcc 4 considers all
> usage of ebx in inline assembly, regardless of manually saving and restoring
> ebx, as violating the reservation when -fPIC is enabled?

Like I said in my first response, gcc5 seems to have done away with that
requirement. Does it compile with vanilla ioquake3 (without any of my current
modifications)?

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://icculus.org/pipermail/quake3-bugzilla/attachments/20160615/cea0577b/attachment.html>


More information about the quake3-bugzilla mailing list