Commit Graph

37 Commits

Author SHA1 Message Date
Mike Hommey
b218c7ae91 Bug 982014 - Fix what sections are copied from injection object after bug 932737. r=nfroyd 2014-04-04 14:56:36 +09:00
Mike Hommey
eb31d1db37 Bug 940250 - Fix elfhack -r after bug 822584. r=nfroyd 2013-11-21 17:27:30 +09:00
Birunthan Mohanathas
c3c0be5691 Bug 784739 - Switch from NULL to nullptr in build/; r=ehsan 2013-11-11 14:13:38 -05:00
Mike Hommey
cb01e14b48 Bug 932737 - Change elfhack such that it doesn't require two injection objects. r=nfroyd 2013-11-02 08:47:24 +09:00
Mike Hommey
a92de2ca33 Bug 898998 - Turn BL into BLX when doing thumb call relocations and the target is ARM. r=nfroyd 2013-07-30 08:57:28 +09:00
Mike Hommey
86aa4f1773 Bug 892366 - Support R_ARM_CALL relocations in elfhack. r=nfroyd 2013-07-23 07:26:06 +09:00
Mike Hommey
08e7b0b9b7 Bug 892366 - Support R_ARM_JUMP24 relocations in elfhack. r=nfroyd 2013-07-12 09:14:20 +09:00
Mike Hommey
51f42ab769 Bug 851002 - Adjust Elf headers before adding filler segment in elfhack. r=nfroyd 2013-03-17 08:03:06 +01:00
Mike Hommey
943edeb1af 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
7c56034a36 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
8b12e9c04c Bug 816494 part 3 - Allocate Elf instance on stack in do_file(). r=nfroyd 2012-12-10 10:33:08 +01:00
Mike Hommey
082d88f5c0 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
f95e39436b Bug 716295 part 5 - Add support for R_ARM_THM_CALL relocations. r=nfroyd 2012-08-09 16:34:25 +02:00
Mike Hommey
aa4e4df82a 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
7d483a00eb Bug 716295 part 1 - Fail more gracefully when .dynamic section can't be grown. r=nfroyd 2012-08-09 16:34:24 +02:00
Mike Hommey
b91135d7e4 Bug 771569 - Move elfhack sections before .rel{,a}.dyn to work around glibc 2.16 bug. r=nfroyd 2012-07-09 17:53:35 +02:00
Ed Morley
2e9d9c9c59 Backout 61038a15b7b7 (bug 771569) for elfhack errors 2012-07-09 15:14:18 +01:00
Mike Hommey
288e7d9c60 Bug 771569 - Move elfhack sections before .rel{,a}.dyn to work around glibc 2.16 bug. r=nfroyd 2012-07-09 15:47:24 +02:00
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Mike Hommey
558f594ea4 Bug 734237 - Make elfhack skip ELF files that aren't shared objects. r=tglek 2012-03-13 09:47:03 +01:00
Mike Hommey
21a0f2d6a4 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
Rafael Ávila de Espíndola
f11fc0eea5 Bug 678008 - Fix elfhack build in c++0x mode. r=mh+mozilla
In c++0x it is not valid to use a negative number in a unsigned
position in an initializer list. Add explicit casts and change
the size method to return an unsigned int.
2011-08-17 10:12:46 -04:00
Mike Hommey
39c56ade70 Bug 671188 - Don't fail on R_*_NONE relocations with an empty r_offset. r=tglek 2011-07-15 10:15:28 +02:00
Mike Hommey
9053e919c2 Bug 651892 part 3 - Remove __cxa_pure_virtual relocations. r=tglek 2011-06-23 04:08:03 +02:00
Mike Hommey
d0d08e1e9d 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
d210dad39a Bug 637341 - Don't try to do anything on binaries that have already been elfhacked. r=tglek 2011-03-14 14:41:41 +01:00
Mike Hommey
678159caab Bug 632920 part 2 - Add support for R_ARM_THM_JUMP24 relocation in elfhack. r=tglek,a=bsmedberg 2011-02-16 17:27:35 +01:00
Mike Hommey
a41020f9a3 Bug 632920 part 1 - Refactor relocations application to avoid error-prone duplication of code in elfhack. r=tglek,a=bsmedberg 2011-02-16 17:25:51 +01:00
Mike Hommey
b5d55531a2 Bug 629635 part 5 - Gracefully abort elfhack when injected code+data is bigger than original relocation section. r=tglek,a=blocking2.0:final 2011-02-12 10:28:34 +01:00
Mike Hommey
1af1ff2225 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
05a7564b8a 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
1c1302302d Bug 628232 part 1 - Use the init symbol from elfhack injected code as an entry point instead of hardcoding 0. r=tglek,a=sdwilsh 2011-01-28 09:22:58 +01:00
Mike Hommey
76a85c56b6 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
75f3f59209 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
a1a52c7d80 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
ca497357a4 Bug 628283 - Make elfhack handle GNU_RELRO segments better. r=tglek,a=dbaron 2011-01-24 23:11:46 +01:00
Mike Hommey
4ca328c3c5 Bug 606145 part 2 - Import elfhack code. r=tglek,a=bsmedberg 2011-01-24 09:56:40 +01:00