[compiler-rt] [tsan] Allow unloading of ignored libraries (PR #105660)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 28 02:19:46 PDT 2024
================
@@ -54,24 +54,51 @@ class LibIgnore {
char *name;
char *real_name; // target of symlink
bool loaded;
+ uptr ignored_code_range_id;
};
struct LibCodeRange {
uptr begin;
uptr end;
};
+ // Marks a range as loaded by utilizing the least significant bit of the code
+ // range. Assumes the start of the code range is 2-byte aligned.
+ struct LibLoadedCodeRange {
+ uptr begin() const { return begin_ << 1; }
+ void begin(uptr begin) {
+ CHECK_EQ(begin & 0x1, 0);
+ begin_ = begin >> 1;
+ }
+
+ private:
+ uptr begin_ : 63;
+
+ public:
+ uptr loaded : 1;
----------------
goussepi wrote:
Sounds good, I thought we might even get away with just setting `end = 0`, WDYT?
https://github.com/llvm/llvm-project/pull/105660
More information about the llvm-commits
mailing list