diff --git a/Help/policy/CMP0083.rst b/Help/policy/CMP0083.rst
index 32acf1f..e0b09cf 100644
--- a/Help/policy/CMP0083.rst
+++ b/Help/policy/CMP0083.rst
@@ -28,6 +28,12 @@
 Unlike most policies, CMake version |release| does not warn when this policy is
 not set and simply uses ``OLD`` behavior.
 
+.. Note::
+
+   Android platform has a special handling of ``PIE`` so it is not required
+   to use the :module:`CheckPIESupported` module to ensure flags are passed to
+   the linker.
+
 .. include:: DEPRECATED.txt
 
 Examples
diff --git a/Modules/Platform/Android/abi-common.cmake b/Modules/Platform/Android/abi-common.cmake
index a0b47f4..6bce3c7 100644
--- a/Modules/Platform/Android/abi-common.cmake
+++ b/Modules/Platform/Android/abi-common.cmake
@@ -12,6 +12,26 @@
   set(CMAKE_POSITION_INDEPENDENT_CODE ON)
 endif()
 
+cmake_policy(GET CMP0083 _CMP0083)
+if(_CMP0083 STREQUAL NEW)
+  # PIE Flags are managed by compiler configuration files
+  if(CMAKE_SYSTEM_VERSION VERSION_GREATER_EQUAL 16)
+    # ensure PIE flags are passed to the linker
+    set(CMAKE_C_LINK_PIE_SUPPORTED YES CACHE INTERNAL "PIE (C)")
+    set(CMAKE_CXX_LINK_PIE_SUPPORTED YES CACHE INTERNAL "PIE (CXX)")
+    if(CMAKE_SYSTEM_VERSION VERSION_GREATER_EQUAL 21)
+      # no PIE executable are no longer supported
+      set(CMAKE_C_LINK_NO_PIE_SUPPORTED NO CACHE INTERNAL "NO_PIE (C)")
+      set(CMAKE_CXX_LINK_NO_PIE_SUPPORTED NO CACHE INTERNAL "NO_PIE (CXX)")
+    endif()
+  endif()
+else()
+  if(CMAKE_POSITION_INDEPENDENT_CODE)
+    string(APPEND _ANDROID_ABI_INIT_EXE_LDFLAGS " -fPIE -pie")
+  endif()
+endif()
+unset(_CMP0083)
+
 string(APPEND _ANDROID_ABI_INIT_EXE_LDFLAGS " -Wl,--gc-sections")
 
 if(NOT _ANDROID_ABI_INIT_EXE_LDFLAGS_NO_nocopyreloc)
