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

index | next in thread | previous in thread | raw e-mail

Robin <solence@zoho.eu> has reassigned Bugzilla Automation
<bugzilla@FreeBSD.org>'s request for maintainer-feedback to gnome@FreeBSD.org:
Bug 221645: www/webkit2-gtk3 build fails on PPC because of exception for PPC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221645



--- Description ---
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 = *userContext->uc_mcontext.uc_regs;
								     ^
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 = static_cast<ucontext_t*>(ucontext);
#if CPU(PPC)
    threadData->suspendedMachineContext = *userContext->uc_mcontext.uc_regs;
#else
    threadData->suspendedMachineContext = 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.


help

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