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:
+##
