[Webkit-unassigned] [Bug 156533] New: Fix build in glibc-based BSD systems

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Apr 13 02:48:42 PDT 2016


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

            Bug ID: 156533
           Summary: Fix build in glibc-based BSD systems
    Classification: Unclassified
           Product: WebKit
           Version: Other
          Hardware: Unspecified
                OS: Other
            Status: NEW
          Severity: Minor
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: berto at igalia.com

In MachineStackMarker.cpp there's a number of #ifdef blocks that follow this pattern:

#if OS(DARWIN)
  /* ... */
#elif OS(WINDOWS)
  /* ... */
#elif defined(__GLIBC__)
  /* ... */
#elif OS(FREEBSD)
  /* ... */
#else
#error Need a way to get the frame pointer for another thread on this platform
#endif

This works fine in most cases except in glibc-based FreeBSD systems (Debian GNU/kFreeBSD):

Source/JavaScriptCore/heap/MachineStackMarker.cpp: In member function 'void* JSC::MachineThreads::Thread::Registers::stackPointer() const':
Source/JavaScriptCore/heap/MachineStackMarker.cpp:554:68: error: 'const struct mcontext_t' has no member named 'gregs'                                        
     return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[REG_RSP]);

These systems should use the code inside the OS(FREEBSD) block, so this problem can be trivially solved by swapping the last two #elif blocks.

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


More information about the webkit-unassigned mailing list