gecko-dev/python
Aaron Klotz 4f7aaf1573 Bug 1542830: Part 3 - Add ntdll_freestanding.lib to freestanding; r=mhowell,froydnj
The `freestanding` library is built with specific compiler flags to signify
that it is indeed freestanding code. That is, it does not depend on a
standard library.

One of the requirements of freestanding code is that the toolchain still
expects implementations of `memcpy`, `memmove`, `memcmp`, and `memset`.

I did briefly implement my own naive versions of these functions, but that
solution is less than ideal since the implementations must be `extern` and are
thus picked up by the entire `firefox.exe` binary. This denies the rest of
`firefox.exe` the benefit of optimized implementations. On Windows, the
sandbox is linked into `firefox.exe`, so we cannot just shrug and
assume that naive implementations will not have any effect on anything.

There are, however, optimized implementations of these functions that are
exported by `ntdll.dll`. They are not included in the `ntdll.lib` that is
included in the Windows SDK. Using `llvm-dlltool`, we can build an import
library containing the missing entries and then add that library to `OS_LIBS`.

Differential Revision: https://phabricator.services.mozilla.com/D43157

--HG--
extra : moz-landing-system : lando
2019-09-20 19:43:21 +00:00
..
devtools/migrate-l10n Bug 1559975 - fix python2 linter errors for python/devtools r=ahal 2019-07-16 17:46:08 +00:00
docs
gdbpp/gdbpp Bug 1564314 - Make linters happy with the gdbpp code. r=nalexander 2019-07-11 18:19:44 +00:00
l10n Bug 1581428 - Show tooltips for links in Protection Report. r=fluent-reviewers,johannh,flod 2019-09-18 21:39:43 +00:00
mach Bug 1567642 - [mach] Fix flake8 under Python 3 lint issues r=firefox-build-system-reviewers,chmanchester 2019-09-17 18:52:28 +00:00
mozboot Bug 1581921 - Support Solus Linux by mach bootstrap r=froydnj 2019-09-18 15:12:37 +00:00
mozbuild Bug 1542830: Part 3 - Add ntdll_freestanding.lib to freestanding; r=mhowell,froydnj 2019-09-20 19:43:21 +00:00
mozlint Bug 1580280 - [lint] Support Python 3 in the flake8 integration r=sylvestre 2019-09-11 10:00:58 +00:00
mozrelease Bug 1549889: Add support for displaying WNP conditionally on build-id; r=nthomas 2019-05-29 23:47:07 +00:00
mozterm
mozversioncontrol Bug 1561632 - Back out bug 1554987. r=ahal 2019-06-28 15:58:36 +00:00
safety
mach_commands.py Bug 1557278 - Avoid implicit conversion to Unicode when rewriting log lines. r=ahal 2019-06-06 16:46:40 +00:00
moz.build Bug 1575375 - Always include mozbuild/mozpack tests. r=nalexander 2019-08-21 03:05:09 +00:00
README

This directory contains common Python code.

The basic rule is that if Python code is cross-module (that's "module" in the
Mozilla meaning - as in "module ownership") and is MPL-compatible, it should
go here.

What should not go here:

* Vendored python modules (use third_party/python instead)
* Python that is not MPL-compatible (see other-licenses/)
* Python that has good reason to remain close to its "owning" (Mozilla)
  module (e.g. it is only being consumed from there).

Historical information can be found at
https://bugzilla.mozilla.org/show_bug.cgi?id=775243
https://bugzilla.mozilla.org/show_bug.cgi?id=1346025