aboutsummaryrefslogtreecommitdiff
path: root/gold/README
diff options
context:
space:
mode:
Diffstat (limited to 'gold/README')
-rw-r--r--gold/README18
1 files changed, 18 insertions, 0 deletions
diff --git a/gold/README b/gold/README
new file mode 100644
index 0000000..aa318f2
--- /dev/null
+++ b/gold/README
@@ -0,0 +1,18 @@
+gold is an ELF linker. It is intended to have complete support for
+ELF and to run as fast as possible on modern systems.
+
+It is written in C++. It is (intended to be) a GNU program, and
+therefore follows the GNU formatting standards as modified for C++.
+Source documents in order of precedence:
+ http://www.gnu.org/prep/standards/
+ http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/C++STYLE
+ http://www.zembu.com/eng/procs/c++style.html
+
+The linker is intended to have complete support for cross-compilation,
+which still supporting the normal case of native linking as fast as
+possible. This makes the code more complex.
+
+Many functions are actually templates whose parameter is the ELF file
+class (e.g., 32 bits or 64 bits). The code is the same, but we don't
+want to pay the execution time cost of always using 64-bit integers if
+the target is 32 bits.