ASR_BASE
Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/external/subpack/libs/libgpg-error/patches/010-add-arc-support.patch b/external/subpack/libs/libgpg-error/patches/010-add-arc-support.patch
new file mode 100644
index 0000000..03387f8
--- /dev/null
+++ b/external/subpack/libs/libgpg-error/patches/010-add-arc-support.patch
@@ -0,0 +1,64 @@
+From: Mylene Josserand <mylene.josserand at bootlin.com>
+
+DesignWare ARC Processors are a family of 32-bit CPUs from Synopsys.
+This change allows us to build for and use libgpg-error on ARC cores.
+
+These values were obtained from a test application executed on ARC
+in simulation this way:
+
+1. Instructions for cross-compilation used are here:
+ http://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgpg-error.git;a=blob;f=README
+
+2. Commands used on host:
+ # build="$(build-aux/config.guess)"
+ # ./configure --prefix=build/tmp-uclibc/sysroots/nsimhs/usr/ --host=arc-oe-linux-uclibc --build=$build
+ # cd src
+ # make gen-posix-lock-obj
+
+3. Commands used on target:
+ # ./gen-posix-lock-obj
+
+Signed-off-by: Mylene Josserand <mylene.josserand at bootlin.com>
+Signed-off-by: Alexey Brodkin <abrodkin at synopsys.com>
+---
+ src/Makefile.am | 1 +
+ .../lock-obj-pub.arc-unknown-linux-gnu.h | 23 +++++++++++++++++++
+ 2 files changed, 24 insertions(+)
+ create mode 100644 src/syscfg/lock-obj-pub.arc-unknown-linux-gnu.h
+
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -40,6 +40,7 @@ lock_obj_pub = \
+ syscfg/lock-obj-pub.aarch64-unknown-linux-gnu_ilp32.h \
+ syscfg/lock-obj-pub.aarch64-apple-darwin.h \
+ syscfg/lock-obj-pub.alpha-unknown-linux-gnu.h \
++ syscfg/lock-obj-pub.arc-unknown-linux-gnu.h \
+ syscfg/lock-obj-pub.arm-unknown-linux-androideabi.h \
+ syscfg/lock-obj-pub.arm-unknown-linux-gnueabi.h \
+ syscfg/lock-obj-pub.arm-apple-darwin.h \
+--- /dev/null
++++ b/src/syscfg/lock-obj-pub.arc-unknown-linux-gnu.h
+@@ -0,0 +1,23 @@
++## lock-obj-pub.arc-oe-linux-uclibc.h
++## File created by gen-posix-lock-obj - DO NOT EDIT
++## To be included by mkheader into gpg-error.h
++
++typedef struct
++{
++ long _vers;
++ union {
++ volatile char _priv[24];
++ long _x_align;
++ long *_xp_align;
++ } u;
++} gpgrt_lock_t;
++
++#define GPGRT_LOCK_INITIALIZER {1,{{0,0,0,0,0,0,0,0, \
++ 0,0,0,0,0,0,0,0, \
++ 0,0,0,0,0,0,0,0}}}
++##
++## Local Variables:
++## mode: c
++## buffer-read-only: t
++## End:
++##