Skip to content

Commit d4a65b7

Browse files
committed
Docs: add DSO, GOT, and PLT to Lexicon.md
These terms are frequently referenced in Swift source code and comments. Having at least basic definitions for them in `Lexicon.md` should lower the barrier for new contributors.
1 parent 941fc8d commit d4a65b7

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

docs/Lexicon.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,12 @@ guarantee this. This was
188188
"Do not merge". Placed in PR titles where discussion or analysis is still
189189
ongoing.
190190

191+
## DSO
192+
193+
Dynamic shared object, an shared library file (.so/.dylib/.dll, the extension of
194+
which depends on the platform) to be used by multiple applications while they
195+
are executing.
196+
191197
## dup
192198

193199
From "duplicate". As a noun, refers to another filed issue that describes
@@ -250,6 +256,15 @@ A representation of all generic parameters and their requirements. Like
250256
types, generic signatures can be [canonicalized](#canonical-type) to be
251257
compared directly.
252258

259+
## GOT
260+
261+
[Global offset table](https://en.wikipedia.org/wiki/Global_Offset_Table),
262+
a section in an executable or a shared library, which enables code to run
263+
independently of the memory address where it is loaded at runtime. Entries
264+
in GOT directly point to absolute addresses of symbols. The format of GOT
265+
is platform-dependent. Loaders update GOT relocations either on
266+
startup or on symbol access.
267+
253268
## iff
254269

255270
["if and only if"](https://en.wikipedia.org/wiki/If_and_only_if). This term comes from mathematics.
@@ -455,6 +470,12 @@ only to accelerate the process of reading C/C++/Objective-C headers, such as
455470
the bridging headers read in by the `-import-objc-header` command-line
456471
flag to swiftc.
457472

473+
## PLT
474+
475+
Procedure linkage table, which is used to call external functions that don't
476+
have their addresses known at link time. These addresses are then resolved
477+
by a loader at run time.
478+
458479
## PR
459480

460481
1. "Problem Report": An issue reported in [LLVM's bug tracker](https://llvm.org/bugs/).

0 commit comments

Comments
 (0)