-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Managed ilasm: comprehensive parity fixes with native ilasm #127297
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
jkoritzinsky
wants to merge
61
commits into
dotnet:main
Choose a base branch
from
jkoritzinsky:ilasm-fixups
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 57 commits
Commits
Show all changes
61 commits
Select commit
Hold shift + click to select a range
e5bcdd6
Fix managed ilasm version defaults and module name fallback
jkoritzinsky d533ff9
Fix .module directive parsing order in ANTLR grammar
jkoritzinsky eb960b6
Fix managed ilasm parser for hex byte blobs, native int, unsigned, ar…
jkoritzinsky 37c01cf
Add native ilasm-style flag aliases (-DLL, -DET, -OUTPUT=, etc.)
jkoritzinsky fc76cc8
Fix HEXBYTE token conflicts, prefix opcodes, array bounds, volatile f…
jkoritzinsky 0aabe82
Fix semantic failures: named locals/args, string escapes, floats, swi…
jkoritzinsky df0c9f9
Fix 'il' impl attr, endfault instruction, ldc.i4.M1, and ? in identif…
jkoritzinsky 4df5415
Fix preprocessor #define macro expansion to re-lex multi-token values
jkoritzinsky 4edb58d
Support forward type references and fix ildasm crash known issues
jkoritzinsky c2eb3a9
Fix metadata emission: MethodImpl, method body headers, EventMap/Prop…
jkoritzinsky 1fad533
Fix semantic failures: enum cast, float literals, param type, propert…
jkoritzinsky bf9b027
Fix custom attribute array blob encoding index
jkoritzinsky 84d8be3
Fix remaining edge cases: vararg, negative ints, wchar, abstract warning
jkoritzinsky e30e8e6
Fix GenericParam sorting and method body error recovery
jkoritzinsky f6b8c55
Fix forward-referenced type generic params, NullRef, switch(), hex, d…
jkoritzinsky 9eacd99
Fix array bounds parsing by requiring fractional digits in FLOAT64
jkoritzinsky bafede8
Two-pass generic param parsing, refany, Int64.MinValue, 128-bit hex
jkoritzinsky e750e29
Fix last 4 single-file failures: switch(), 65K params, resource ref
jkoritzinsky 75618a7
Report error diagnostic for generic parameter count exceeding limit. …
jkoritzinsky 361e564
Update test name
jkoritzinsky 95400e4
Multi-document compilation with preprocessor state transfer
jkoritzinsky 6d71813
Use collection expressions
jkoritzinsky e321125
Fix empty document parsing and eventAttr Aggregate on empty sequence
jkoritzinsky a1a9390
Fix duplicate locals, SQSTRING id quotes, and empty eventAttr
jkoritzinsky 6f1fd47
Remove multi-file #define known issue (fixed)
jkoritzinsky 1fb7d6c
Fix class visibility, hexbyte encoding, SQSTRING quoting, classAttr h…
jkoritzinsky bac255c
Fix rtspecialname on methods/fields, interface implicit base type
jkoritzinsky 7e0e452
Fix custom attr on methods, type name dot prefix, mscorlib version
jkoritzinsky 6225b70
Fix namespace leading dot, [in] param emission, field/extends cascading
jkoritzinsky 20b7955
Resolve MemberReferences to local MethodDef and FieldDef tokens
jkoritzinsky 12cd3ba
Fix vararg MemberRef parameter count and parent resolution
jkoritzinsky 337347d
Fix field constants, stackreserve, param naming, and specialname
jkoritzinsky 3a5c678
Fix pinvoke, leading-dot names, and NameHelpers splitting
jkoritzinsky e64b3d8
Use primitive type codes for well-known corelib types in signatures
jkoritzinsky db1fe42
Add ANTLR parser error listener for diagnostic reporting
jkoritzinsky 06cb46a
Fix grammar rules to eliminate parser diagnostics
jkoritzinsky 0b518b7
Redirect corelib TypeRefs and resolve unqualified well-known types
jkoritzinsky 62f91f1
Fix custom attribute emission on types and blob prolog size
jkoritzinsky 6156615
Fix custom attributes at top-level decl scope
jkoritzinsky 6dc1576
Auto-add instance, specialname, and param names for compat
jkoritzinsky 788a9be
Set HasFieldRVA flag and add FieldRVA test
jkoritzinsky 48521b5
Fix FieldRVA flag, top-level custom attr owner, and identify ildasm c…
jkoritzinsky 197cb92
Fix GenericParamConstraint sorting and defer DebuggableAttribute
jkoritzinsky 63e5984
Fix security attribute blob type name and ildasm crash
jkoritzinsky 9312103
Fix array shape encoding in multi-dimensional array signatures
jkoritzinsky 9f43266
Fix function pointer syntax failures by writing to a separate blob (a…
jkoritzinsky 381f151
Fix assigning generic parameters/generic parameter constraints the co…
jkoritzinsky 5d9f82d
Resolve TypeRef to TypeDef for local types in managed ilasm
jkoritzinsky 3f62c3f
Fix modopt/modreq signature rewriting and ClassLayout emission
jkoritzinsky 02b98f1
Add TypeRef IL token backpatching and tests
jkoritzinsky 02e1c20
Fix IL body corruption at BlobBuilder chunk boundary
jkoritzinsky 7046fb4
Fix GetArrayType to emit ELEMENT_TYPE_ARRAY prefix in signature rewriter
jkoritzinsky 9a3f2fb
Build locals standalone signature from parsed .locals declarations
jkoritzinsky defe488
Defer exception region registration to emission for TypeRef resolution
jkoritzinsky f2c9257
Address PR feedback: fix generated paths, span length, NamedElementLi…
jkoritzinsky b6e398f
Address PR feedback: fallback body headers, hexbyte validation, macro…
jkoritzinsky f2f52be
Fix custom attributes on properties and events being silently dropped
jkoritzinsky 232fc75
Address Copilot review: MethodSpec header, array shape, CLI aliases, …
jkoritzinsky d7d2115
Align FieldMarshal row emission with HasFieldMarshal flag condition
jkoritzinsky 880609b
Update src/tools/ilasm/src/ILAssembler/DocumentCompiler.cs
jkoritzinsky ce5bf8b
Merge branch 'main' into ilasm-fixups
agocke File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| # Managed IL Assembler - Known Issues | ||
|
|
||
| ## TLS RVA statics | ||
|
|
||
| Thread-local storage (TLS) RVA static fields (`.data tls`) are not | ||
| supported by the managed ilasm. The native ilasm emits a TLS directory | ||
| entry in the PE header for these, which the managed ilasm's PE builder | ||
| does not currently implement. | ||
|
|
||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.