diff options
author | Thomas Haller <thaller@redhat.com> | 2016-03-08 17:21:22 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2016-03-08 17:45:50 +0100 |
commit | 24d96e6f65cf29c76b462c37362190c54a4c0698 (patch) | |
tree | 649f4c4bef0e1220b9dbda79e63203e36e2904be | |
parent | d5cc42ff6f12abd82a0b703f83cd77963bcffde4 (diff) | |
download | NetworkManager-24d96e6f65cf29c76b462c37362190c54a4c0698.tar.gz |
build: hide internal symbols in NetworkManager binary
We must export some symbols from NetworkManager binary so that
the device plugins can function. However, many symbols are truly
private and must not be exposed.
Especially, our internal clone of the systemd ABI must be hidden
to avoid resolution conflicts when loading any external systemd
libraries.
-rw-r--r-- | src/Makefile.am | 4 | ||||
-rw-r--r-- | src/NetworkManager.ver | 9 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index ff3d0ba873..65787a18f4 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -524,7 +524,9 @@ if WITH_LIBSOUP libNetworkManager_la_LIBADD += $(LIBSOUP_LIBS) endif -NetworkManager_LDFLAGS = -rdynamic +NetworkManager_LDFLAGS = \ + -rdynamic \ + -Wl,--version-script="$(srcdir)/NetworkManager.ver" ###################### diff --git a/src/NetworkManager.ver b/src/NetworkManager.ver new file mode 100644 index 0000000000..b4397b9c20 --- /dev/null +++ b/src/NetworkManager.ver @@ -0,0 +1,9 @@ +{ +global: + nm*; + _nm*; + NM*; + _NM*; +local: + *; +}; |