Commit Graph

113 Commits

Author SHA1 Message Date
Mike Hommey
0e1e04479e 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
9925537642 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
3ef7b273ea 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
e0efe13c1f 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
553791cc9e 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
6173fa297f Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 20:26:44 +02:00
Mike Hommey
63005a540c 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
debd5a7727 Backout 61038a15b7b7 (bug 771569) for elfhack errors 2012-07-09 15:14:18 +01:00
Mike Hommey
9d8fb12142 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
ca171eec44 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Mike Hommey
d278e617c4 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
e166f660d9 Bug 734237 - Make elfhack skip ELF files that aren't shared objects. r=tglek 2012-03-13 09:47:03 +01:00
Mike Hommey
38c3a7a862 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
Mike Hommey
9f4b04451d 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
414430be51 Bug 628988 part 1 - Modify elfhack test so that the executable actively calls something from the library. r=tglek,a=sdwilsh 2011-01-28 09:22:58 +01:00
Mike Hommey
5b2d64d6da Bug 628595 - Avoid compiler warning about C++ style comments in C code in elfhack. r=jag,a-sdwilsh 2011-01-28 09:22:58 +01:00
Mike Hommey
5dbccc7a1e Bug 628593 - Remove -fno-exceptions from CXXFLAGS when building elfhack. r=khuey,a=sdwilsh 2011-01-28 09:22:58 +01:00
Mike Hommey
0ebe63f366 Bug 628232 part 2 - Allow to build elfhack injected code as thumb. r=tglek,a=sdwilsh 2011-01-28 09:22:58 +01:00
Mike Hommey
3518aa3b87 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
9ea937dac5 Bug 628627 part 2 - Add messages inviting to file bugs and use --disable-elf-hack in case of elfhack failures. r=khuey,a=sdwilsh 2011-01-28 09:22:58 +01:00
Mike Hommey
5190cd7346 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
5dd0060e02 Bug 628618 part 7 - Use a whitelist of ELF sections that can be moved. r=tglek,a=sdwilsh 2011-01-28 09:22:58 +01:00
Mike Hommey
3a16edea86 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
cc0eedf4c6 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
3a7abc2fb4 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
d6ad1497ca Bug 628618 part 3 - An ElfSection is relocatable if it has the SHF_ALLOC flag set independently of other flags. r=tglek,a=sdwilsh 2011-01-28 09:22:58 +01:00
Mike Hommey
1dbb7ed286 Bug 628618 part 2 - PT_DYNAMIC segment only contains SHT_DYNAMIC section. r=tglek,a=sdwilsh 2011-01-28 09:22:58 +01:00
Mike Hommey
2fd1db48c3 Bug 628618 part 1 - Support ElfLocations without a corresponding ElfSection. r=tglek,a=sdwilsh 2011-01-28 09:22:57 +01:00
Mike Hommey
7571185aaf Bug 628283 - Make elfhack handle GNU_RELRO segments better. r=tglek,a=dbaron 2011-01-24 23:11:46 +01:00
Mike Hommey
6f2a78dca1 Bug 606145 part 3 - Integrate elfhack with the build system. r=khuey,a=bsmedberg 2011-01-24 09:56:40 +01:00
Mike Hommey
f56acbddff Bug 606145 part 2 - Import elfhack code. r=tglek,a=bsmedberg 2011-01-24 09:56:40 +01:00