This is an automated email from the ASF dual-hosted git repository.

archer pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 29e50ebed87e4ca5112f9de7fff7cc8152d5fbee
Author: guoshichao <[email protected]>
AuthorDate: Fri Aug 16 17:34:42 2024 +0800

    greenhills: add dummy implementation for unused function
    
    add dummy implementation to avoid the link error
    
    Signed-off-by: guoshichao <[email protected]>
---
 arch/arm/src/Makefile               |  1 +
 arch/arm/src/common/Make.defs       |  4 +++
 arch/arm/src/common/ghs/lib_dummy.c | 51 +++++++++++++++++++++++++++++++++++++
 3 files changed, 56 insertions(+)

diff --git a/arch/arm/src/Makefile b/arch/arm/src/Makefile
index d00fbfea59..2c3326f642 100644
--- a/arch/arm/src/Makefile
+++ b/arch/arm/src/Makefile
@@ -154,6 +154,7 @@ ifeq ($(CONFIG_ARM_TOOLCHAIN_IAR),y)
   VPATH += common$(DELIM)iar
 else # ifeq ($(CONFIG_ARCH_TOOLCHAIN_GNU),y)
   VPATH += common$(DELIM)gnu
+  VPATH += common$(DELIM)ghs
 endif
 
 all: $(HEAD_OBJ) $(BIN)
diff --git a/arch/arm/src/common/Make.defs b/arch/arm/src/common/Make.defs
index 7a8073db1c..4ca34329db 100644
--- a/arch/arm/src/common/Make.defs
+++ b/arch/arm/src/common/Make.defs
@@ -84,3 +84,7 @@ endif
 ifeq ($(CONFIG_ARCH_HAVE_FETCHADD),y)
   CMN_ASRCS += arm_fetchadd.S
 endif
+
+ifeq ($(CONFIG_ARCH_TOOLCHAIN_GHS),y)
+  CMN_CSRCS += ghs/lib_dummy.c
+endif
diff --git a/arch/arm/src/common/ghs/lib_dummy.c 
b/arch/arm/src/common/ghs/lib_dummy.c
new file mode 100644
index 0000000000..4a613b65a5
--- /dev/null
+++ b/arch/arm/src/common/ghs/lib_dummy.c
@@ -0,0 +1,51 @@
+/****************************************************************************
+ * arch/arm/src/common/ghs/lib_dummy.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+#include <stdint.h>
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/* The following functions is needed by libmath that introduced by default
+ * in the Greenhills toolchain, in nuttx we do not really need these
+ * function, so add dummy implementation here to avoid the link error
+ */
+
+void __gh_long_long_printf(void)
+{
+}
+
+void __gh_float_printf(void)
+{
+}
+
+void __gh_fputs_stdout(void)
+{
+}
+
+void exp2(void)
+{
+}

Reply via email to