Nikita Smith
c397b1dfb1
handle common section case
2025-09-05 15:19:30 -07:00
Nikita Smith
429ba8b080
helper for writing 32-bit address relocation
2025-08-18 19:09:32 -07:00
Nikita Smith
1ce2fbfd1a
helper for setting default symbol
2025-08-18 19:09:32 -07:00
Nikita Smith
81c68cfdd3
register common and absolute symbols in library's symbol table
2025-08-18 19:09:31 -07:00
Nikita Smith
e27831902e
note
2025-08-18 19:09:31 -07:00
Nikita Smith
c53b8d43d0
assign symbol indices before serializing symbols so forward-references
...
are possible
2025-08-18 19:09:31 -07:00
Nikita Smith
2b02f5cec6
lifetime fixes
...
- fully serialize the lib because we cannot guarantee that its members
will have the same lifetime as the serialized lib
- put import stub symbols on the symbol table arena
2025-08-10 21:35:33 -07:00
Nikita Smith
7466da1479
mark referenced symbols as live for unresolved-symbol detection
2025-08-08 15:54:21 -07:00
Nikita Smith
c1958809eb
make use of undocumented anti-dependency search property on weak symbols
...
to implement alternate name using weak symbols
2025-08-05 08:39:11 -07:00
Nikita Smith
a6b2cf64ba
WIP collect sections associations
2025-07-23 16:09:48 -07:00
Nikita Smith
d32667546d
factor out weak symbol resolution logic and apply it to the symbol table
...
when building link context
2025-07-23 16:09:48 -07:00
Nikita Smith
7769a485ba
more merge fixes
2025-06-25 10:53:25 -07:00
Nikita Smith
a5119e3b51
WIP function pad min
2025-06-25 10:53:24 -07:00
Nikita Smith
ecdee57c60
move helpers to COFF layer
2025-06-25 10:53:24 -07:00
Nikita Smith
69d4e31b15
helper for parsing COFF symbols
2025-06-25 10:53:23 -07:00
Nikita Smith
8fad6da751
add support for associative COMDAT symbols
2025-06-25 10:53:23 -07:00
Nikita Smith
2e531cd70a
refactored special case for image base
2025-06-25 10:53:22 -07:00
Nikita Smith
c0613c2a7e
section align fixes
2025-06-25 10:53:22 -07:00
Nikita Smith
a3bcfe01e1
fix signedness issue
2025-06-25 10:53:22 -07:00
Nikita Smith
671431cfbd
remove unused define
2025-06-25 10:53:22 -07:00
Nikita Smith
c98ae0925f
error check relocations
2025-06-25 10:53:22 -07:00
Nikita Smith
ad069cb854
unknown relocation
2025-06-25 10:53:22 -07:00
Nikita Smith
73fe9d223a
handle /ALTERNATENAME directive
2025-06-25 10:53:22 -07:00
Nikita Smith
71596b2f3e
collapse make API for imports
2025-06-25 10:53:22 -07:00
Nikita Smith
65944f0444
clean up pass over COFF writer
2025-06-25 10:53:22 -07:00
Nikita Smith
34a87e7828
create member symbol only for imports with name
2025-06-25 10:53:22 -07:00
Nikita Smith
f467ff8822
WIP move export and import table make code to appropriate layers
2025-06-25 10:53:22 -07:00
Nikita Smith
69d5010245
WIP switching to creating import table objs
2025-06-25 10:53:22 -07:00
Nikita Smith
1b21d0709f
return symbol for pushed lib member
2025-06-25 10:53:22 -07:00
Nikita Smith
c5164bd490
discard null data nodes
2025-06-25 10:53:22 -07:00
Nikita Smith
3ffd8c19ea
helper for querying machine specific relocation for virtual offset relocation
2025-06-25 10:53:22 -07:00
Nikita Smith
f37f94a2b9
minor fixes
2025-06-25 10:53:22 -07:00
Nikita Smith
35e6b4a9f9
linker directive header fix
2025-06-25 10:53:22 -07:00
Nikita Smith
120829095b
COFF lib writer
2025-06-25 10:53:22 -07:00
Nikita Smith
0f81aae985
extend COFF obj writer with ability to produce linker directive section
2025-06-25 10:53:22 -07:00
Nikita Smith
b0a652b10b
helpers for parsing aux COFF symbols
2025-06-25 10:53:22 -07:00
Nikita Smith
f81bab5a4c
remove special sort postfix case
2025-06-25 10:53:22 -07:00
Nikita Smith
63a374cf54
simplify COFF reloc apply helper
2025-06-25 10:53:22 -07:00
Nikita Smith
e9d5022a55
test section sorter
2025-06-25 10:53:21 -07:00
Nikita Smith
f39397fa78
test cycles made from weak symbols
2025-06-25 10:53:21 -07:00
Nikita Smith
2c6db1b566
update COFF type enum strings
2025-06-25 10:53:21 -07:00
Nikita Smith
c2a0a6f1e1
factored out format specific relocation code to COFF layer
2025-06-25 10:53:21 -07:00
Nikita Smith
b9768be4ed
tester for linkers
2025-06-25 10:53:21 -07:00
Nikita Smith
19a7ada1dc
make export table with COFF obj writer,
...
partially converted import table to COFF obj writer
2025-06-25 10:53:21 -07:00
Nikita Smith
3a2bb318c7
make import lib objs with COFF obj writer
2025-06-25 10:53:21 -07:00
Nikita Smith
c45088b546
replaced dependency on linker's chunking for resource serialization
...
with COFF obj writer
2025-06-25 10:53:21 -07:00
Ryan Fleury
248a155579
checkpoint on dump parseability pass
2025-06-19 16:48:07 -07:00
Ryan Fleury
058c1454e2
eliminate all extra enums files for formats
2025-06-19 07:25:35 -07:00
Ryan Fleury
94b969f203
copyright year
2025-06-02 14:13:57 -07:00
Nikita Smith
8beb168905
went over COFF string table and changed the parser code accept to String8
2025-04-04 15:45:51 -07:00