Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Aug 2017 07:19:59 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 221645] www/webkit2-gtk3 build fails on PPC because of exception for PPC
Message-ID:  <bug-221645-13@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D221645

            Bug ID: 221645
           Summary: www/webkit2-gtk3 build fails on PPC because of
                    exception for PPC
           Product: Ports & Packages
           Version: Latest
          Hardware: powerpc
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: gnome@FreeBSD.org
          Reporter: solence@zoho.eu
                CC: freebsd-powerpc@FreeBSD.org
             Flags: maintainer-feedback?(gnome@FreeBSD.org)
                CC: freebsd-powerpc@FreeBSD.org
          Assignee: gnome@FreeBSD.org

This build fails with the following error:

Source/JavaScriptCore/heap/MachineStackMarker.cpp: In function 'void
pthreadSignalHandlerSuspendResume(int, siginfo_t*, void*)':
Source/JavaScriptCore/heap/MachineStackMarker.cpp:92:69: error: 'mcontext_t
{aka struct __mcontext}' has no member named 'uc_regs'
     threadData->suspendedMachineContext =3D *userContext->uc_mcontext.uc_r=
egs;
                                                                     ^
ninja: build stopped: subcommand failed.


There is an exception in MachineStackMarker.cpp for PowerPC to use uc_regs,
which is not declared on PowerPC, so this does not make much sense:

    ucontext_t* userContext =3D static_cast<ucontext_t*>(ucontext);
#if CPU(PPC)
    threadData->suspendedMachineContext =3D *userContext->uc_mcontext.uc_re=
gs;
#else
    threadData->suspendedMachineContext =3D userContext->uc_mcontext;
#endif


Here is the definition of mcontext_t on PowerPC for reference:

typedef struct __mcontext {
        int             mc_vers;
        int             mc_flags;
#define _MC_FP_VALID    0x01
#define _MC_AV_VALID    0x02
        int             mc_onstack;             /* saved onstack flag */
        int             mc_len;                 /* sizeof(__mcontext) */
        uint64_t        mc_avec[32*2];          /* vector register file */
        uint32_t        mc_av[2];
        register_t      mc_frame[42];
        uint64_t        mc_fpreg[33];
} mcontext_t __aligned(16);


Removing the exception allows the build to continue.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-221645-13>