Page MenuHome GnuPG


Authored by musluser on Nov 26 2016, 4:02 PM.



From 065f16768b0d790ae2d5b1b255f526f98d5a7802 Mon Sep 17 00:00:00 2001
From: rofl0r <>
Date: Sat, 26 Nov 2016 14:31:27 +0000
Subject: [PATCH] fix libgpg-error lock madness

libgpg-error has, for "portability" reasons, an utterly overdesigned
mutex implementation that basically does nothing more than calling the
pthread_mutex* functions, however it is designed in such a way that it
needs to know the size of phtread_mutex_t and other implementation details
of every arch/os/libc combination.

there's a hardcoded list for some archs (which is a bad idea if the
size of pthread_mutex_t on that arch changes), and any arch/libc
combination that is not yet in this list fails to compile.

according to the author this is by design[0], and you're supposed to
crosscompile a helper program and run that on your target computer
so it spits out a header that has the right values filled in.
this is a lunatic idea and completely unacceptable as we're trying
to do *automated* builds and not copying stuff around manually between
different machines.
there is an easy fix: just use the pthread primitives directly instead
of doing all the circus with the arch specific intermediate type.


src/mkheader.c | 6 ++
src/posix-lock.c | 192 ++++++-------------------------------------------------
2 files changed, 26 insertions(+), 172 deletions(-)


Test Plan

Diff Detail

Lint Skipped
Unit Tests Skipped