[Webkit-unassigned] [Bug 188483] Cannot build for i386 architecture

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Aug 14 02:44:18 PDT 2018


https://bugs.webkit.org/show_bug.cgi?id=188483

--- Comment #1 from Alberto Garcia <berto at igalia.com> ---
As far as I'm aware Debian i386 packages are built for 686-class processors. See https://lists.debian.org/debian-devel/2015/09/msg00589.html

Those atomic primitives need CPU instructions not available in older
processors. You can try the following test.cpp file:

    #include <atomic>
    int main()
    {
         std::atomic<int64_t> i(0);
         i++;
         return 0;
    }

And now:

    $ g++ -o test test.cpp

    $ g++ -o test test.cpp -march=i386
    /usr/bin/ld: /tmp/ccJF5W0r.o: in function `std::__atomic_base<long long>::operator++(int)':
    test.cpp:(.text._ZNSt13__atomic_baseIxEppEi[_ZNSt13__atomic_baseIxEppEi]+0x41): undefined reference to `__atomic_fetch_add_8'
    collect2: error: ld returned 1 exit status

You need to add -latomic:

    $ g++ -o test test.cpp -march=i386 -latomic

There's a test in Source/cmake/WebKitCompilerFlags.cmake that should
detect automatically whether you need to pass -latomic or not. If that
doesn't work in your case it must be because you're building with
-march=i386 but the test is built for a more recent CPU.

If you debug this issue and find a problem with the test, please tell us.

That said, I'm not sure how well a recent WebKitGTK+ will work in such
an old CPU (if at all).

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20180814/fc17b8b6/attachment.html>


More information about the webkit-unassigned mailing list