adds huge pages support of PIE/no-PIE binaries
authorAlexey Moksyakov <alexey.moksyakov@huawei.com>
Mon, 27 Jun 2022 12:37:53 +0000 (12:37 +0000)
committerAlexey Moksyakov <alexey.moksyakov@huawei.com>
Fri, 4 Nov 2022 12:14:21 +0000 (15:14 +0300)
commit1fb186198af5f183dde053c1396f899567755d64
treea20ac70afab66f278f45a3de37e2269add57a56c
parent7292d051a94032ea9ea56471ad40cc81696cca5b
adds huge pages support of PIE/no-PIE binaries

This patch adds the huge pages support (-hugify) for PIE/no-PIE
binaries. Also returned functionality to support the kernels < 5.10
where there is a problem in a dynamic loader with the alignment of
pages addresses.

Differential Revision: https://reviews.llvm.org/D129107
12 files changed:
bolt/include/bolt/Passes/Hugify.h [new file with mode: 0644]
bolt/include/bolt/RuntimeLibs/HugifyRuntimeLibrary.h
bolt/include/bolt/Utils/CommandLineOpts.h
bolt/lib/Passes/CMakeLists.txt
bolt/lib/Passes/Hugify.cpp [new file with mode: 0644]
bolt/lib/Rewrite/BinaryPassManager.cpp
bolt/lib/Rewrite/RewriteInstance.cpp
bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
bolt/runtime/CMakeLists.txt
bolt/runtime/common.h
bolt/runtime/hugify.cpp
bolt/test/runtime/X86/hugify.c [new file with mode: 0644]