gecko-dev/python/mozbuild/mozbuild
Aaron Klotz f9be0e1c7f 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`.

Depends on D43156

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

--HG--
extra : moz-landing-system : lando
2019-09-23 20:18:37 +00:00
..
action Bug 1562773 - Add delegated credentials tests r=keeler,jcj 2019-09-17 23:31:36 +00:00
analyze Bug 1567642 - [mozbuild] Fix flake8 under Python 3 lint issues r=firefox-build-system-reviewers,chmanchester 2019-09-17 18:51:43 +00:00
backend Bug 1579156 - Fix binding tests after bug 1573566. r=chmanchester 2019-09-10 02:55:03 +00:00
code-analysis Bug 1527818 - Add Coverity analysis for full build on try. r=marco,bastien 2019-09-23 11:10:23 +00:00
codecoverage Bug 1542963 - use print_function for mozbuild and mozpack. r=glandium 2019-05-28 14:23:00 +00:00
compilation Bug 1542963 - use print_function for mozbuild and mozpack. r=glandium 2019-05-28 14:23:00 +00:00
configure Bug 1577826 - [mozbuild] Create an 'ensure_subprocess_env' utility function, r=glandium 2019-09-04 23:49:33 +00:00
controller Bug 1577726 - Move generated directories into a dedicated file (Generated.txt) from ThirdPartyPaths.txt r=ahal 2019-09-05 14:24:21 +00:00
frontend Bug 1542830: Part 3 - Add ntdll_freestanding.lib to freestanding; r=mhowell,froydnj 2019-09-23 20:18:37 +00:00
repackaging Bug 1577664 - pass product version to the complete mar generation script, r=Callek 2019-08-30 01:35:08 +00:00
resources/html-build-viewer Bug 1571636 - Expose build resources data from automation builds as artifacts. r=nalexander 2019-08-06 21:26:47 +00:00
test Bug 1579775 - Extend testing of #filter slashslash. r=glandium 2019-09-18 02:44:32 +00:00
__init__.py
android_version_code.py Bug 1536103 - Fix Sphinx Warning - Unexpected indentation (1). r=ahal 2019-06-28 18:33:19 +00:00
artifact_builds.py Bug 1542963 - use print_function for mozbuild and mozpack. r=glandium 2019-05-28 14:23:00 +00:00
artifact_cache.py Bug 1543247 - Part 2: Install visualmetrics.py prerequisites. r=ahal 2019-05-06 23:56:59 +00:00
artifact_commands.py Bug 1568277 - [taskgraph] Split optimize strategies out into a separate file r=tomprince 2019-08-16 14:25:47 +00:00
artifacts.py Bug 1562773 - Add delegated credentials tests r=keeler,jcj 2019-09-17 23:31:36 +00:00
base.py Bug 1579455 - [mozbuild] Create distinct 'init' virtualenvs for Python 2 vs 3 r=nalexander,chmanchester 2019-09-18 17:13:47 +00:00
build_commands.py Bug 1559740 - add separate modules for build, static-analysis and artifacts. r=sylvestre 2019-07-01 14:02:20 +00:00
chunkify.py Bug 1542963 - use print_function for mozbuild and mozpack. r=glandium 2019-05-28 14:23:00 +00:00
config_status.py Bug 1542963 - Fix most flake8 issues in python/mozbuild/mozbuild/* r=firefox-build-system-reviewers,chmanchester 2019-05-28 14:22:20 +00:00
doctor.py Bug 1542963 - use print_function for mozbuild and mozpack. r=glandium 2019-05-28 14:23:00 +00:00
dotproperties.py Bug 1536103 - Fix various Sphinx Warning in 'mach doc' (3). r=ahal 2019-06-26 20:00:31 +00:00
export_telemetry_schema.py Bug 1542963 - Add absolute_imports to mozbuild and mozpack. r=glandium 2019-05-28 14:22:45 +00:00
faster_daemon.py Bug 1558737 - Remove BUILD_FASTER define. r=nalexander 2019-06-12 16:20:16 +00:00
gen_test_backend.py Bug 1568638 - [build] Create objdir in test_manifest backend if it doesn't exist r=mshal 2019-08-30 17:01:12 +00:00
generated_sources.py Bug 1542963 - use print_function for mozbuild and mozpack. r=glandium 2019-05-28 14:23:00 +00:00
gn_processor.py Bug 1542963 - Add absolute_imports to mozbuild and mozpack. r=glandium 2019-05-28 14:22:45 +00:00
html_build_viewer.py Bug 1571636 - Expose build resources data from automation builds as artifacts. r=nalexander 2019-08-06 21:26:47 +00:00
jar.py Bug 1547730 - use six.iterkeys() r=glandium 2019-05-28 14:24:07 +00:00
mach_commands.py Bug 1567642 - [mozbuild] Fix flake8 under Python 3 lint issues r=firefox-build-system-reviewers,chmanchester 2019-09-17 18:51:43 +00:00
makeutil.py Bug 1547730 - Switch to six.string_types instead of types.StringTypes for py3 r=glandium 2019-05-28 14:24:27 +00:00
moz_yaml.py Bug 1542963 - run './mach lint ... --fix' on mozbuild/mozbuild, undoes some black changes. r=glandium 2019-05-28 14:22:00 +00:00
mozconfig_loader
mozconfig.py Bug 1473498 - [mozbuild.mozconfig] Improve error message in MozconfigLoadException r=glandium 2019-08-27 03:03:49 +00:00
mozinfo.py Bug 1569330 - Disable telemetry check in Normandy recipe runner r=mythmon,nalexander 2019-08-06 23:54:34 +00:00
nodeutil.py Bug 1580280 - [mozbuild] Fix Python 3 issues in nodeutil.py r=nalexander 2019-09-10 22:15:36 +00:00
preprocessor.py Bug 1579775 - Improve some comments in preprocessor.py. r=glandium 2019-09-18 02:43:48 +00:00
pythonutil.py Bug 1563797 - Use 'backports.shutil_which' instead of 'which' in the build system r=firefox-build-system-reviewers,chmanchester 2019-07-11 14:04:39 +00:00
schedules.py Bug 1562870 - generate conditioned profiles r=gbrown,bc,aerickson 2019-09-16 19:44:35 +00:00
shellutil.py Bug 1547730 - Do dict.iteritems() via six to support py3. r=glandium 2019-05-28 14:23:47 +00:00
sphinx.py Bug 1542963 - use print_function for mozbuild and mozpack. r=glandium 2019-05-28 14:23:00 +00:00
telemetry.py Bug 1577603 - convert mach clobber to run with python 3.5 r=nalexander 2019-08-30 17:25:47 +00:00
testing.py bug 1540655: mozbuild: add puppeteer test flavor; r=firefox-build-system-reviewers,chmanchester 2019-08-16 12:58:19 +00:00
util.py Bug 1577826 - [mozbuild] Create an 'ensure_subprocess_env' utility function, r=glandium 2019-09-04 23:49:33 +00:00
vendor_aom.py Bug 1542963 - Fix most flake8 issues in python/mozbuild/mozbuild/* r=firefox-build-system-reviewers,chmanchester 2019-05-28 14:22:20 +00:00
vendor_dav1d.py Bug 1542963 - Fix most flake8 issues in python/mozbuild/mozbuild/* r=firefox-build-system-reviewers,chmanchester 2019-05-28 14:22:20 +00:00
vendor_manifest.py
vendor_python.py Bug 1542963 - run './mach lint ... --fix' on mozbuild/mozbuild, undoes some black changes. r=glandium 2019-05-28 14:22:00 +00:00
vendor_rust.py Bug 1579471 - Remove the in-tree .cargo/config. r=mshal 2019-09-20 00:47:22 +00:00
virtualenv.py Bug 1579455 - [mozbuild] Fix output issues with Python 3 in virtualenv.py r=nalexander 2019-09-16 16:52:55 +00:00