summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2012-01-12 20:48:52 +0100
committerJim Meyering <meyering@redhat.com>2012-02-10 20:05:49 +0100
commit07f333334f2a46a241296dd9356f947634f1182c (patch)
tree42549bffde8fa67d72678d45250a3571796a5d0f
parent90819565ebd4bf42f70e2b6b19e7ea5172fce4c5 (diff)
downloadparted-07f333334f2a46a241296dd9356f947634f1182c.tar.gz
lib-fs-resize: use linker script to expose only selected functions
* libparted/fs/Makefile.am (libparted_fs_resize_la_LDFLAGS): Define. (EXTRA_DIST): Distribute the new file. (libparted_fs_resize_la_DEPENDENCIES): Make the library depend on it. * libparted/fs/fsresize.sym: New file.
-rw-r--r--libparted/fs/Makefile.am7
-rw-r--r--libparted/fs/fsresize.sym13
2 files changed, 19 insertions, 1 deletions
diff --git a/libparted/fs/Makefile.am b/libparted/fs/Makefile.am
index 28a0c7a..e1f675e 100644
--- a/libparted/fs/Makefile.am
+++ b/libparted/fs/Makefile.am
@@ -65,7 +65,12 @@ CURRENT = 0
REVISION = 0
AGE = 0
-libparted_fs_resize_la_LDFLAGS = -version-info $(CURRENT):$(REVISION):$(AGE)
+libparted_fs_resize_la_LDFLAGS = \
+ -Wl,--version-script=fsresize.sym \
+ -version-info $(CURRENT):$(REVISION):$(AGE)
+EXTRA_DIST += fsresize.sym
+libparted_fs_resize_la_DEPENDENCIES = fsresize.sym
+
libparted_fs_resize_la_SOURCES = \
r/filesys.c \
r/fat/bootsector.c \
diff --git a/libparted/fs/fsresize.sym b/libparted/fs/fsresize.sym
new file mode 100644
index 0000000..86829d1
--- /dev/null
+++ b/libparted/fs/fsresize.sym
@@ -0,0 +1,13 @@
+# This is an LD linker script.
+# Expose only the functions named below.
+
+LIBPARTED_FS_RESIZE_0.0.0 {
+ global:
+ ped_file_system_close;
+ ped_file_system_get_resize_constraint;
+ ped_file_system_open;
+ ped_file_system_resize;
+
+ local:
+ *;
+};