Commit Graph

68 Commits

Author SHA1 Message Date
Mike Hommey
839c07875b Bug 816494 part 3 - Allocate Elf instance on stack in do_file(). r=nfroyd 2012-12-10 10:33:08 +01:00
Mike Hommey
fa48cc05a3 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
56921c1ab9 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
612724ed9b 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
1c4cd1bc80 Bug 716295 part 5 - Add support for R_ARM_THM_CALL relocations. r=nfroyd 2012-08-09 16:34:25 +02:00
Mike Hommey
36ffb343ca 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
a08ff58250 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
c4303b4973 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
1395ca626e 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
6286c820e1 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
c1b35e7b2a Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 20:26:44 +02:00
Mike Hommey
6f6742ee6a 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
d6c92162c0 Backout 61038a15b7b7 (bug 771569) for elfhack errors 2012-07-09 15:14:18 +01:00
Mike Hommey
c6c182204b 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
87620f5676 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Mike Hommey
4c9231de07 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
a6dd5a1d0c Bug 734237 - Make elfhack skip ELF files that aren't shared objects. r=tglek 2012-03-13 09:47:03 +01:00
Mike Hommey
9d3287a8ab 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
910fe37b7c Bug 681588 - Cleanup wrap malloc and its use on Android. r=ted 2011-08-29 19:21:22 +02:00
Mike Hommey
394b75114c 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
7fc6b6d52b Backed out changeset 480f913edf3f (bug 676252) because of build failure 2011-08-29 08:31:58 +02:00
Mike Hommey
5a8b4a9df8 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
60b73b4219 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
741eacee7a 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
9489006cda Bug 675898 - Test what we can test of elfhack when cross-building. r=ted 2011-08-09 09:05:49 +02:00
Mike Hommey
a20e153d7b Bug 674888 - Allow elfhack to move .interp sections. r=tglek 2011-08-03 10:28:47 +02:00
Mike Hommey
fd1b14508e Bug 674467 - Keep test.so around when elfhack test fails. r=ted 2011-07-28 09:05:15 +02:00
Mike Hommey
c8d8da9ffd 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
104f039d49 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
7356e15a3b Bug 651892 part 3 - Remove __cxa_pure_virtual relocations. r=tglek 2011-06-23 04:08:03 +02:00
Mike Hommey
745c034862 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
67da11fe96 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
b4e213b6c3 Bug 664367 - Pass LDFLAGS when linking elfhack's test.so. r=khuey 2011-06-15 08:54:45 +02:00
Mike Hommey
cd6f6142bf 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
f57afc91de 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
7a642d7c07 Bug 649965 - Remove inlines on Elf_*::swap functions. r=tglek 2011-06-03 01:21:07 +02:00
Mike Hommey
8f2127c0fd Bug 657396 - Move LDFLAGS after other flags when building elfhack test case. r=ted 2011-05-17 09:34:20 +02:00
Mike Hommey
f2e0cbff28 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
868fcd03ab 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
6b2bd8ac5a Bug 635966 - Avoid elfhack failure with llvm. r=khuey,a=shaver 2011-02-23 10:06:26 +01:00
Mike Hommey
54eba416f4 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
1d6efc259c 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
4bd909605b 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
ea18252b06 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
bec61c100c 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
4ee581abeb 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
e518400cac 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
6da9426048 Bug 629639 - Build elfhack injected code without stack protection. r=khuey a=bsmedberg 2011-02-03 00:15:20 +01:00
Mike Hommey
bc8718a241 Bug 629638 - Build elfhack injected code with a limited set of CFLAGS. r=khuey a=bsmedberg 2011-02-03 00:14:43 +01:00
Makoto Kato
352aaf6c99 Bug 628606 - elfhack causes bustage since ARM target may not return arm. r=glandium,a=sdwilsh 2011-01-28 09:22:59 +01:00