summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/ELF/ArrayOrderPass.h
diff options
context:
space:
mode:
authorMichael J. Spencer <bigcheesegs@gmail.com>2013-10-25 23:59:06 +0000
committerMichael J. Spencer <bigcheesegs@gmail.com>2013-10-25 23:59:06 +0000
commit707f591fa09417d4dc58eaae14132b09e810e6d7 (patch)
treea65449d11795e3bb01f236c5be03ca551b471350 /lld/lib/ReaderWriter/ELF/ArrayOrderPass.h
parent553fad5c9ab69172dbf5b0b3d927eccd0ead8924 (diff)
downloadbcm5719-llvm-707f591fa09417d4dc58eaae14132b09e810e6d7.tar.gz
bcm5719-llvm-707f591fa09417d4dc58eaae14132b09e810e6d7.zip
[ELF] Implement .{init,fini}_array ordering.
llvm-svn: 193451
Diffstat (limited to 'lld/lib/ReaderWriter/ELF/ArrayOrderPass.h')
-rw-r--r--lld/lib/ReaderWriter/ELF/ArrayOrderPass.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/lld/lib/ReaderWriter/ELF/ArrayOrderPass.h b/lld/lib/ReaderWriter/ELF/ArrayOrderPass.h
new file mode 100644
index 00000000000..8d40c44fc88
--- /dev/null
+++ b/lld/lib/ReaderWriter/ELF/ArrayOrderPass.h
@@ -0,0 +1,26 @@
+//===- lib/ReaderWriter/ELF/ArrayOrderPass.h ------------------------------===//
+//
+// The LLVM Linker
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLD_READER_WRITER_ELF_ARRAY_ORDER_PASS_H
+#define LLD_READER_WRITER_ELF_ARRAY_ORDER_PASS_H
+
+#include "lld/Core/Pass.h"
+
+namespace lld {
+namespace elf {
+/// \brief This pass sorts atoms in .{init,fini}_array.<priority> sections.
+class ArrayOrderPass : public Pass {
+public:
+ ArrayOrderPass() : Pass() {}
+ virtual void perform(MutableFile &mergedFile) LLVM_OVERRIDE;
+};
+}
+}
+
+#endif
OpenPOWER on IntegriCloud