Commit Graph

153 Commits

Author SHA1 Message Date
Mike Hommey
53040f08c9 Bug 933120 - Move HOST_PROGRAM and HOST_SIMPLE_PROGRAMS to moz.build. r=gps 2013-11-02 08:44:11 +09: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
Cykesiopka
a3710e5c11 Bug 914270 - Part 1: Simple/Automated moves. r=joey 2013-10-24 18:51:00 +01:00
Mike Hommey
1d566f7586 Bug 929905 - Consolidate sources in moz.build. r=gps 2013-10-25 08:23:05 +09:00
Nathan Froyd
3a9e98c668 Bug 927428 - use __LP64__ instead of HAVE_64BIT_OS in the linker; r=glandium 2013-10-16 11:14:19 -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
Nathan Froyd
172b09169d Bug 920558 - map anonymous pages differently on ARM and x86; r=glandium 2013-09-26 11:17:05 -04:00
Nathan Froyd
46a5535bce 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
1938109537 bug 888009: move HOST_CPPSRCS to mozbuild (batch #2) r=mshal 2013-09-12 13:32:27 -04:00
Mike Hommey
6ed6a26a2c 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
11f1b0d393 Bug 912299 - Make RefCounted's refcount field mutable. r=waldo 2013-09-06 13:32:55 -07:00
Mike Hommey
f1cf3b4238 Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +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
Ehsan Akhgari
5ee21d6d3f 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
30a2955d3c Bug 897723 - Allow faulty.lib's on-demand decompression to be reentrant. r=nfroyd 2013-07-26 12:57:53 +09:00
Mike Hommey
c2a6eb76c3 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
b145205964 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
11a3618083 Bug 891266 - Allow to enable faulty.lib debug log at runtime. r=nfroyd 2013-07-10 14:12:35 +09:00
Justin Lebar
75c400493b 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
03265abd52 Bug 886730 - Move a szip.cpp MOZ_ASSERT to a safer place. r=nfroyd 2013-06-27 09:35:49 +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
ca0fbda537 Bug 886726 - Fix warnings in szip.cpp. 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
Brian O'Keefe
5f8b5163e8 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
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
4051a892ab Bug 875824 - Allow to disable on-demand decompression at runtime. r=sewardj 2013-05-29 16:18:27 +02:00
Mike Shal
994cfe0b6b 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
5b640b3daa Bug 865583 - Use thread-safe ref-counting in the linker. r=nfroyd 2013-05-18 09:53:18 +02:00
Mike Hommey
6334a79a0e Bug 864035 - Add an atomic RefCounted and WeakPtr implementation. r=Waldo 2013-05-18 09:52:53 +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
59a9121097 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
5aa83c3e11 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Kyle Machulis
c79ccc0693 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
a59d40f143 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
9680b82df6 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Mike Hommey
9a0f58f596 Bug 848770 - Choose the best compression settings automagically for seekable zstreams (szip). r=nfroyd 2013-03-13 15:28:57 +01:00
Mike Hommey
fa35064473 Bug 848773 - Add x86 BCJ filter for szip. r=nfroyd,r=ted 2013-03-08 09:32:56 +01: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
c1f55d9fc0 Bug 848270 - Various fixups for Android builds on OSX after bug 847479. r=nfroyd 2013-03-06 17:01:56 +01:00
Mike Hommey
b9f0bf40ff Bug 847479 - Add a dictionary to improve compression rate. r=nfroyd 2013-03-06 07:30:07 +01:00
Mike Hommey
d471ff050e 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
60e28c920b Bug 847479 - Allow to specify a chunk size on szip command line. r=nfroyd 2013-03-06 07:29:51 +01:00
Mike Hommey
44e01f23f5 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
73a4258edf 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
60d3ebf162 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
de58eff006 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
8a0c55bde9 Bug 847479 - Add buffer length information when initializing a SeekableZStream. r=nfroyd 2013-03-06 07:29:05 +01:00
Gregory Szorc
85e5647383 Bug 784841 - Part 18c: Convert /memory, /mfbt, /mozglue; r=ted f=Ms2ger 2013-02-25 12:47:17 -08:00
Kartikaya Gupta
96ab84cbed Bug 837551 - Ignore dynamic section headers of type DT_FLAGS_1. r=glandium 2013-02-04 09:58:54 -05:00
Mike Hommey
db6a9e4506 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
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
002fb23a0e 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
58eb7add29 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
f5f7c589dd Bug 826263 - Fix ~_MappableBuffer in the linker on Android. r=nfroyd 2013-01-03 16:46:09 +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
7ac5c31dd2 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
f03d4cf39f Bug 825901 - Remove the old linker code. r=blassey 2013-01-03 08:43:26 +01:00
Jim Chen
3c83ad1c04 Bug 824715 - Correctly calculate next page offset in custom linker; r=glandium 2013-01-01 21:44:04 -05:00
Josh Matthews
9d82867b14 Backed out changeset 10b47593c4d7 (bug 824715) 2012-12-28 19:03:50 -05:00
Jim Chen
a2bf550375 Bug 824715 - Correctly calculate next page offset in custom linker; r=glandium 2012-12-28 15:29:44 -05: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
6173fa297f Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 20:26:44 +02:00
Andrew Quartey
64caf103c0 Bug 735615 - Remove AutoClean from mozglue/linkers/Utils.h r=glandium 2012-07-30 14:17:53 -04:00
Mike Hommey
e4397fcaf7 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
09e6c025d8 Bug 763000 - Remove MOZ_Assert. r=Ms2ger, r=terrence, r=ted 2012-06-07 14:41:11 -07:00
Mike Hommey
d05c760a77 Bug 735278 - Call destructors in reverse order of initializers in the linker. r=froydnj 2012-06-07 10:41:59 +02:00
Gervase Markham
ca171eec44 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01: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
9acf72ba12 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
03875c9d65 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
ba812f1af5 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
11dbe5c7e5 Fixup for bug 733087. rs=dougt 2012-03-06 09:54:17 +01:00
Jeff Muizelaar
a9e3f5f336 Bug 733087 - Support DT_FLAGS a little bit. r=glandium 2012-03-06 09:28:09 +01:00
Tor Lillqvist
56145bf0f7 Bug 731961 - Include cstdio from Mappable.cpp for sprintf. r=glandium 2012-02-07 11:35:00 +02:00
Mike Hommey
bb2d9a7a21 Bug 729883 - Avoid linker warnings when starting up on Android. r=tglek 2012-02-27 08:19:20 +01:00
Mike Hommey
5010227b30 Bug 729596 - Use ftruncate in szip instead of posix_fallocate. r=taras 2012-02-22 19:42:56 +01: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
5af592a8a5 Bug 686805 part 3 - Tool to generate seekable compressed streams. r=tglek 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
826e3fb405 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
8baf1eed25 Bug 727959 - Add symbol name to relocation errors in the linker. r=tglek 2012-02-21 08:10:43 +01:00
Mike Hommey
de41c8e811 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
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
1bc3da9a7e Bug 683127 part 11 - Hook the new linker in Android initialization. r=blassey 2012-01-20 09:49:07 +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