Disable an assert in patchelf
This commit is contained in:
parent
139d056a36
commit
0aec8413c8
|
@ -86,8 +86,11 @@ in nullPkgs // {
|
||||||
|
|
||||||
erisPatchHook = final.callPackage ./eris-patch-hook {
|
erisPatchHook = final.callPackage ./eris-patch-hook {
|
||||||
patchelf = prev.patchelf.overrideAttrs (attrs: {
|
patchelf = prev.patchelf.overrideAttrs (attrs: {
|
||||||
patches = attrs.patched or [ ]
|
patches = attrs.patched or [ ] ++ [
|
||||||
++ [ ./patchelf/dynstr.patch ./patchelf/shiftFile.patch ];
|
./patchelf/dynstr.patch
|
||||||
|
./patchelf/shiftFile.patch
|
||||||
|
./patchelf/disable-assert.patch
|
||||||
|
];
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -164,8 +164,11 @@ while pendingFiles.len != 0:
|
||||||
for path, urn in fileClosure(replacementPath).pairs:
|
for path, urn in fileClosure(replacementPath).pairs:
|
||||||
closure[path] = %urn
|
closure[path] = %urn
|
||||||
if pendingFile.replacements.len != 0:
|
if pendingFile.replacements.len != 0:
|
||||||
|
replaceCmd.add(" 2>&1")
|
||||||
let (msg, exitCode) = execCmdEx(replaceCmd, options = {poUsePath})
|
let (msg, exitCode) = execCmdEx(replaceCmd, options = {poUsePath})
|
||||||
if exitCode != 0:
|
if exitCode != 0:
|
||||||
|
echo "Patchelf failed"
|
||||||
|
echo replaceCmd
|
||||||
echo msg
|
echo msg
|
||||||
quit exitCode
|
quit exitCode
|
||||||
outputManifests[pendingFile.outputRoot][filePath] = %* {
|
outputManifests[pendingFile.outputRoot][filePath] = %* {
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
diff --git a/src/patchelf.cc b/src/patchelf.cc
|
||||||
|
index 0c672e1..d9c2efb 100644
|
||||||
|
--- a/src/patchelf.cc
|
||||||
|
+++ b/src/patchelf.cc
|
||||||
|
@@ -894,7 +894,7 @@ void ElfFile<ElfFileParamNames>::rewriteSectionsExecutable()
|
||||||
|
debug("first reserved offset/addr is 0x%x/0x%llx\n",
|
||||||
|
startOffset, (unsigned long long) startAddr);
|
||||||
|
|
||||||
|
- assert(startAddr % getPageSize() == startOffset % getPageSize());
|
||||||
|
+ //assert(startAddr % getPageSize() == startOffset % getPageSize());
|
||||||
|
Elf_Addr firstPage = startAddr - startOffset;
|
||||||
|
debug("first page is 0x%llx\n", (unsigned long long) firstPage);
|
||||||
|
|
Loading…
Reference in New Issue