-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
Update LLVM RTDYLD patch to upstreamed version
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
LLVM_VER = 11.0.0 | ||
LLVM_BB_REL = 3 | ||
LLVM_BB_REL = 5 | ||
PCRE_VER = 10.31 | ||
PCRE_BB_REL = 0 | ||
DSFMT_VER = 2.2.3 | ||
|
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
e47d395b7df3b429123ef29a03a75084 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
54b2fc82135c968e69b5e98b1caefd7b09fa43ae22d94dc7c94e71155cff77a48feab8259e0a0dbeea0145f91bc88f98d76479a28ce5c5ee505db8a98595fe3f |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
d9aad3a069190fb2eea6d16ff5ab2e5f |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
0092862a6fc02088611f81d91588a4d88152f2b8d10b2a6795a695021d3c68bc868a1be78b63bfc69129802335207f154e714c06882de9b81dbc773a0b992826 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
37e9fb1d363e685b6ee46078f90ca63c |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
d05d3ab83117165c30589673a4bf968ef24cfdd3a496f6fc246bf4423a484fd9dd8e2d698c5b081f010c9a8c02fd46def11621179309935affce9e56362c34ff |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
15347b9a4e1d48fda60591bf365b8ab9 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
cf23bb197e37acf18dab219cbc3274ef352fb4e347365bb3514efaf9e4ef3764c2fbb1a9a25282ee975cbab099643786041ce56f0a5bb5b8a2e43b3786619022 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
a4b6d218dcabe2ce89cb016d9319f4cc |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
90529f9e587f9d153a4e4b6b5a35c6697a8d93790c52caa756c80ad38c727a273dd2bf11fbb912ef58d008a5268864b2adade41714c8401351ce2d28f6a5e7aa |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
d77f8dfaf3dc316ef370014246313fd8 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
c0e312a1d9efa00c47cd5a8c435339522b442ae390c85e11ef9717f8a9772ed3e725cd2e3a9e34ea7aec87f3d0519c58af47d7ba90a7f1d9f7eed5b23bef0730 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
02e8fe9534b3880e7849545177d5d3c4 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
8f10e9398257787ba6d4dd38cd8e2cd82fe24602f6014ebea7db1e154b6ef6cd4db7a3c5721be77f7166533752765a5c3a41563c5b43f20dca8489285aaa4ace |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
db9428fdd512017e253e3200df867ebb |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
88a8ac734600d59595cfe52622fb98ae1a67939a3c9ee470353e67f59de94c1dd0b6a621675ca4f99b9db8ee3162426c804fc8ddd66f39b957e4bbb6cebe44ba |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
a9614fb37bba83987c683d8a7f28c848 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
ee420be390f9621284db837f30b11146c07348661fb9313d3b83d46897847e3a51585338bd8a9eddf2d75b38cdd4ce8cc4e443fd78f660282ee4461e9fcd6ad1 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
a8ce1ccf2c87eca4924b5cecfcf09274 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
8e36586a8138a3adf9d4cb69d491e0b85372d17d904403c27a171d7c51fcbebdf6d47c360e084fa0e4136b0883b8fa8c9dbcbebbe6e53223672b0c6c755496f6 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
ba68cffe1045d34a3ca4638df10bebb9 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
c40a05a020e1beeb00f835f419eb6debf8b01195082a1cf047a31eaab71a0da411ea54f031d3e93b8c73ab84c7e152190fcbb605a0794a7908622c53d3e73379 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
ca72487161e5941d7ae7c49b95720e07 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
296f97a9f374967f6425a93cc0886dc111c9e600f8eb652a26b4bde6c9d5a901cb24121d30d93d3f5d69447089d1c75e1919fbd097f03b38ebb6434841285617 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
cd950402812dcab6dff6adc78779c73b |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
fe7fea3c889d273d4ff458cea4a03df001fe88a09a7a849c2b35ee17bbec44c10c70ae1632d02a03b1676c932a9b820a29e65fa8d978b3fec84fb33d8386bb47 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
a6e83182e0c019379e2a3102bdc70a45 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
7f8925d4bb9e7b2dc70b90f01e7e7a7f20b2f59f68ec3a1c47ac1f1c927848fc93f2c55a2cd4dfed75f7b235a488b342c0399924e69ff826efea3eca2fda4815 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
e2ed6aceb500d4b48faeb1c853afadb9 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
27357b122823569d4fae7c6e40569acdd7ef382778955ca30ff536e865c7f74bf447c433918d86d4a88ad417a02589ce48f01760ac073a3e9610bd11dcdcf6e8 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
5e232655bcb4ab8e332ef2ca382a02b3 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
d63021b18cb0d0b3779e3d77de36fca7b7e34509a0321fc0387a7f30004915dee0fa2b7de33a6c75916d05e45fdb716e17706e3e0fedcdb3928b3be3db55a0b3 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
d764d63698ca65ced383eb30c0382574 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
adc4e3d53a31b55b3e5897a8ad08d57f30b5df5ab462849fb1fd38c629c7eee72009510ca44d1277335f1e2304fe33339ab0d75dd92a22f51183d44d5546d5cf |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
d764d63698ca65ced383eb30c0382574 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
adc4e3d53a31b55b3e5897a8ad08d57f30b5df5ab462849fb1fd38c629c7eee72009510ca44d1277335f1e2304fe33339ab0d75dd92a22f51183d44d5546d5cf |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
31bd488edb7bd94111f2add781f59e1c |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
b8ba95b76cfde914190c98f13075dc18c553c3403ba9a81ab7f19df6de0c3dcca77c75bb8444669f0f375f7a20fa300d770091701ab60a31daf415512ed29bda |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
0f5526a957db960498c34e12662b9c25 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
ad9f7768d615478807b4e08656ecd400643be7466e5b0dbe060d3f81e9e8ffc8d9c7aa5bbffce8fbec2c53c04fa7697e5d4fc5394c63d40e0bafcadc0b109b4a |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
46db5c876115fb70a62d8e8da89e090d |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
cec5e4f300cc317055f21902b3534151ef980a4ef2be2d7bf0d6d08c7418a08ecf706c1a5e468fbd80f744ce162a884693e540635f16a4e60a46d6a1d87fe623 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
a5802e8afe08ec0451a59acdff3a48cf |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
2a1c0b337eac9adb957612df6de8a3734b13b38aa7defab4b2599b00d7b579e6450bf6a43a624aa23eb250488c6ed1926af576ea776ced2ca26f5d76a1b3c170 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
a8863b02826f740a56ad635dc7078c37 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
22234ca7ec1d274c6355d6acaa61807c86951c54f9c33e7939a2878016a15d9b50ddc00b480ec9731fbf7f1c433d8c4a289aa9001f2393e9f0c6a55aa39289f1 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
a8863b02826f740a56ad635dc7078c37 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
22234ca7ec1d274c6355d6acaa61807c86951c54f9c33e7939a2878016a15d9b50ddc00b480ec9731fbf7f1c433d8c4a289aa9001f2393e9f0c6a55aa39289f1 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
4bf59b2296e4fd29230b3e6b8f4742d6 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
50453a33e86218368e817d0a8c7792208b9dc085688bec45721fd888e6ca178a1383f452ca5aed2a75d8ed3a39c2d859f900c47f8bb1e7d3d468b4024ec83bb0 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
eda63dd5caede5a315fa9d1e1c3ff59f |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
e81f0d9ac237b3d087f0ecb499dcd4f845f66747b1b17d734ae6459fc6a58885f1e8fe24179f67ac79db253c67c139eb72146c28f995a8dad54f40a5621d332d |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
From 516f0d1a0ca26ad361bf84ea9e321b247ac7924e Mon Sep 17 00:00:00 2001 | ||
From: Valentin Churavy <[email protected]> | ||
Date: Fri, 6 Nov 2020 14:08:30 -0500 | ||
Subject: [PATCH] [RTDYLD] support absolute relocations where needed | ||
|
||
These appear in some sections, such as DWARF tables, since | ||
RuntimeDyldELF explicitly maps to this as a sentinel value: | ||
https://github.com/llvm/llvm-project/blob/29d1fba7b5335d969e3e5daa84b7a25cd1fa75ef/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp#L1199 | ||
|
||
That could then be a source of problems if it tried to examine these | ||
sections (for example, with either setProcessAllSections(true) or ORCv2 on i686). | ||
|
||
Replaces https://reviews.llvm.org/D89241 | ||
|
||
Reviewed By: lhames, vchuravy | ||
|
||
Differential Revision: https://reviews.llvm.org/D90722 | ||
--- | ||
.../RuntimeDyld/RuntimeDyld.cpp | 19 +++++++++++++------ | ||
1 file changed, 13 insertions(+), 6 deletions(-) | ||
|
||
diff --git llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp | ||
index 7e9b0690cce..04f541b5955 100644 | ||
--- llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp | ||
+++ llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp | ||
@@ -308,7 +308,9 @@ RuntimeDyldImpl::loadObjectImpl(const object::ObjectFile &Obj) { | ||
<< " SID: " << SectionID | ||
<< " Offset: " << format("%p", (uintptr_t)Addr) | ||
<< " flags: " << *FlagsOrErr << "\n"); | ||
- GlobalSymbolTable[Name] = SymbolTableEntry(SectionID, Addr, *JITSymFlags); | ||
+ if (!Name.empty()) // Skip absolute symbol relocations. | ||
+ GlobalSymbolTable[Name] = | ||
+ SymbolTableEntry(SectionID, Addr, *JITSymFlags); | ||
} else if (SymType == object::SymbolRef::ST_Function || | ||
SymType == object::SymbolRef::ST_Data || | ||
SymType == object::SymbolRef::ST_Unknown || | ||
@@ -340,8 +342,9 @@ RuntimeDyldImpl::loadObjectImpl(const object::ObjectFile &Obj) { | ||
<< " SID: " << SectionID | ||
<< " Offset: " << format("%p", (uintptr_t)SectOffset) | ||
<< " flags: " << *FlagsOrErr << "\n"); | ||
- GlobalSymbolTable[Name] = | ||
- SymbolTableEntry(SectionID, SectOffset, *JITSymFlags); | ||
+ if (!Name.empty()) // Skip absolute symbol relocations | ||
+ GlobalSymbolTable[Name] = | ||
+ SymbolTableEntry(SectionID, SectOffset, *JITSymFlags); | ||
} | ||
} | ||
|
||
@@ -769,8 +772,9 @@ Error RuntimeDyldImpl::emitCommonSymbols(const ObjectFile &Obj, | ||
|
||
LLVM_DEBUG(dbgs() << "Allocating common symbol " << Name << " address " | ||
<< format("%p", Addr) << "\n"); | ||
- GlobalSymbolTable[Name] = | ||
- SymbolTableEntry(SectionID, Offset, std::move(*JITSymFlags)); | ||
+ if (!Name.empty()) // Skip absolute symbol relocations. | ||
+ GlobalSymbolTable[Name] = | ||
+ SymbolTableEntry(SectionID, Offset, std::move(*JITSymFlags)); | ||
Offset += Size; | ||
Addr += Size; | ||
} | ||
@@ -930,6 +934,8 @@ void RuntimeDyldImpl::addRelocationForSymbol(const RelocationEntry &RE, | ||
if (Loc == GlobalSymbolTable.end()) { | ||
ExternalSymbolRelocations[SymbolName].push_back(RE); | ||
} else { | ||
+ assert(!SymbolName.empty() && | ||
+ "Empty symbol should not be in GlobalSymbolTable"); | ||
// Copy the RE since we want to modify its addend. | ||
RelocationEntry RECopy = RE; | ||
const auto &SymInfo = Loc->second; | ||
@@ -1234,7 +1240,8 @@ void RuntimeDyldImpl::finalizeAsync( | ||
|
||
for (auto &RelocKV : SharedThis->ExternalSymbolRelocations) { | ||
StringRef Name = RelocKV.first(); | ||
- assert(!Name.empty() && "Symbol has no name?"); | ||
+ if (Name.empty()) // Skip absolute symbol relocations. | ||
+ continue; | ||
assert(!SharedThis->GlobalSymbolTable.count(Name) && | ||
"Name already processed. RuntimeDyld instances can not be re-used " | ||
"when finalizing with finalizeAsync."); | ||
-- | ||
2.29.2 |
This file was deleted.