Commit graph

24 commits

Author SHA1 Message Date
Mike Hommey
b54839958c Bug 1378986 - Adjust the fake phdr section properly. r=froydnj
The PT_PHDR segment is optional, but the Android toolchain decides to
create one in some cases, and places it first. When that happens, the
work around for bug 1233963 fails, because the fake phdr section has not
been adjusted yet (it only happens when we see a PT_LOAD).

So we adjust the fake phdr section when we see a PT_PHDR segment (and
avoid re-updating it when we see a subsequent PT_LOAD).

--HG--
extra : rebase_source : 2190ec2f20ba9d144b8828874f9f8d70dd5ad2f6
2017-07-07 18:29:06 +09:00
Mike Hommey
687d9646b3 Bug 1233963 - Work around recent GNU gold behavior with segments starting before the first section they contain. r=froydnj 2016-01-21 13:54:03 +09:00
Birunthan Mohanathas
1bde8d50d8 Bug 784739 - Switch from NULL to nullptr in build/; r=ehsan 2013-11-11 14:13:38 -05:00
Mike Hommey
5f391d02b5 Bug 654087 - Don't error out on gold special treatment of PT_TLS segment memsize. r=nfroyd 2013-01-16 09:15:07 +01:00
Mike Hommey
82eee42d03 Bug 822584 - Workaround in elfhack to accomodate for breakpad not handling the memory mapping induced by the elfhack/bionic linker combination. r=nfroyd 2013-01-02 10:17:32 +01:00
Mike Hommey
943f5b03eb Bug 816494 part 4 - Add a -r option to elfhack that re-merges the split PT_LOADs. r=nfroyd
Sections are positioned accordingly, which means the resulting ELF binary will
have a big gap full of zero between .rel.plt and .plt.
2012-12-10 10:33:08 +01:00
Mike Hommey
f237cd4109 Bug 816494 part 2 - Move the PT_LOAD splitting logic in elfhack.cpp. r=nfroyd
Also, section offsets are not adjusted until the split is done.
2012-12-10 10:33:08 +01:00
Mike Hommey
0ab3403918 Bug 716295 part 4 - Interpose elfhack injected code in DT_INIT_ARRAY's first entry when possible. r=nfroyd 2012-08-09 16:34:25 +02:00
Mike Hommey
62ef24ad74 Bug 716295 part 1 - Fail more gracefully when .dynamic section can't be grown. r=nfroyd 2012-08-09 16:34:24 +02:00
Gervase Markham
82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Mike Hommey
c3d9ce8c6d Bug 725284 - Preserve PT_LOAD alignment, except when it's the default on x86-64. r=tglek 2012-02-21 08:08:41 +01:00
Mike Hommey
a827925ebe Bug 674888 - Allow elfhack to move .interp sections. r=tglek 2011-08-03 10:28:47 +02:00
Mike Hommey
7eff9066a4 Bug 651892 part 1 - Add a helper function to lookup symbols in a ElfSymtab_Section. r=tglek 2011-06-23 04:07:30 +02:00
Mike Hommey
5807380164 Bug 649965 - Remove inlines on Elf_*::swap functions. r=tglek 2011-06-03 01:21:07 +02:00
Mike Hommey
80c3bdea1e Bug 629635 part 4 - Make elfhack keep PT_GNU_RELRO segments as they were originally. r=tglek,a=blocking2.0:final 2011-02-12 10:28:34 +01:00
Mike Hommey
6b2a02f26f Bug 629635 part 3 - Add ElfSegment::getOffset and ElfSegment::getAddr functions. r=tglek,a=blocking2.0:final 2011-02-12 10:28:34 +01:00
Mike Hommey
6ed7532810 Bug 629635 part 1 - Make elfhack fail if different blocks need to be mapped to the same address. r=tglek,a=blocking2.0:final 2011-02-12 10:28:26 +01:00
Mike Hommey
8eb36d7f97 Bug 628988 part 2 - Adapt symbol tables content to elfhack changes. r=tglek,a=sdwilsh 2011-01-28 09:22:58 +01:00
Mike Hommey
4a0181e110 Bug 628627 part 1 - Raise hard errors in some more cases in elfhack. r=tglek,a=sdwilsh 2011-01-28 09:22:58 +01:00
Mike Hommey
b42bea9dc1 Bug 628618 part 6 - Delay refreshing of ElfSection addresses and offsets. r=tglek,a=sdwilsh 2011-01-28 09:22:58 +01:00
Mike Hommey
5aa5d025fd Bug 628618 part 5 - Don't set DT_REL*COUNT if it wasn't already set. r=tglek,a=sdwilsh 2011-01-28 09:22:58 +01:00
Mike Hommey
276396ec0a Bug 628618 part 4 - Initially set an address for the fake phdr ElfSection. r=tglek,a=sdwilsh 2011-01-28 09:22:58 +01:00
Mike Hommey
c886f4609d Bug 628283 - Make elfhack handle GNU_RELRO segments better. r=tglek,a=dbaron 2011-01-24 23:11:46 +01:00
Mike Hommey
82dcf6256c Bug 606145 part 2 - Import elfhack code. r=tglek,a=bsmedberg 2011-01-24 09:56:40 +01:00