diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2022-07-06 17:11:39 +0200 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2022-07-22 16:58:20 +0200 |
| commit | 9eb7e5182b963366da9415ff7efe7c0fa5b1ad62 (patch) | |
| tree | 8f93fc1156cdc5e9480519c1db0eafbae545fab0 /test/link/macho/objcpp/build.zig | |
| parent | 843701d0feb683810f6be3cb5d6406eddb5539d0 (diff) | |
| download | zig-9eb7e5182b963366da9415ff7efe7c0fa5b1ad62.tar.gz zig-9eb7e5182b963366da9415ff7efe7c0fa5b1ad62.zip | |
macho: rework symbol handling to match zld/ELF
Now, each object file will store a mutable table of symbols that it
defines. Upon symbol resolution between object files, the symbol
will be updated with a globally allocated section ordinal and address
in virtual memory. If the object defines a globally available symbol,
its location only (comprising of the symbol index and object index)
will be stored in the globals map for easy access when relocating, etc.
This approach cleans up the symbol management significantly, and matches
the status quo used in zld/ELF.
Additionally, this makes scoping symbol stabs easier too as they are
now naturally contained within each object file.
Diffstat (limited to 'test/link/macho/objcpp/build.zig')
0 files changed, 0 insertions, 0 deletions
