community/xulrunner to 41.0.2-4

This commit is contained in:
Kevin Mihelich 2016-04-09 14:24:23 +00:00
parent 34ecd89d09
commit b36a9b81a6
2 changed files with 55 additions and 1 deletions

View file

@ -0,0 +1,49 @@
From 4d0fe8f40364c170226f1ef3bc98975630463e87 Mon Sep 17 00:00:00 2001
From: Mike Hommey <mh+mozilla@glandium.org>
Date: Tue, 19 Jan 2016 14:31:04 +0900
Subject: [PATCH] Bug 1233963 - Work around recent GNU gold behavior with
segments starting before the first section they contain
---
build/unix/elfhack/elf.cpp | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/build/unix/elfhack/elf.cpp b/build/unix/elfhack/elf.cpp
index 666b535..743afde 100644
--- a/build/unix/elfhack/elf.cpp
+++ b/build/unix/elfhack/elf.cpp
@@ -253,26 +253,29 @@ Elf::Elf(std::ifstream &file)
}
if (phdr.p_type == PT_PHDR)
segment->addSection(phdr_section);
for (int j = 1; j < ehdr->e_shnum; j++)
if (phdr.contains(sections[j]))
segment->addSection(sections[j]);
// Make sure that our view of segments corresponds to the original
// ELF file.
- assert(segment->getFileSize() == phdr.p_filesz);
+ // GNU gold likes to start some segments before the first section
+ // they contain. https://sourceware.org/bugzilla/show_bug.cgi?id=19392
+ unsigned int gold_adjustment = segment->getAddr() - phdr.p_vaddr;
+ assert(segment->getFileSize() == phdr.p_filesz - gold_adjustment);
// gold makes TLS segments end on an aligned virtual address, even
// when the underlying section ends before that, while bfd ld
// doesn't. It's fine if we don't keep that alignment.
unsigned int memsize = segment->getMemSize();
if (phdr.p_type == PT_TLS && memsize != phdr.p_memsz) {
unsigned int align = segment->getAlign();
memsize = (memsize + align - 1) & ~(align - 1);
}
- assert(memsize == phdr.p_memsz);
+ assert(memsize == phdr.p_memsz - gold_adjustment);
segments.push_back(segment);
}
new (&eh_entry) ElfLocation(ehdr->e_entry, this);
}
Elf::~Elf()
{
--
2.7.0

View file

@ -12,7 +12,7 @@ highmem=1
pkgname=xulrunner
pkgver=41.0.2
pkgrel=3
pkgrel=4
pkgdesc="Mozilla Runtime Environment"
arch=('i686' 'x86_64')
license=('MPL' 'GPL' 'LGPL')
@ -22,6 +22,7 @@ url="http://wiki.mozilla.org/XUL:Xul_Runner"
source=(https://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/$pkgver/source/xulrunner-$pkgver.source.tar.xz
mozconfig
freetype261.patch
0001-Bug-1233963-Work-around-recent-GNU-gold-behavior-wit.patch
mozilla-pkgconfig.patch
shared-libs.patch)
options=('!emptydirs' 'staticlibs')
@ -29,6 +30,7 @@ replaces=('xulrunner-oss')
sha256sums=('f7abb2e2989779305ab1f80d30caf9fc55d96c7e66d1394e2cc9639442e2b864'
'08e7c8e40ca3ab68f91b18b84a4fbbba00767c88d84c0cfcdd52fe5e36083207'
'3aea9a83bf304da5525f34a911712cf42f8ded1c8b6becf0a2cf8a4b4f7facd6'
'13a27a385fab88938ac7417f1e7ca7225ec6b88840bafe67e0f5642e5446554a'
'1aa9ebe67542a2b8c28905d070829ada5b29438c6a7961f2b0cdd6b92d8b9f5c'
'59d9fc421bc10a5515b73e159f44a72365bf7b7e8b3fc8a8c46043ef40bd3a40')
@ -40,6 +42,9 @@ prepare() {
# https://bugzilla.mozilla.org/show_bug.cgi?id=1194520
patch -Np1 -i ../freetype261.patch
# https://bugzilla.mozilla.org/show_bug.cgi?id=1233963
patch -Np1 -i ../0001-Bug-1233963-Work-around-recent-GNU-gold-behavior-wit.patch
# fix libdir/sdkdir - fedora
patch -Np1 -i ../mozilla-pkgconfig.patch
patch -Np1 -i ../shared-libs.patch