Commit Graph

70 Commits

Author SHA1 Message Date
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
be11e8215d Bug 816494 part 3 - Allocate Elf instance on stack in do_file(). r=nfroyd 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
dbc8938217 Bug 816494 part 1 - When inserting a section before or after another, also insert it in the segments containing that other. r=nfroyd 2012-12-10 10:33:08 +01:00
Mike Hommey
89d385a324 Bug 716295 part 6 - Create elfhack tests for both DT_INIT and DT_INIT_ARRAY. r=nfroyd 2012-08-09 16:34:26 +02:00
Mike Hommey
5c651e0b18 Bug 716295 part 5 - Add support for R_ARM_THM_CALL relocations. r=nfroyd 2012-08-09 16:34:25 +02: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
9ddf9f3b12 Bug 716295 part 3 - Add serialization into a buffer instead of an ostream. r=nfroyd 2012-08-09 16:34:25 +02:00
Mike Hommey
6513110470 Bug 716295 part 2 - Fix assertion in serializable::init and cleanup serializable constructor. r=nfroyd 2012-08-09 16:34:24 +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
Mike Hommey
ab23ebf01d Bug 703843 - Use mkdir_deps instead of order-only prerequisite in build/unix/elfhack/Makefile.in. r=ted 2012-08-09 16:34:24 +02:00
Mike Hommey
70d7c821af Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 20:26:44 +02:00
Mike Hommey
e4d7f4f494 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
5f2ce2ac09 Backout 61038a15b7b7 (bug 771569) for elfhack errors 2012-07-09 15:14:18 +01:00
Mike Hommey
89201fad24 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
82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Mike Hommey
4d48cbfae9 Bug 748739 - Link stdc++compat as a static library, and always link it when STDCXX_COMPAT is enabled. r=ted
--HG--
rename : build/stdc++compat.cpp => build/unix/stdc++compat/stdc++compat.cpp
2012-04-30 08:03:59 +02:00
Mike Hommey
22a17631ae Bug 734237 - Make elfhack skip ELF files that aren't shared objects. r=tglek 2012-03-13 09:47:03 +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
ad6774938a Bug 681588 - Cleanup wrap malloc and its use on Android. r=ted 2011-08-29 19:21:22 +02:00
Mike Hommey
b71e19cd3c Bug 676252 part 2 - Use a different object file extension for the first PGO build pass with GCC. r=ted 2011-08-29 07:34:12 +02:00
Mike Hommey
c990a7f3c3 Backed out changeset 480f913edf3f (bug 676252) because of build failure 2011-08-29 08:31:58 +02:00
Mike Hommey
7ad004360f Bug 676252 part 2 - Use a different object file extension for the first PGO build pass with GCC. r=ted 2011-08-29 07:34:12 +02:00
Mike Hommey
73e9c2d6c7 Bug 676252 part 1 - Don't use $(OBJ_SUFFIX) before including config.mk. r=ted 2011-08-29 07:34:02 +02:00
Rafael Ávila de Espíndola
4bb438a0cd 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
eb55ddf4c9 Bug 675898 - Test what we can test of elfhack when cross-building. r=ted 2011-08-09 09:05:49 +02:00
Mike Hommey
a827925ebe Bug 674888 - Allow elfhack to move .interp sections. r=tglek 2011-08-03 10:28:47 +02:00
Mike Hommey
449736886b Bug 674467 - Keep test.so around when elfhack test fails. r=ted 2011-07-28 09:05:15 +02:00
Mike Hommey
9726993d7f 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
0572c10e07 Bug 537857 part 2 - Avoid --gc-sections removing anything from elfhack test case. r=tglek 2011-06-28 08:25:48 +02:00
Mike Hommey
d79c335448 Bug 651892 part 3 - Remove __cxa_pure_virtual relocations. r=tglek 2011-06-23 04:08:03 +02:00
Mike Hommey
5d694d2527 Bug 651892 part 2 - Add a constructor to serializable that takes a buffer instead of an istream. r=tglek 2011-06-23 04:07:57 +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
9a38106463 Bug 664367 - Pass LDFLAGS when linking elfhack's test.so. r=khuey 2011-06-15 08:54:45 +02:00
Mike Hommey
c1bf962ba5 Bug 661800 - Avoid elfhack considering non SHF_TLS sections as part of PT_TLS segment. r=tglek 2011-06-07 08:26:17 +02:00
Mike Hommey
3b605d5000 Bug 661800 part 0 - Add a dependency of host_elf*.o upon elfxx.h, to circumvent bug 664362. r=ted 2011-06-16 06:28:59 +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
b7d8bff6f5 Bug 657396 - Move LDFLAGS after other flags when building elfhack test case. r=ted 2011-05-17 09:34:20 +02:00
Mike Hommey
6de32c8fa9 Bug 643690 part 1 - Avoid requiring libstdc++ symbol versions > GLIBCXX_3.4.8 (gcc > 4.1). r=ted,r=tglek 2011-04-15 11:03:17 +02:00
Mike Hommey
280bca9939 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
15a3c672da Bug 635966 - Avoid elfhack failure with llvm. r=khuey,a=shaver 2011-02-23 10:06:26 +01:00
Mike Hommey
c4db75fea9 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
a38404af0e 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
6cf32f9e51 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
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
45d53e96e2 Bug 629635 part 2 - Don't allow elfhack to move the .dynamic section. 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
6f896b3362 Bug 629639 - Build elfhack injected code without stack protection. r=khuey a=bsmedberg 2011-02-03 00:15:20 +01:00