Граф коммитов

190 Коммитов

Автор SHA1 Сообщение Дата
Jan de Mooij cad14cbd6e Bug 1313351 followup - Also back out the ElfLoader changes from bug 1320905 on a CLOSED TREE. r=red
--HG--
extra : rebase_source : 5ce387a5d813752957733c46381ea85245bc8eda
2016-12-23 21:27:57 +01:00
Luke Wagner 549d7571b3 Bug 1320905 - Add js::RefCounted that uses js_delete (r=waldo) 2016-12-05 15:59:18 -08:00
Andrew Halberstadt 6adcf5b456 Bug 1317970 - Use manifestparser manifests for python unit tests, r=chmanchester
This deprecates PYTHON_UNIT_TESTS and replaces it with PYTHON_UNITTEST_MANIFESTS.
In the build system, this means python unittests will be treated the same as all
other test suites that use manifestparser. New manifests called 'python.ini' have
been created for all test directories containing python unittests.

MozReview-Commit-ID: IBHG7Thif2D

--HG--
extra : rebase_source : 11a92a2bc544d067946bbd774975140147458caa
2016-11-16 09:59:22 -05:00
Eugen Sawin 5196420c32 Bug 1283629 - [1.1] Check for cached library file availability before reusing it. r=glandium 2016-11-15 15:19:25 +01:00
Eugen Sawin 8f140cc639 Bug 1313451 - [1.1] Make Zip thread-safe. r=glandium 2016-11-11 14:26:08 +01:00
Eugen Sawin 73f2949cad Bug 1309708 - [1.2] Delete reported library mapping on close. r=glandium 2016-11-10 15:47:59 +01:00
Emanuel Hoogeveen e0a81d7503 Bug 1309573 - Part 2: Define MOZ_HAS_MOZGLUE in various places so that the crash reason gets used. r=glandium
--HG--
extra : rebase_source : d55e8dd75469759f333366bdf9662178ff0a2474
2016-11-08 03:53:00 -05:00
Eugen Sawin 940c54d37b Bug 1294736 - [5.0] Switch to CRC64 integrity checking. r=glandium 2016-10-18 20:53:33 +02:00
Eugen Sawin c1ad292ceb Bug 1294736 - [3.2] Detect and decode XZ streams when extracting files. r=glandium,snorp 2016-10-18 20:53:33 +02:00
Eugen Sawin 45ea103938 Bug 1294736 - [2.3] Implement XZStream interface for decoding with XZ Embedded. r=glandium,snorp 2016-10-18 20:53:33 +02:00
Eugen Sawin 5b99355518 Bug 1307570 - [1.4] Add XZ Embedded support configuration, scripts and the initial library version. r=glandium 2016-10-18 15:11:02 +02:00
Eugen Sawin 18f563fd04 Bug 1305745 - [1.1] Free the zip path intermediate variable. r=glandium 2016-10-04 15:21:22 +02:00
Eugen Sawin 1b8ab7ef74 Bug 1302516 - [1.2] Add mutex locking to ZipCollection zip vector access. r=glandium 2016-09-14 12:47:06 +02:00
Eugen Sawin 91a9a08ed7 Bug 1294731 - [4.3] Don't unlink cached extracted files on shutdown. r=glandium 2016-08-25 12:51:44 +02:00
Eugen Sawin 6dfe56fd0a Bug 1294731 - [2.8] Validate cached libraries based on checksums. r=glandium 2016-08-25 12:51:44 +02:00
Mike Hommey c6f04b053b Bug 1291768 - Avoid SIGSEGV trying to read ELF headers of libraries with a non-null base virtual address. r=froydnj
--HG--
extra : rebase_source : ff8b269f2e0a69253ff5277f71a5b3f48cc7d55e
2016-08-18 07:16:40 +09:00
Tom Tromey 5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Chris Peterson 353ee65255 Bug 1272513 - Part 1: Suppress -Wshadow warnings-as-errors in some directories. r=glandium 2016-05-11 00:00:01 -07:00
Dylan Roeh 43c2e83904 Bug 1239789 - Add secondary buffers to zxx_stream::StaticAllocator to handle reentrancy. r=glandium 2016-03-24 17:25:57 -05:00
Ted Mielczarek 266aebcf54 bug 1256614 - replace mozglue/linker/tests/Makefile.in with a PYTHON_UNIT_TEST. r=glandium
MozReview-Commit-ID: 4qCDAKEY8b5

