summaryrefslogtreecommitdiff
path: root/doc/develop/global_data.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/develop/global_data.rst')
-rw-r--r--doc/develop/global_data.rst5
1 files changed, 5 insertions, 0 deletions
diff --git a/doc/develop/global_data.rst b/doc/develop/global_data.rst
index 2ac893de491..d143f27eedd 100644
--- a/doc/develop/global_data.rst
+++ b/doc/develop/global_data.rst
@@ -36,6 +36,11 @@ On most architectures the global data pointer is stored in a register.
The sandbox, x86_64, and Xtensa are notable exceptions.
+Current implementation uses a register for the GD pointer because this results
+in smaller code. However, using plain global data for the GD pointer would be
+possible too (and simpler, as it does not require the reservation of a specific
+register for it), but the resulting code is bigger.
+
Clang for ARM does not support assigning a global register. When using Clang
gd is defined as an inline function using assembly code. This adds a few bytes
to the code size.