summaryrefslogtreecommitdiffstats
path: root/newlib/libc/sys/tirtos/lock.c
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2014-04-04 21:40:59 +0000
committerJeff Johnston <jjohnstn@redhat.com>2014-04-04 21:40:59 +0000
commitd3925b72d54420f8d12de613fd8ad99244fd5810 (patch)
treedfbd3c7257888b1be85de44925902330164e77c4 /newlib/libc/sys/tirtos/lock.c
parent6fe5f6bf83035dc35fefd50681b8640ab07c6f25 (diff)
downloadcygnal-d3925b72d54420f8d12de613fd8ad99244fd5810.tar.gz
cygnal-d3925b72d54420f8d12de613fd8ad99244fd5810.tar.bz2
cygnal-d3925b72d54420f8d12de613fd8ad99244fd5810.zip
2014-04-04 Ashish Kapania <akapania@ti.com>
* configure.host (sys_dir, newlib_cflags): Set sys_dir to tirtos and use -D__DYNAMIC_REENT__ and -DMALLOC_PROVIDED compiler options for TIRTOS target. * libc/stdio/local.h (_STDIO_CLOSE_PER_REENT_STD_STREAMS): Change #ifdef to not define this macro when __tirtos__ is defined. * libc/sys/tirtos : Add support for TIRTOS. * libc/sys/tirtos/Makefile.am, libc/sys/tirtos/lock.c: New files. * libc/sys/tirtos/configure.in, libc/sys/tirtos/include/sys/lock.h: Ditto.
Diffstat (limited to 'newlib/libc/sys/tirtos/lock.c')
-rw-r--r--newlib/libc/sys/tirtos/lock.c92
1 files changed, 92 insertions, 0 deletions
diff --git a/newlib/libc/sys/tirtos/lock.c b/newlib/libc/sys/tirtos/lock.c
new file mode 100644
index 000000000..afd4d015e
--- /dev/null
+++ b/newlib/libc/sys/tirtos/lock.c
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2014, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+/*
+ * ======== lock.c ========
+ * TIRTOS provides an implementation for the sys/lock APIs if re-entrancy
+ * support is enabled. If re-entrancy support is disabled or an app is built
+ * without TIRTOS but using the libraries built for TIRTOS, these empty
+ * stubs are required to succesfully link the app.
+ */
+
+#include <sys/lock.h>
+
+/* Empty stubs for sys/lock APIs */
+
+void __libc_lock_init(_LOCK_T *lock)
+{
+ return;
+}
+
+void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock)
+{
+ return;
+}
+
+void __libc_lock_close(_LOCK_T *lock)
+{
+ return;
+}
+
+void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock)
+{
+ return;
+}
+
+void __libc_lock_acquire(_LOCK_T *lock)
+{
+ return;
+}
+
+void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock)
+{
+ return;
+}
+
+void __libc_lock_release(_LOCK_T *lock)
+{
+ return;
+}
+
+void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock)\
+{
+ return;
+}
+
+int __libc_lock_try_acquire(_LOCK_T *lock)
+{
+ return -1;
+}
+
+int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock)
+{
+ return -1;
+}