Add explictly exported atoms and export R_*_COPY'ed atoms.
llvm-svn: 194278
diff --git a/lld/lib/ReaderWriter/Native/NativeFileFormat.h b/lld/lib/ReaderWriter/Native/NativeFileFormat.h
index 1dd1551..834cbfc 100644
--- a/lld/lib/ReaderWriter/Native/NativeFileFormat.h
+++ b/lld/lib/ReaderWriter/Native/NativeFileFormat.h
@@ -152,6 +152,7 @@
uint8_t contentType;
uint8_t sectionChoiceAndPosition; // high nibble is choice, low is position
uint8_t deadStrip;
+ uint8_t dynamicExport;
uint8_t permissions;
uint8_t alias;
};
diff --git a/lld/lib/ReaderWriter/Native/ReaderNative.cpp b/lld/lib/ReaderWriter/Native/ReaderNative.cpp
index e614637..d110243 100644
--- a/lld/lib/ReaderWriter/Native/ReaderNative.cpp
+++ b/lld/lib/ReaderWriter/Native/ReaderNative.cpp
@@ -91,6 +91,10 @@
return (DefinedAtom::DeadStripKind)(attributes().deadStrip);
}
+ virtual DynamicExport dynamicExport() const {
+ return (DynamicExport)attributes().dynamicExport;
+ }
+
virtual DefinedAtom::ContentPermissions permissions() const {
return (DefinedAtom::ContentPermissions)(attributes().permissions);
}
diff --git a/lld/lib/ReaderWriter/Native/WriterNative.cpp b/lld/lib/ReaderWriter/Native/WriterNative.cpp
index c0bc28d..06b587b 100644
--- a/lld/lib/ReaderWriter/Native/WriterNative.cpp
+++ b/lld/lib/ReaderWriter/Native/WriterNative.cpp
@@ -444,6 +444,7 @@
attrs.sectionChoiceAndPosition
= atom.sectionChoice() << 4 | atom.sectionPosition();
attrs.deadStrip = atom.deadStrip();
+ attrs.dynamicExport = atom.dynamicExport();
attrs.permissions = atom.permissions();
attrs.alias = atom.isAlias();
}