diff --git a/eng/illink.targets b/eng/illink.targets
index fc38a10979f854..7914b6cfaba832 100644
--- a/eng/illink.targets
+++ b/eng/illink.targets
@@ -41,6 +41,7 @@
$(IntermediateOutputPath)ILLink.Descriptors.xml
$(IntermediateOutputPath)ILLink.Substitutions.xml
+ $(IntermediateOutputPath)ILLink.LinkAttributes.xml
true
@@ -51,9 +52,9 @@
-
+ -->
$(ArtifactsBinDir)ILLinkTrimAssembly/$(BuildSettings)/trimmed
@@ -70,7 +71,7 @@
+ DependsOnTargets="_CombineILLinkDescriptorsXmls;_CombineILLinkSubstitutionsXmls;_CombineILLinkLinkAttributesXmls">
@@ -84,6 +85,12 @@
+
+
+ ILLink.LinkAttributes.xml
+
+
+
@@ -111,11 +118,11 @@
-
+
-
@@ -152,7 +159,23 @@
-
+
+ $(ILLinkLinkAttributesXmlIntermediatePath)
+
+
+
+
+
+
+
+
+
+
@@ -186,6 +209,9 @@
$(ILLinkArgs) -x "$(ILLinkTrimXmlLibraryBuild)"
$(ILLinkArgs) --strip-substitutions false
+
+
+ $(ILLinkArgs) --strip-link-attributes false --ignore-link-attributes true
$(ILLinkArgs) --skip-unresolved true
@@ -235,7 +261,7 @@
<_DotNetHostFileName>dotnet
<_DotNetHostFileName Condition=" '$(OS)' == 'Windows_NT' ">dotnet.exe
-
+
-
-
-
diff --git a/src/mono/netcore/System.Private.CoreLib/System.Private.CoreLib.csproj b/src/mono/netcore/System.Private.CoreLib/System.Private.CoreLib.csproj
index 2eb2ec324e1f13..8b2acf2ac74f45 100644
--- a/src/mono/netcore/System.Private.CoreLib/System.Private.CoreLib.csproj
+++ b/src/mono/netcore/System.Private.CoreLib/System.Private.CoreLib.csproj
@@ -152,6 +152,9 @@
+
+
diff --git a/src/mono/netcore/System.Private.CoreLib/src/ILLink/ILLink.LinkAttributes.wasm.xml b/src/mono/netcore/System.Private.CoreLib/src/ILLink/ILLink.LinkAttributes.wasm.xml
new file mode 100644
index 00000000000000..78fc3756bf0e41
--- /dev/null
+++ b/src/mono/netcore/System.Private.CoreLib/src/ILLink/ILLink.LinkAttributes.wasm.xml
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+