]> andersk Git - nss_nonlocal.git/commitdiff
Use a version script to hide internal symbols.
authorAnders Kaseorg <andersk@mit.edu>
Thu, 8 May 2008 11:49:26 +0000 (07:49 -0400)
committerAnders Kaseorg <andersk@mit.edu>
Sun, 27 Jul 2008 13:20:52 +0000 (09:20 -0400)
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Makefile
libnss_nonlocal.map [new file with mode: 0644]

index 58e185f66f9999b7772c185eedd802ebe241d871..10d13068f96e28d8c707dca811e341b49c942e46 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -11,8 +11,10 @@ ALL_LDFLAGS = $(LDFLAGS) -shared -Wl,-x
 
 all: libnss_nonlocal.so.2 linktest
 
-libnss_nonlocal.so.2: nonlocal-passwd.o nonlocal-group.o nonlocal-shadow.o
-       $(CC) -o $@ $(ALL_LDFLAGS) -Wl,-soname,$@ $^ $(LOADLIBES) $(LDLIBS)
+OBJS = nonlocal-passwd.o nonlocal-group.o nonlocal-shadow.o
+
+libnss_nonlocal.so.2: $(OBJS) libnss_nonlocal.map
+       $(CC) -o $@ $(ALL_LDFLAGS) -Wl,-soname,$@ -Wl,--version-script=libnss_nonlocal.map $(OBJS) $(LOADLIBES) $(LDLIBS)
 
 %.o: %.c
        $(CC) -c $(ALL_CFLAGS) $(CPPFLAGS) $<
@@ -29,6 +31,6 @@ install: libnss_nonlocal.so.2
        $(INSTALL) -m a+r,u+w $< $(DESTDIR)$(libdir)/
 
 clean:
-       rm -f *.so.* *.o test-nonlocal
+       rm -f *.so.* *.o
 
 .PHONY: all linktest install clean
diff --git a/libnss_nonlocal.map b/libnss_nonlocal.map
new file mode 100644 (file)
index 0000000..9082d5d
--- /dev/null
@@ -0,0 +1,24 @@
+GLIBC_2.0 {
+  global:
+    _nss_nonlocal_setpwent;
+    _nss_nonlocal_endpwent;
+    _nss_nonlocal_getpwent_r;
+    _nss_nonlocal_getpwuid_r;
+    _nss_nonlocal_getpwnam_r;
+
+    _nss_nonlocal_setspent;
+    _nss_nonlocal_endspent;
+    _nss_nonlocal_getspent_r;
+    _nss_nonlocal_getspnam_r;
+
+    _nss_nonlocal_setgrent;
+    _nss_nonlocal_endgrent;
+    _nss_nonlocal_getgrent_r;
+    _nss_nonlocal_getgrgid_r;
+    _nss_nonlocal_getgrnam_r;
+
+    _nss_nonlocal_initgroups_dyn;
+
+  local:
+    *;
+};
This page took 0.621478 seconds and 5 git commands to generate.