mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-01-17 23:34:07 +00:00
community/xulrunner to 41.0.2-4
This commit is contained in:
parent
34ecd89d09
commit
b36a9b81a6
2 changed files with 55 additions and 1 deletions
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue