NetworkManager/tools
Thomas Haller b171fbc9ca build: explicitly whitelist symbols in NetworkManager binary
- this allows the linker to drop unused symbols via link-time optimization
  or with --gc-sections:

    git clean -fdx
    ./autogen.sh --enable-ld-gc --enable-ifcfg-rh --enable-ifupdown \
        --enable-ifnet --enable-ibft --enable-teamdctl --enable-wifi \
        --with-modem-manager-1 --with-ofono --with-more-asserts \
        --with-more-logging
    make -j20
    strip ./src/NetworkManager

  gives 2822840 vs. 2625960 bytes (-7%).

- this also gives more control over the symbols that are used by the
  plugins. Yes, it means if you modify a plugin to use a new symbols,
  you have to extend NetworkManager.ver file.
  You can run the script to create the version file:

    $ ./tools/create-exports-NetworkManager.sh update

  but be sure that your current configuration enables all plugins
  and debugging options to actually use all symbols that are in use.

- If you compile with certain plugins enabled, you could theoretically
  re-compile NetworkManager to expose less symbols. Try:

    $ ./tools/create-exports-NetworkManager.sh build

- note that we have `make check` tests to ensure that all used
  symbols of the plugins can be found. So, it should not be possible
  to accidentally forget to expose a symbol.
2016-10-13 21:33:33 +02:00
..
check-exports.sh tools/check-exports.sh: use ${NM} when available 2015-09-24 16:28:15 +02:00
create-exports-NetworkManager.sh build: explicitly whitelist symbols in NetworkManager binary 2016-10-13 21:33:33 +02:00
debug-helper.py tools: move debug-helper.py from test/ to tools/ 2014-07-30 15:56:19 -04:00
enums-to-docbook.pl docs: include the D-Bus enums reference with the API documentation 2016-04-22 10:02:37 +02:00
Makefile.am tools: add forgotten file to dist 2016-04-23 20:08:01 +02:00
run-test-dbus-session.sh tests: fix bashism in run-test-dbus-session.sh 2016-03-03 13:45:50 +01:00
run-test-valgrind.sh platform: add network namespace support to platform 2016-03-07 12:28:13 +01:00
test-networkmanager-service.py manager: add Reload() D-Bus command 2016-06-01 19:06:34 +02:00
test-sudo-wrapper.sh nmtst: add nmtst_reexec_sudo() function 2014-06-05 18:12:57 +02:00