Commit Graph

247 Commits

Author SHA1 Message Date
Mike Hommey
9c53800a82 Bug 1081034 part 2 - Move initialization of self_elf to its own separate class. r=nfroyd
The new class is kind of like SystemElf, but using our linker's own symbol
resolution. This also adds some initialization from ELF program headers that
weren't done previously for self_elf, as well as registration as for CustomElf
instances.
2014-10-16 09:20:06 +09:00
Mike Hommey
85b47df0cb Bug 1081034 part 1 - Move GetSymbolPtr, Contains and FindExidx from CustomElf to BaseElf. r=nfroyd 2014-10-16 09:19:46 +09:00
Mike Hommey
84f2c13cef Bug 1078837 part 2 - Replace IsSystemElf/reinterpret_cast dance with better API. r=nfroyd 2014-10-16 09:19:45 +09:00
Mike Hommey
c39fcc8944 Bug 1078837 part 1 - Move CustomElf::mappable to BaseElf. r=nfroyd 2014-10-16 09:19:45 +09:00
Mike Hommey
eb89afceec Bug 1083020 - Add a (dummy) stats method to all LibHandles. r=nfroyd
While here, avoid doing anything if debug logging is disabled.
2014-10-16 09:19:40 +09:00
Mike Hommey
f431c6c5b5 Bug 1082524 - Initialize link_map. r=nfroyd
When a library fails to load with CustomElf before it's registered, the
unregistration that does happen in CustomElf's destructor uses link_map,
so it needs to be initialized.
2014-10-15 14:46:09 +09:00
Mike Hommey
35f933f139 Bug 1080342 - Change how the symbols the flash plugin uses are hooked on Android. r=snorp
With bug 1077366, the linker makes the library containing it a fake
LD_PRELOAD. As a consequence, instead of, in the linker itself,
explicitely special-casing the symbols that disappeared in Android 4.4
that the flash plugin uses, it is now possible to use normal symbol
resolution to stubs defined separately in libmozglue.
2014-10-14 07:18:01 +09:00
Mike Hommey
464da0f9c2 Bug 1077384 - Make libmozglue a pseudo-LD_PRELOAD on android. r=nfroyd
In order to avoid adding more dlsym overhead than there already is, resolve
symbols directly in the library containing the linker. (GetSymbolPtr is
essentially free ; dlsym makes the system linker compule a ElfHash itself,
and that's quite expensive to do on all symbols)

This also paves the way for direct symbol resolution in all system libraries.
2014-10-07 07:42:18 +09:00
Mike Hommey
2466a02679 Bug 1077135 - Ensure logging initialization for early log messages in the linker. r=nfroyd 2014-10-04 10:31:49 +09:00
Mike Hommey
5331094bbb Bug 1077135 - Initialize ElfLoader::DebuggerHelper::firstAdded. r=nfroyd 2014-10-04 10:31:38 +09:00
Jim Chen
ead154121a Bug 1066760 - Redirect mozalloc_abort through Java exception handling; r=snorp 2014-09-24 14:12:54 -04:00
Jim Chen
f3c570c80b Bug 1066760 - Add base address and fall back to system dladdr in __wrap_dladdr; r=froydnj 2014-09-24 14:12:54 -04:00
Mike Hommey
0060683747 Bug 1059090 - Don't require SOURCES to be set for CPP_UNIT_TESTS and SIMPLE_PROGRAMS. r=mshal 2014-09-03 14:16:37 +09:00
Mike Hommey
ed70c5f377 Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps 2014-09-03 14:10:54 +09:00
Mike Hommey
1cf20f37fd Bug 1036286 - Ensure faulty.lib diverts libc's sigaction instead of a LD_PRELOADed one. r=nfroyd
and force-send calls to sigaction from faulty.lib-loaded libraries to the libc.
2014-08-07 02:51:20 +09:00
Mike Hommey
15851645b4 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
1e6fb05108 Bug 1045783 - Move HOST_EXTRA_LIBS to moz.build as HOST_OS_LIBS. r=mshal 2014-08-06 07:26:05 +09:00
Mike Hommey
d9443ec932 Bug 1045783 - Move most OS_LIBS to moz.build and do some related cleanup. r=mshal 2014-08-06 07:25:33 +09:00
Mike Hommey
8c39460da9 Backout changeset 34235900c3a0 (bug 1036286) because it wasn't the right fix. 2014-08-05 16:07:06 +09:00
Mike Hommey
5f6ba110e6 Bug 1043802 - Remove TOOLS_DIRS and TEST_TOOLS_DIRS. r=gps 2014-07-29 08:55:55 +09:00
Mike Hommey
0b4c32ffd7 Bug 1043351 - Build ShowSSEConfig as a C++ unit test after it was forgotten in bug 894941 and move linker tests to avoid conflicts. r=mshal
--HG--
rename : mozglue/tests/Makefile.in => mozglue/linker/tests/Makefile.in
rename : mozglue/tests/TestZip.cpp => mozglue/linker/tests/TestZip.cpp
rename : mozglue/tests/moz.build => mozglue/linker/tests/moz.build
rename : mozglue/tests/no_central_dir.zip => mozglue/linker/tests/no_central_dir.zip
rename : mozglue/tests/test.zip => mozglue/linker/tests/test.zip
2014-07-25 07:14:21 +09:00
Jeff Walden
ec20cc707d Bug 1037100 - Remove all use of ScopedDeleteArray from mozglue/. r=glandium
--HG--
extra : rebase_source : dbc49be874fd57130f33584892589c180c7d1128
2014-07-21 18:14:11 -04:00
Mike Hommey
1e14ec2f14 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
Mike Hommey
8e037642dc Bug 1036894 part 7 - Move HOST_LIBS to moz.build, as HOST_USE_LIBS. r=gps 2014-07-23 13:29:50 +09:00
Nicholas Nethercote
2a0942be41 Bug 1036789 - Convert the third quarter of MFBT to Gecko style. r=Ms2ger.
--HG--
extra : rebase_source : 668cd394806203ddfa34bd4f226335ff26c846b5
2014-07-10 19:10:17 -07:00
Jeff Walden
8c69dfae30 Bug 953296 - Convert trivial ScopedDelete{Ptr,Array} uses to UniquePtr in mozglue/linker/. (More remain, but they're less trivial to change.) r=glandium
--HG--
extra : rebase_source : 7af7ff2daa70ff3aedaac91d3898bcd90a402162
2013-12-30 13:34:54 -06:00
Mike Hommey
f358f3711f Bug 1024248 - Properly tag linker error/warnings in logcat. r=nfroyd 2014-06-13 08:45:58 +09:00
Robert O'Callahan
7043c985ba 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
Ehsan Akhgari
7257ee5010 Bug 1004564 - Move AtomicRefCounted to mozilla::external and outlaw it in Gecko code; r=froydnj 2014-05-01 14:33:20 -04:00
Douglas Crosher
a33e69853e Bug 944612 - Guard the ElfLoader sigaction wrapper against the SIGSEGV handler not being installed. r=glandium 2014-03-20 12:35:15 +11:00
Ehsan Akhgari
17f4a32d8b Bug 976896 - Port STL_FLAGS to moz.build; r=mshal 2014-03-04 19:39:06 -05:00
Ehsan Akhgari
a8a0206da1 Bug 935778 - Part 1: Add RefCountType, a type compatible with nsrefcnt, to MFBT; r=dbaron,froydnj 2014-02-21 14:45:50 -05:00
Ehsan Akhgari
7e41f47adf Bug 935778 - Part 0.4: Spray even more MOZ_DECLARE_REFCOUNTED_TYPENAME across the tree 2014-02-21 09:11:33 -05:00
Mike Hommey
81d8ff07e9 Bug 956398 - Only support text relocations for libflashplayer.so. r=nfroyd 2014-01-25 07:59:14 +09:00
Mike Hommey
ec7b1e070a Bug 956398 - Support text relocations in the custom linker. r=nfroyd 2014-01-16 09:13:42 +09:00
James Willcox
8cb44b437e Bug 935676 - Stub out missing Flash symbols r=glandium
--HG--
extra : rebase_source : 7e02a6283a6ee53b3749e1816d4005b238085954
2014-01-15 09:16:33 -06:00
Mike Hommey
2d9ef44f86 Bug 959254 - Make MappableSeekableZStream::ensure mprotect error message more useful for debugging failures. r=nfroyd 2014-01-15 16:21:45 +09:00
Mike Hommey
8fd06cf41b Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-27 22:55:07 +09:00
Mike Hommey
b32a4ed166 Backout changeset 3fd4b546eed4 (bug 874266) and changeset a35d2e3a872f (bug 942043) for ASAN build bustage and Windows test bustage
--HG--
extra : amend_source : f20d09aeff1c8b5cbd0f1d24c7ce04e86f3aed1d
2013-11-28 14:24:05 +09:00
Mike Hommey
682364d535 Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-28 13:08:16 +09:00
Mike Hommey
e80e877ab7 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Mike Hommey
dda5b915fe Bug 939039 - Remove now useless FORCE_STATIC_LIB definitions. r=gps 2013-11-19 11:47:28 +09:00
Mike Hommey
ffe0380912 Bug 935881 - Use FINAL_LIBRARY for all (fake) libraries that end up linked in a single other library. r=gps 2013-11-19 11:47:14 +09:00
Birunthan Mohanathas
c01f63b478 Bug 784739 - Switch from NULL to nullptr in mozglue/linker/; r=ehsan 2013-11-11 14:15:46 -05:00
Mike Hommey
00a70f6f7d Bug 933120 - Move HOST_PROGRAM and HOST_SIMPLE_PROGRAMS to moz.build. r=gps 2013-11-02 08:44:11 +09:00
Jim Chen
9705613071 Bug 930627 - Implement __gnu_Unwind_Find_exidx in custom linker on ARM. r=glandium 2013-10-31 11:40:32 -04:00
Cykesiopka
d2f6b7333c Bug 914270 - Part 1: Simple/Automated moves. r=joey 2013-10-24 18:51:00 +01:00
Mike Hommey
b000a846c2 Bug 929905 - Consolidate sources in moz.build. r=gps 2013-10-25 08:23:05 +09:00
Nathan Froyd
d0c177ce05 Bug 927428 - use __LP64__ instead of HAVE_64BIT_OS in the linker; r=glandium 2013-10-16 11:14:19 -04:00
Mike Hommey
f6addb05b1 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
Nathan Froyd
0dd69ef1ca Bug 920558 - map anonymous pages differently on ARM and x86; r=glandium 2013-09-26 11:17:05 -04:00
Nathan Froyd
eb112dbe95 Bug 916923 - work around crash reporter issues with adjacent memory mappings on x86 android; r=glandium,f=gbrown 2013-09-23 15:02:28 -04:00
Joey Armstrong
d1be2c217c bug 888009: move HOST_CPPSRCS to mozbuild (batch #2) r=mshal 2013-09-12 13:32:27 -04:00
Mike Hommey
0f2f8bef4c Bug 914374 - Fix buffer overflow in BCJ_X86_filter when the given buffer is too small. r=nfroyd 2013-09-11 08:15:39 +09:00
Seth Fowler
f9cdc752b1 Bug 912299 - Make RefCounted's refcount field mutable. r=waldo 2013-09-06 13:32:55 -07:00
Mike Hommey
f8bc7fa754 Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Mike Hommey
eb14682f30 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
6a7879204c 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
Ehsan Akhgari
2824b29025 Bug 895322 - Part 1: Replace the usages of MOZ_STATIC_ASSERT with C++11 static_assert; r=Waldo
This patch was mostly generated by running the following scripts on the codebase, with some
manual changes made afterwards:

# static_assert.sh
#!/bin/bash
# Command to convert an NSPR integer type to the equivalent standard integer type

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.cc" \
         -o -iname "*.mm" \) | \
    xargs -n 1 `dirname $0`/assert_replacer.py #sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_STATIC_ASSERT static_assert
hg rev --no-backup mfbt/Assertions.h \
                   media/webrtc/signaling/src/sipcc/core/includes/ccapi.h \
                   modules/libmar/src/mar_private.h \
                   modules/libmar/src/mar.h


# assert_replacer.py
#!/usr/bin/python

import sys
import re

pattern = re.compile(r"\bMOZ_STATIC_ASSERT\b")

def replaceInPlace(fname):
  print fname
  f = open(fname, "rw+")
  lines = f.readlines()
  for i in range(0, len(lines)):
    while True:
      index = re.search(pattern, lines[i])
      if index != None:
        index = index.start()
        lines[i] = lines[i][0:index] + "static_assert" + lines[i][index+len("MOZ_STATIC_ASSERT"):]
        for j in range(i + 1, len(lines)):
          if lines[j].find("                 ", index) == index:
            lines[j] = lines[j][0:index] + lines[j][index+4:]
          else:
            break
      else:
        break
  f.seek(0, 0)
  f.truncate()
  f.write("".join(lines))
  f.close()

argc = len(sys.argv)
for i in range(1, argc):
  replaceInPlace(sys.argv[i])

--HG--
extra : rebase_source : 4b4a4047d82f2c205b9fad8d56dfc3f1afc0b045
2013-07-18 13:59:53 -04:00
Mike Hommey
92fbf52fbf Bug 897723 - Allow faulty.lib's on-demand decompression to be reentrant. r=nfroyd 2013-07-26 12:57:53 +09:00
Mike Hommey
078b980b8d Bug 894829 - Avoid symbol resolution for relocations for the same symbol in faulty.lib. r=nfroyd 2013-07-23 07:26:08 +09:00
Mike Hommey
abaa52c443 Bug 882608 - Fix various issues in faulty.lib with incomplete pages and MOZ_LINKER_ONDEMAND=0. r=nfroyd 2013-07-23 07:26:07 +09:00
Mike Hommey
fd44bdf519 Bug 891266 - Allow to enable faulty.lib debug log at runtime. r=nfroyd 2013-07-10 14:12:35 +09:00
Justin Lebar
051c5b560a Bug 802686 - s/MOZ_NOT_REACHED/MOZ_CRASH/ in Gecko. r=(see below)
r=tbsaunde for accessible
r=jmuizelaar for gfx
r=roc for layout
r=glandium for mozglue
r=jduell for netwerk
r=khuey for everything else

This is a mechanical change made with sed.  Later patches in this queue
clean up the whitespace errors and so on.
2013-06-28 18:38:30 -07:00
Mike Hommey
071998d656 Bug 886730 - Move a szip.cpp MOZ_ASSERT to a safer place. r=nfroyd 2013-06-27 09:35:49 +09:00
Mike Hommey
fc82c0f523 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
b340449c73 Bug 886726 - Fix warnings in szip.cpp. r=nfroyd 2013-06-27 09:35:49 +09:00
Mike Hommey
c7c836946d Bug 886722 - Rename log/debug to LOG/DEBUG_LOG in faulty.lib. r=nfroyd 2013-06-27 09:35:49 +09:00
Mike Hommey
6d626eb6a0 Bug 885336 - Fix various issues with the dl_mmap interface. r=nfroyd 2013-06-27 09:35:48 +09:00
Brian O'Keefe
11bcc1cd9e Bug 875934 - Move LIBRARY_NAME to moz.build (batch #1); r=mshal
--HG--
extra : rebase_source : 385d3fd65475ffc18ee44ae088753649470e214b
2013-06-17 15:21:01 -04:00
Julian Seward
bdb61b948e Bug 882903 - SPS breadkpad unwinder segfaults with on-demand decompression on. r=glandium. 2013-06-14 14:03:25 +02:00
Mike Hommey
7a3c231b71 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
48e758d56b Bug 875824 - Allow to disable on-demand decompression at runtime. r=sewardj 2013-05-29 16:18:27 +02:00
Mike Shal
5169c0a913 Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey CLOSED TREE
From 9e0ba7f425143f545eb6c4b26a9a96b5ade4d8e9 Mon Sep 17 00:00:00 2001
2013-04-23 17:54:15 -04:00
Mike Hommey
5215bd9e2d Bug 865583 - Use thread-safe ref-counting in the linker. r=nfroyd 2013-05-18 09:53:18 +02:00
Mike Hommey
32f20f1c9f Bug 864035 - Add an atomic RefCounted and WeakPtr implementation. r=Waldo 2013-05-18 09:52:53 +02:00
Mike Hommey
5d442bca12 Bug 861796 - Fix crash in LibHandle::~LibHandle. r=nfroyd 2013-04-15 18:36:13 +02:00
Mike Hommey
1cb6364a2e 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
f8906b8557 Bug 859830: determine Android API level through android/api-leve.h instead. r=glandium 2013-04-12 13:39:42 +08:00
Mike Hommey
6e05e224dc Bug 848385 - Avoid recompressing a szip, and (de)compress in-place (but still with a temporary file). r=nfroyd,khuey 2013-04-11 09:37:44 +02:00
Kyle Machulis
72a717a860 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Kyle Machulis
43628a7867 Backout for changeset 03452b187c14 (Bug 855465) due to bustage on a CLOSED TREE; r=qdot 2013-03-29 15:12:58 -07:00
Kyle Machulis
334c0800cf Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
--HG--
extra : rebase_source : 004a756492323e1a049586e85b3be5037159df20
2013-03-29 13:56:18 -07:00
Mike Shal
7ecea60097 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Mike Hommey
dfe01093ca Bug 848770 - Choose the best compression settings automagically for seekable zstreams (szip). r=nfroyd 2013-03-13 15:28:57 +01:00
Mike Hommey
1b682a5cda Bug 848773 - Add x86 BCJ filter for szip. r=nfroyd,r=ted 2013-03-08 09:32:56 +01:00
Mike Hommey
ce277304e9 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
bc0758344b Bug 848270 - Various fixups for Android builds on OSX after bug 847479. r=nfroyd 2013-03-06 17:01:56 +01:00
Mike Hommey
8e132042ea Bug 847479 - Add a dictionary to improve compression rate. r=nfroyd 2013-03-06 07:30:07 +01:00
Mike Hommey
392c3b9d27 Bug 847479 - Add smart filters borrowed from xz-utils to improve SeekableZStream compression rate. r=nfroyd 2013-03-06 07:29:59 +01:00
Mike Hommey
f4e950ccd0 Bug 847479 - Allow to specify a chunk size on szip command line. r=nfroyd 2013-03-06 07:29:51 +01:00
Mike Hommey
813034fd1f Bug 847479 - Use raw zlib streams when compressing with szip. r=nfroyd
And keep compatibility to decompress old streams.
2013-03-06 07:29:41 +01:00
Mike Hommey
db783e83fd Bug 847479 - Sanity check that szip's compressed output can properly be decompressed. r=nfroyd 2013-03-06 07:29:33 +01:00
Mike Hommey
2768b09d27 Bug 847479 - Add a command line argument to szip to decompress an existing seekable stream. r=nfroyd 2013-03-06 07:29:22 +01:00
Mike Hommey
3506308140 Bug 847479 - Add a helper class for a buffer mapped from a file. r=nfroyd 2013-03-06 07:29:13 +01:00
Mike Hommey
d55975357b Bug 847479 - Add buffer length information when initializing a SeekableZStream. r=nfroyd 2013-03-06 07:29:05 +01:00
Gregory Szorc
282edab58a Bug 784841 - Part 18c: Convert /memory, /mfbt, /mozglue; r=ted f=Ms2ger 2013-02-25 12:47:17 -08:00
Kartikaya Gupta
dd7a85d6a7 Bug 837551 - Ignore dynamic section headers of type DT_FLAGS_1. r=glandium 2013-02-04 09:58:54 -05:00
Mike Hommey
9446203c4a Bug 834459 - Specialize RefCounted template for LibHandle to better allow refcounting during destructor execution. r=nfroyd 2013-01-29 09:35:32 +01:00
Mike Hommey
ccee4c2c0e Bug 830326 - Get rid of warnings in the custom linker code. r=nfroyd 2013-01-15 10:12:56 +01:00
Mike Hommey
77cfb9f1b0 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
90d38c2837 Bug 828894 - Fix possible off-by-one-page in custom linker. r=nfroyd
--HG--
extra : rebase_source : 7bdafcec8108b001bf2b817bd2c4b293a0dbee2e
2013-01-11 12:24:31 +01:00
Mike Hommey
5d94d28846 Bug 828301 - Free zlib internal buffers when we're done uncompressing in the custom linker. r=nfroyd 2013-01-10 08:39:07 +01:00
Mike Hommey
aed740d0a0 Bug 826263 - Fix ~_MappableBuffer in the linker on Android. r=nfroyd 2013-01-03 16:46:09 +01:00
Mike Hommey
11eafddbc8 Bug 826178 - Prefix all hexadecimal values with 0x in linker logs. r=nfroyd 2013-01-03 16:45:57 +01:00
Mike Hommey
44a3273ff8 Bug 826173 - Avoid calling close/fclose/unlink with uninitialized values in the linker. r=nfroyd 2013-01-03 16:45:50 +01:00
Mike Hommey
4256e397e3 Bug 825901 - Remove the old linker code. r=blassey 2013-01-03 08:43:26 +01:00
Jim Chen
a59d04549c Bug 824715 - Correctly calculate next page offset in custom linker; r=glandium 2013-01-01 21:44:04 -05:00
Josh Matthews
f6cc129ce8 Backed out changeset 10b47593c4d7 (bug 824715) 2012-12-28 19:03:50 -05:00
Jim Chen
e4b89b0500 Bug 824715 - Correctly calculate next page offset in custom linker; r=glandium 2012-12-28 15:29:44 -05:00
Mike Hommey
30f25f43e8 Fixup for dl_iterate_phdr after bug 808121. r=me 2012-11-07 16:45:48 +01:00
Mike Hommey
3565792dc7 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
05b582cde9 Bug 783331 - Add Phdr pointer and count to dl_iterate_phdr implementation. r=nfroyd 2012-08-29 08:55:57 +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
Andrew Quartey
df797e7733 Bug 735615 - Remove AutoClean from mozglue/linkers/Utils.h r=glandium 2012-07-30 14:17:53 -04:00
Mike Hommey
a716e0afd3 Bug 772886 - Avoid failure to mmap some library segments on some armv6 devices. r=nfroyd 2012-07-14 10:54:22 +02:00
Jeff Walden
3b720a666b Bug 763000 - Remove MOZ_Assert. r=Ms2ger, r=terrence, r=ted 2012-06-07 14:41:11 -07:00
Mike Hommey
c60b51ef30 Bug 735278 - Call destructors in reverse order of initializers in the linker. r=froydnj 2012-06-07 10:41:59 +02:00
Gervase Markham
82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Mike Hommey
2967371558 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
b00b3342a2 Bug 727959 - Ignore 0xffffffff entries the x86 Android NDK puts in .{init,fini}_array. r=tglek 2012-03-14 10:53:21 +01:00
Mike Hommey
b3973a5b27 Bug 734812 - Make the linker error out when text relocations are defined with DF_TEXTREL. r=nfroyd 2012-03-13 09:48:20 +01:00
Mike Hommey
471d20d072 Bug 727959 - Don't error out when missing symbol for PLT relocations is weak. r=nfroyd 2012-03-08 08:29:39 +01:00
Mike Hommey
5773947c34 Fixup for bug 733087. rs=dougt 2012-03-06 09:54:17 +01:00
Jeff Muizelaar
7cbebe89b8 Bug 733087 - Support DT_FLAGS a little bit. r=glandium 2012-03-06 09:28:09 +01:00
Tor Lillqvist
c30de3580b Bug 731961 - Include cstdio from Mappable.cpp for sprintf. r=glandium 2012-02-07 11:35:00 +02:00
Mike Hommey
bc546e0b47 Bug 729883 - Avoid linker warnings when starting up on Android. r=tglek 2012-02-27 08:19:20 +01:00
Mike Hommey
86098226ec Bug 729596 - Use ftruncate in szip instead of posix_fallocate. r=taras 2012-02-22 19:42:56 +01:00
Mike Hommey
ca520fa83e 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
8c5b3643ce 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
942b661343 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
ee92560165 Bug 686805 part 3 - Tool to generate seekable compressed streams. r=tglek 2012-02-22 08:12:15 +01:00
Mike Hommey
3c9f465103 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
524ce82972 Bug 686805 part 1 - Make Mappable::munmap, Mappable1stPagePtr::munmap and MappedPtr::munmap private. r=tglek 2012-02-22 08:12:15 +01:00
Mike Hommey
7b29e7253a Bug 727959 - Add symbol name to relocation errors in the linker. r=tglek 2012-02-21 08:10:43 +01:00
Mike Hommey
d31a431d14 Bug 723939 part 1 - When reserving memory for the loaded library, ensure correct alignment for future MAP_SHARED mappings. r=tglek 2012-02-17 08:55:36 +01:00
Mike Hommey
00ba5188c0 Bug 725230 - Enable and fix assertions in linker code. r=tglek 2012-02-13 15:49:45 +01:00
Mike Hommey
78f3656b4b Backout 8eef38643ceb (bug 717540) and 78941a969e20 (bug 725230) because of windows debug bustage 2012-02-13 16:35:13 +01:00
Mike Hommey
7fb8e3198a Bug 725230 - Enable and fix assertions in linker code. r=tglek 2012-02-13 15:49:45 +01:00
Mike Hommey
c36e15d671 Bug 683127 part 11 - Hook the new linker in Android initialization. r=blassey 2012-01-20 09:49:07 +01:00
Mike Hommey
8fd7ef9ab5 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
30eed017b6 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
4b71ba5dc0 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
61d63022fa 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
9907ad2018 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
Mike Hommey
ca0ce519e1 Fixup for bug 683127 part 4: Avoid RefPtr.h using JS_Assert. r=tglek 2012-01-11 19:36:35 +01:00
Mike Hommey
9f367588bb Bug 683127 part 1 - Simple Zip reader for the new ELF Linker. r=tglek,r=mwu 2012-01-11 11:10:55 +01:00