--HG--
extra : rebase_source : 41adb49e0e5f50b26252c8bd2b64d059c3e60b17
extra : amend_source : 20191092ac7db667fbf2010bbd9adfb0744c2e04
2016-03-15 09:02:36 -04:00
Nathan Froyd 15516055f2 Bug 1251881 - use UniquePtr instead of ScopedDeletePtr in mozglue/linker/; r=glandium
There are two instances:

- MappableSeekableZStream::Create uses ScopedDeletePtr, which is
  actually a little odd, since MappableSeekableZStream, as a Mappable,
  is refcounted, and it's unusual to use two different kinds of smart
  pointers for a single class.  I think the more natural thing would be
  for MappableSeekableZStream::Create to return an already_AddRefed, but
  that change spirals out of the realm of "simple refactoring" quickly.

- SzipCompress::run uses ScopedDeletePtr along with some dubious use of
  raw pointers.  I changed things out for UniquePtr and also tidied the
  memory management a bit, which I think makes things a little clearer.
2016-02-26 13:50:59 -05:00
Nicholas Nethercote ec89bbf7f2 Bug 1237151 (part 3) - Remove ignored qualifiers in all remaining code. r=froydnj. 2016-01-05 17:08:45 -08:00
Mike Hommey 20a9c9e220 Bug 1235945 - Fix assertion error in some cases when running szip when debug flags are enabled for host tools. r=froydnj 2016-01-05 20:03:43 +09:00
Nathan Froyd 01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nathan Froyd 583afa0965 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Nathan Froyd d8393ccd5b Bug 1207245 - part 2 followup - add more mozilla/RefCounted.h includes where appropriate; r=me 2015-10-12 22:24:05 -04:00
Ted Mielczarek 6be16c3688 bug 1198226 - Move HOST_{C,CXX}FLAGS to moz.build HOST_{CFLAGS,CXXFLAGS,DEFINES}. r=mshal
As part of this move, HOST_NSPR_MDCPUCFG needed to be changed to get the quoting right.

--HG--
extra : commitid : J26MhSiPq9g
extra : rebase_source : 81c5b98371042803741ddace8d01b0097757dff3
2015-09-08 11:35:43 -04:00
Nicholas Nethercote f44287005f Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.

--HG--
extra : rebase_source : 82e3387abfbd5f1471e953961d301d3d97ed2973
2015-08-27 20:44:53 -07:00
Mark Capella 9140fbf240 Bug 1174922 - NativeZip does not null-terminate zip entry comparisons correctly, r=nchen 2015-07-29 01:03:26 -04:00
Nathan Froyd 974d8120f2 Bug 1161627 - part 2 - machine-convert TemporaryRef<T> to already_AddRefed<T>; r=ehsan
This conversion was done with the script:

  find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl' | \
    egrep -v 'cairo-win32-refptr.h|RefPtr.h|TestRefPtr.cpp' | \
    xargs sed -i -e 's/mozilla::TemporaryRef</already_AddRefed</g' \
                 -e 's/TemporaryRef</already_AddRefed</g'

Manual fixups were performed in the following instances:

- We handled mfbt/RefPtr.h manually so as to not convert TemporaryRef itself
  into already_AddRefed.

