[Webkit-unassigned] [Bug 156015] Fails to build in Linux / PowerPC due to different ucontext_t definition
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Mar 30 01:36:44 PDT 2016
https://bugs.webkit.org/show_bug.cgi?id=156015
Alberto Garcia <berto at igalia.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |berto at igalia.com,
| |cgarcia at igalia.com,
| |mcatanzaro at igalia.com
--- Comment #1 from Alberto Garcia <berto at igalia.com> ---
[ somehow the previous comment is incomplete, please ignore it ]
I reproduced this with WebKitGTK+ 2.12.0.
It seems that the definition of ucontext_t is different in Linux PowerPC, producing this build error:
/«PKGBUILDDIR»/Source/JavaScriptCore/heap/MachineStackMarker.cpp: In function 'void pthreadSignalHandlerSuspendResume(int, siginfo_t*, void*)':
/«PKGBUILDDIR»/Source/JavaScriptCore/heap/MachineStackMarker.cpp:89:37: error: no match for 'operator=' (operand types are 'mcontext_t' and 'ucontext::uc_regs_ptr')
thread->suspendedMachineContext = userContext->uc_mcontext;
^
In file included from /usr/include/signal.h:326:0,
from /«PKGBUILDDIR»/Source/JavaScriptCore/heap/MachineStackMarker.h:36,
from /«PKGBUILDDIR»/Source/JavaScriptCore/heap/MachineStackMarker.cpp:23:
/usr/include/powerpc-linux-gnu/sys/ucontext.h:60:3: note: candidate: mcontext_t& mcontext_t::operator=(const mcontext_t&)
} mcontext_t;
^
/usr/include/powerpc-linux-gnu/sys/ucontext.h:60:3: note: no known conversion for argument 1 from 'ucontext::uc_regs_ptr' to 'const mcontext_t&'
/usr/include/powerpc-linux-gnu/sys/ucontext.h:60:3: note: candidate: mcontext_t& mcontext_t::operator=(mcontext_t&&)
/usr/include/powerpc-linux-gnu/sys/ucontext.h:60:3: note: no known conversion for argument 1 from 'ucontext::uc_regs_ptr' to 'mcontext_t&&'
Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/build.make:9801: recipe for target 'Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/heap/MachineStackMarker.cpp.o' failed
make[3]: *** [Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/heap/MachineStackMarker.cpp.o] Error 1
Here's how it is defined:
typedef struct ucontext {
struct ucontext *uc_link;
sigset_t uc_sigmask;
stack_t uc_stack;
mcontext_t uc_mcontext;
...
} ucontext_t;
Here's how it is defined in powerpc:
typedef struct ucontext {
struct ucontext *uc_link;
sigset_t uc_sigmask;
stack_t uc_stack;
union uc_regs_ptr {
struct pt_regs *regs;
mcontext_t *uc_regs;
} uc_mcontext;
...
} ucontext_t;
Full definition here:
https://sources.debian.net/src/glibc/2.21-9/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h/?hl=139#L139
According to the setcontext(3) man page, this was removed in POSIX.1-2008 because of portability reasons.
--
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/20160330/05e4f483/attachment.html>
More information about the webkit-unassigned
mailing list