Mike Hommey
21f643ea4a
Bug 1036286 - Delay registration of the faulty.lib signal handler until when it's necessary. r=nfroyd
...
It's necessary to delay it because for the second part, we need to call dlopen,
and until recently bionic's linker dead-locked when using dlopen from a static
initializer.
2014-08-07 02:51:03 +09:00
Mike Hommey
4fb678a58c
Backout changeset 34235900c3a0 (bug 1036286) because it wasn't the right fix.
2014-08-05 16:07:06 +09:00
Mike Hommey
95e40852cb
Bug 1036286 - Make sure libraries loaded by faulty.lib use its own sigaction. r=nfroyd
...
Android L added a libsigchain library it LD_PRELOADs. That library exposes
a different sigaction than libc's. It's used for ART.
faulty.lib gets its sigaction from libsigchain, but after bug 874708, the
libraries it loads simply use libc's sigaction, assuming it would be the
hooked one. In turn, this means libraries loaded by faulty.lib may
override faulty.lib's handler, which is definitely not the intent.
This essentially restores some of the code that bug 874708 removed.
An alternative fix would be to add support for LD_PRELOAD, but that has more
implications and feels more risky. This could be done, if necessary, as a
followup.
2014-07-24 13:43:56 +09:00
Robert O'Callahan
949537330f
Bug 1006248. Part 1: Add MOZ_EXPORT in various places. r=glandium
...
--HG--
extra : rebase_source : cfe209a412cae28d405eae413415cebb6959072a
2014-05-06 17:26:46 +12:00
Douglas Crosher
a2f5f71531
Bug 944612 - Guard the ElfLoader sigaction wrapper against the SIGSEGV handler not being installed. r=glandium
2014-03-20 12:35:15 +11:00
Birunthan Mohanathas
866c961b74
Bug 784739 - Switch from NULL to nullptr in mozglue/linker/; r=ehsan
2013-11-11 14:15:46 -05:00
Jim Chen
a470a16c5b
Bug 930627 - Implement __gnu_Unwind_Find_exidx in custom linker on ARM. r=glandium
2013-10-31 11:40:32 -04:00
Mike Hommey
e9d9adfd0d
Bug 886736 - Disable on-demand decompression when latency to get into segfault handlers is too high. r=nfroyd
2013-10-01 15:30:45 +09:00
Mike Hommey
9400bbf7a7
Bug 907957 - Detect if a segfault signal handler is useless. If it is, disable on-demand decompression. r=nfroyd
2013-08-30 11:14:17 +09:00
Jim Chen
0bc2b5c5ea
Bug 904646 - Skip NULLs when traversing envp/auxv pointers to let GDB work on Android 4.3; r=glandium
2013-08-14 12:54:33 -04:00
Mike Hommey
11a3618083
Bug 891266 - Allow to enable faulty.lib debug log at runtime. r=nfroyd
2013-07-10 14:12:35 +09:00
Mike Hommey
a6b496bb8d
Bug 886730 - Add and use a MemoryRange class and helper functions for page alignment in faulty.lib. r=nfroyd
2013-06-27 09:35:49 +09:00
Mike Hommey
8fd281dcec
Bug 886722 - Rename log/debug to LOG/DEBUG_LOG in faulty.lib. r=nfroyd
2013-06-27 09:35:49 +09:00
Mike Hommey
a682d7fe75
Bug 885336 - Fix various issues with the dl_mmap interface. r=nfroyd
2013-06-27 09:35:48 +09:00
Julian Seward
08b09fb3cc
Bug 882903 - SPS breadkpad unwinder segfaults with on-demand decompression on. r=glandium.
2013-06-14 14:03:25 +02:00
Mike Hommey
835bd7384a
Bug 874708 - Hook libc's sigaction to avoid system libraries replacing our segfault handler temporarily and restoring it wrongly. r=nfroyd
2013-06-09 09:23:03 +02:00
Mike Hommey
d06212fc0b
Bug 861796 - Fix crash in LibHandle::~LibHandle. r=nfroyd
2013-04-15 18:36:13 +02:00
Mike Hommey
83a22e1678
Bug 802240 - Expose an API to mmap the underlying file for a library loaded by faulty.lib. r=nfroyd
2013-04-12 10:23:12 +02:00
Vicamo Yang
57bd116b87
Bug 859830: determine Android API level through android/api-leve.h instead. r=glandium
2013-04-12 13:39:42 +08:00
Mike Hommey
c55320bda8
Bug 842681 - Refactor the linker Zip code and allow to use an existing memory buffer as a Zip file. r=mwu
2013-03-08 09:24:46 +01:00
Mike Hommey
39e56e008a
Bug 830326 - Get rid of warnings in the custom linker code. r=nfroyd
2013-01-15 10:12:56 +01:00
Mike Hommey
c405bd3d02
Bug 830295 - Avoid RefPtr<LibHandle> triggering recursive calls to ~CustomElf, and use it in the linker segfault handler. r=nfroyd
2013-01-15 10:12:36 +01:00
Mike Hommey
0fb348e03d
Bug 826178 - Prefix all hexadecimal values with 0x in linker logs. r=nfroyd
2013-01-03 16:45:57 +01:00
Mike Hommey
e14946ab94
Fixup for dl_iterate_phdr after bug 808121. r=me
2012-11-07 16:45:48 +01:00
Mike Hommey
31305e4e03
Bug 808121 - Ensure the pointers we change in the r_debug data are writable, which they aren't with upcoming Android system linker. r=nfroyd
2012-11-07 08:02:53 +01:00
Mike Hommey
47d4a8624f
Bug 783331 - Add Phdr pointer and count to dl_iterate_phdr implementation. r=nfroyd
2012-08-29 08:55:57 +02:00
Mike Hommey
91480beb18
Bug 747033 - Implement dl_iterate_phdr in the custom linker. r=froydnj
...
--HG--
rename : mozglue/linker/CustomElf.h => mozglue/linker/Elfxx.h
2012-04-25 09:05:02 +02:00
Mike Hommey
821a1ccc7c
Bug 727960 - When extracting libraries, reuse cached library if it is newer than the apk. r=tglek
2012-02-22 08:12:15 +01:00
Mike Hommey
af3eac834f
Bug 686805 part 6 - Add functions to display stats about seekable compressed streams. r=tglek
2012-02-22 08:12:15 +01:00
Mike Hommey
d8fa15fe94
Bug 686805 part 4 - Make the linker load libraries with on-demand decompression when they are seekable compressed streams. r=tglek,r=sewardj
2012-02-22 08:12:15 +01:00
Mike Hommey
8ec8693b3e
Bug 686805 part 2 - Use a SIGSEGV signal handler to handle segmentation faults happening in loaded libraries address space. r=tglek,r=sewardj
2012-02-22 08:12:15 +01:00
Mike Hommey
7d1eec64ac
Bug 725230 - Enable and fix assertions in linker code. r=tglek
2012-02-13 15:49:45 +01:00
Mike Hommey
c893472974
Backout 8eef38643ceb (bug 717540) and 78941a969e20 (bug 725230) because of windows debug bustage
2012-02-13 16:35:13 +01:00
Mike Hommey
c1b6200e80
Bug 725230 - Enable and fix assertions in linker code. r=tglek
2012-02-13 15:49:45 +01:00
Mike Hommey
aef323bb1b
Bug 683127 part 10 - Allow debug symbols to be found under gdb without extracted libraries. r=tglek,r=mwu
2012-01-20 09:49:03 +01:00
Mike Hommey
da0affaf1e
Bug 683127 part 9 - Allow to temporarily extract Elf files from a Zip archive for e.g. valgrind. r=tglek
2012-01-20 09:48:50 +01:00
Mike Hommey
c1f8abcc72
Bug 683127 part 8 - Allow to load Elf files from a Zip archive. r=tglek,r=sewardj
2012-01-20 09:48:44 +01:00
Mike Hommey
372473a08a
Bug 683127 part 7 - Use a custom Elf linker for libraries given with an absolute path name. r=sewardj
2012-01-20 09:48:44 +01:00
Mike Hommey
e108f8075e
Bug 683127 part 5 - Initial Elf Loader, wrapping around dlopen/dladdr/dlsym/dlclose. r=tglek,r=sewardj
2012-01-20 09:48:39 +01:00