- The following files had explicit Move() calls added to make up for the lack
  of a copy constructor on already_AddRefed:

  dom/base/ImageEncoder.cpp
  dom/media/MediaTaskQueue.{h,cpp}
  dom/media/webaudio/PannerNode.cpp

- A redundant overload for MediaTaskQueue::Dispatch was deleted.

- A few manual fixups were required in mfbt/tests/TestRefPtr.cpp.

- Comments, using declarations, and forward declarations relating to
  TemporaryRef in dom/canvas/ and gfx/layers/ were changed to refer to
  already_AddRefed.
2015-06-17 10:00:52 -04:00
Nathan Froyd db188ea282 Bug 1160485 - remove implicit conversion from RefPtr<T> to TemporaryRef<T>; r=ehsan
Having this implicit conversion means that we can silently do extra
refcounting when it's completely unnecessary.  It's also an obstacle to
making RefPtr more nsRefPtr-like, so let's get rid of it.
2015-05-01 09:14:16 -04:00
Nathan Froyd 3e13ec018f Bug 1116905 - part 1 - remove dependence on implicit conversion from T* to TemporaryRef<T>, non-gfx changes; r=ehsan 2015-04-30 15:17:08 -04:00
Mike Hommey fe90037862 Bug 1043692 - Add a DIST_INSTALL variable to moz.build, and replace NO_DIST_INSTALL with it. r=gps 2015-05-12 07:55:21 +09:00
travis e56b9791d1 Bug 1154803 - Put our sigaction diversion in __sigaction if it exists r=glandium 2015-04-21 09:32:45 -05:00
James Willcox 47ca1c6198 Bug 1127464 - Assert when we unexpectedly unload libraries on Android r=glandium 2015-03-09 08:33:22 -05:00
Mike Hommey 693a41b39b Bug 1059797 - Really share the same zlib inflate buffers for SeekableZStream chunks. r=nfroyd 2015-02-11 10:21:02 +09:00
Chris Peterson 249ac81315 Bug 1110031 - Part 1: Mark more directories as FAIL_ON_WARNINGS. r=gps 2014-12-10 22:56:31 -08:00
Mike Hommey 47c853314f Bug 1077148 part 4 - Add and use new moz.build templates for Gecko programs and libraries. r=gps
There are, sadly, many combinations of linkage in use throughout the tree.
The main differentiator, though, is between program/libraries related to
Gecko or not. Kind of. Some need mozglue, some don't. Some need dependent
linkage, some standalone.

Anyways, these new templates remove the need to manually define the
right dependencies against xpcomglue, nspr, mozalloc and mozglue
in most cases.

Places that build programs and were resetting MOZ_GLUE_PROGRAM_LDFLAGS
or that build libraries and were resetting MOZ_GLUE_LDFLAGS can now
just not use those Gecko-specific templates.
2014-10-30 13:06:12 +09:00
Mike Hommey 7a532e200f Bug 1090668 - Use elf.h instead of linux/elf.h when building with android API version >= 21. r=nfroyd 2014-10-29 13:37:00 +09:00
Mike Hommey 3188e8d7ab Bug 1059797 - Pre-allocate zlib inflate buffers in faulty.lib. r=froydnj
Original patch from James Willcox <snorp@snorp.net>
2014-10-28 16:45:17 +09:00
Mike Hommey c9456870c0 Bug 1082524 - Do not deref null pointers in link_map. r=nfroyd 2014-10-18 09:27:55 +09:00
Mike Hommey 984856dd8c Fixup for bug 1081034 - Add missing #ifdef to avoid build failure on desktop linux. r=me,npotb,DONTBUILD 2014-10-17 14:09:17 +09:00
Mike Hommey eb75074fdb Bug 1081034 part 3 - Resolve libc symbols with our linker. r=nfroyd
This allows to resolve weak symbols from some Android device's libc that
dlsym() won't. This is effectively an alternative fix to bug 791419, without
requiring wrapping symbols.
2014-10-16 09:20:14 +09:00
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