diff options
Diffstat (limited to 'meta/recipes-support/libgpg-error/libgpg-error/0005-src-gen-lock-obj.sh-add-a-file.patch')
-rw-r--r-- | meta/recipes-support/libgpg-error/libgpg-error/0005-src-gen-lock-obj.sh-add-a-file.patch | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/meta/recipes-support/libgpg-error/libgpg-error/0005-src-gen-lock-obj.sh-add-a-file.patch b/meta/recipes-support/libgpg-error/libgpg-error/0005-src-gen-lock-obj.sh-add-a-file.patch new file mode 100644 index 0000000000..e6f6c09bac --- /dev/null +++ b/meta/recipes-support/libgpg-error/libgpg-error/0005-src-gen-lock-obj.sh-add-a-file.patch @@ -0,0 +1,134 @@ +From fcb414abb62223e66dba413d0ca86eab3ea5bbc3 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Sun, 21 Jun 2020 13:54:47 +0000 +Subject: [PATCH] src-gen-lock-obj.sh: add a file + +This is erroneously missing from the tarball; it will show +up in the next release tarball, as upstream has fixed the +packaging in master. + +Upstream-Status: Inappropriate +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + src/gen-lock-obj.sh | 112 ++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 112 insertions(+) + create mode 100755 src/gen-lock-obj.sh + +diff --git a/src/gen-lock-obj.sh b/src/gen-lock-obj.sh +new file mode 100755 +index 0000000..13858cf +--- /dev/null ++++ b/src/gen-lock-obj.sh +@@ -0,0 +1,112 @@ ++#! /bin/sh ++# ++# gen-lock-obj.sh - Build tool to construct the lock object. ++# ++# Copyright (C) 2020 g10 Code GmbH ++# ++# This file is part of libgpg-error. ++# ++# libgpg-error is free software; you can redistribute it and/or ++# modify it under the terms of the GNU Lesser General Public License ++# as published by the Free Software Foundation; either version 2.1 of ++# the License, or (at your option) any later version. ++# ++# libgpg-error is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# Lesser General Public License for more details. ++# ++# You should have received a copy of the GNU Lesser General Public ++# License along with this program; if not, see <https://www.gnu.org/licenses/>. ++# ++ ++# ++# Following variables should be defined to invoke this script ++# ++# CC ++# OBJDUMP ++# AWK ++# ac_ext ++# ac_object ++# host ++# LOCK_ABI_VERSION ++# ++# An example: ++# ++# LOCK_ABI_VERSION=1 host=x86_64-pc-linux-gnu host_alias=x86_64-linux-gnu \ ++# CC=$host_alias-gcc OBJDUMP=$host_alias-objdump ac_ext=c ac_objext=o \ ++# AWK=gawk ./gen-lock-obj.sh ++# ++ ++AWK_VERSION_OUTPUT=$($AWK 'BEGIN { print PROCINFO["version"] }') ++if test -n "$AWK_VERSION_OUTPUT"; then ++ # It's GNU awk, which supports PROCINFO. ++ AWK_OPTION=--non-decimal-data ++fi ++ ++cat <<'EOF' >conftest.$ac_ext ++#include <pthread.h> ++pthread_mutex_t mtx = PTHREAD_MUTEX_INITIALIZER; ++EOF ++ ++if $CC -c conftest.$ac_ext; then : ++ ac_mtx_size=$($OBJDUMP -j .bss -t conftest.$ac_objext \ ++ | $AWK $AWK_OPTION ' ++/mtx$/ { mtx_size = int("0x" $5) } ++END { print mtx_size }') ++else ++ echo "Can't determine mutex size" ++ exit 1 ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ ++cat <<EOF ++## lock-obj-pub.$host.h ++## File created by gen-lock-obj.sh - DO NOT EDIT ++## To be included by mkheader into gpg-error.h ++ ++typedef struct ++{ ++ long _vers; ++ union { ++ volatile char _priv[$ac_mtx_size]; ++ long _x_align; ++ long *_xp_align; ++ } u; ++} gpgrt_lock_t; ++ ++EOF ++ ++# FIXME: Support different alignment conditions of: ++# ++# USE_16BYTE_ALIGNMENT ++# USE_DOUBLE_FOR_ALIGNMENT ++# USE_LONG_DOUBLE_FOR_ALIGNMENT ++# ++ ++echo -n "#define GPGRT_LOCK_INITIALIZER {$LOCK_ABI_VERSION,{{" ++ ++i=0 ++while test "$i" -lt $ac_mtx_size; do ++ if test "$i" -ne 0 -a "$(( $i % 8 ))" -eq 0; then ++ echo ' \' ++ echo -n " " ++ fi ++ echo -n '0' ++ if test "$i" -lt $(($ac_mtx_size - 1)); then ++ echo -n ',' ++ fi ++ i=$(( i + 1 )) ++done ++ ++cat <<'EOF' ++}}} ++## ++## Local Variables: ++## mode: c ++## buffer-read-only: t ++## End: ++## ++EOF ++ ++exit 0 |