diff options
Diffstat (limited to '2015_spectre_variant2_bug1542958.patch')
-rw-r--r-- | 2015_spectre_variant2_bug1542958.patch | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/2015_spectre_variant2_bug1542958.patch b/2015_spectre_variant2_bug1542958.patch deleted file mode 100644 index 5a3a97c42578..000000000000 --- a/2015_spectre_variant2_bug1542958.patch +++ /dev/null @@ -1,32 +0,0 @@ -# HG changeset patch -# Parent f5febee8d7dc9cf6ba776d6a8550f87eb343f998 -Bug 1542958 - fix code section adjustments in elfhack; r=glandium - -We were never adjusting `last` in this loop, so we were computing the -wrong addresses for all sections beyond the first. Which in turn meant -that we would compute the wrong size for the section data we needed to -allocate. - -Differential Revision: https://phabricator.services.mozilla.com/D28195 - -diff --git a/build/unix/elfhack/elfhack.cpp b/build/unix/elfhack/elfhack.cpp ---- a/build/unix/elfhack/elfhack.cpp -+++ b/build/unix/elfhack/elfhack.cpp -@@ -172,16 +172,17 @@ class ElfRelHackCode_Section : public El - unsigned int addr = last->getShdr().sh_addr + last->getSize(); - if (addr & ((*c)->getAddrAlign() - 1)) - addr = (addr | ((*c)->getAddrAlign() - 1)) + 1; - (*c)->getShdr().sh_addr = addr; - // We need to align this section depending on the greater - // alignment required by code sections. - if (shdr.sh_addralign < (*c)->getAddrAlign()) - shdr.sh_addralign = (*c)->getAddrAlign(); -+ last = *c; - } - shdr.sh_size = code.back()->getAddr() + code.back()->getSize(); - data = static_cast<char *>(malloc(shdr.sh_size)); - if (!data) { - throw std::runtime_error("Could not malloc ElfSection data"); - } - char *buf = data; - for (c = code.begin(); c != code.end(); ++c) { |