mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-26 19:55:39 +00:00
354a9e27a0
We perform, on the binaries we build, a series of check, that are implemented as half-baked make commands, invoked after linking them. - check libstdc++ symbol versions to ensure binary compatibility with a baseline. - check glibc symbol versions to ensure binary compatibility with a baseline. - check that target binaries don't contain text relocations. - check that libmozglue is linked before libc on android. - on libxul, check that NSModules are laid out correctly. - on libxul, check that there is more than one PT_LOAD segment. Those checks happen to work where they matter, but their setup is unreliable. For example, the checks for symbol versions are supposed to work for libclang-plugin on cross osx builds, but in fact, don't, because the readelf path doesn't exist, and the command doesn't fail in that case. So move them all to a standalone script, performing the checks more thoroughly (especially the NSModules one, where we now also check that they are all adjacent), and more verbosely. --HG-- extra : rebase_source : 7072e622e95f363d4a6c3a8e272d3445d998b592
17 lines
713 B
Makefile
17 lines
713 B
Makefile
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
# You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
EXTRA_DEPS += $(topsrcdir)/toolkit/library/libxul.mk
|
|
|
|
# Generate GDB pretty printer-autoload files only on Linux. OSX's GDB is
|
|
# too old to support Python pretty-printers; if this changes, we could make
|
|
# this 'ifdef GNU_CC'.
|
|
ifeq (Linux,$(OS_ARCH))
|
|
# Create a GDB Python auto-load file alongside the libxul shared library in
|
|
# the build directory.
|
|
PP_TARGETS += LIBXUL_AUTOLOAD
|
|
LIBXUL_AUTOLOAD = $(topsrcdir)/toolkit/library/libxul.so-gdb.py.in
|
|
LIBXUL_AUTOLOAD_FLAGS := -Dtopsrcdir=$(abspath $(topsrcdir))
|
|
endif
|