Build: Add GNU Arm compiler version check

GNU Arm compiler version greater equal than *11.3.Rel1* has a linker issue in syscall.
Select other GNU Arm compiler versions instead.

Signed-off-by: Summer Qin <summer.qin@arm.com>
Change-Id: I55e7aab2b0f1da043145b9a4d8914c9b685f287e
diff --git a/docs/getting_started/tfm_getting_started.rst b/docs/getting_started/tfm_getting_started.rst
index b9a620e..a11de46 100644
--- a/docs/getting_started/tfm_getting_started.rst
+++ b/docs/getting_started/tfm_getting_started.rst
@@ -217,6 +217,9 @@
           support. The bug is reported in `here <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99157>`__.
           Select other GNU Arm compiler versions instead.
 
+          GNU Arm compiler version greater and equal than *11.3.Rel1* has a linker issue in syscall.
+          Select other GNU Arm compiler versions instead.
+
     - IAR Arm compiler v8.42.x, v8.50.x
 
       .. tabs::
diff --git a/toolchain_GNUARM.cmake b/toolchain_GNUARM.cmake
index 9bfb7b4..7989718 100644
--- a/toolchain_GNUARM.cmake
+++ b/toolchain_GNUARM.cmake
@@ -170,6 +170,11 @@
                             " See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99157 for the issue detail.")
     endif()
 
+    if (GCC_VERSION VERSION_GREATER_EQUAL 11.3.1)
+        message(FATAL_ERROR "GNU Arm compiler version greater and equal than *11.3.Rel1* has a linker issue in syscall."
+                            " Select other GNU Arm compiler versions instead.")
+    endif()
+
     unset(CMAKE_C_FLAGS_INIT)
     unset(CMAKE_CXX_FLAGS_INIT)
     unset(CMAKE_ASM_FLAGS_INIT)