Skip to content

Commit b395c72

Browse files
authored
Merge pull request #41690 from apple/maxd/dso-got-plt
2 parents 9b6e27e + 5e511a2 commit b395c72

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

docs/Lexicon.md

Lines changed: 24 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, a 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,18 @@ 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+
268+
Additionally, IRGen makes heavy usage of "GOT" as in "GOT-equivalent variable"
269+
to describe the way it forms references to global objects that may or may not be external references.
270+
253271
## iff
254272

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

478+
## PLT
479+
480+
Procedure linkage table, which is used to call external functions that don't
481+
have their addresses known at link time. These addresses are then resolved
482+
by a loader at run time.
483+
460484
## PR
461485

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

0 commit comments

Comments
 (0)