summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKay Sievers <kay@vrfy.org>2015-06-17 07:23:31 +0200
committerKay Sievers <kay@vrfy.org>2015-06-17 07:29:15 +0200
commitaac7c5ed8bc6ffaba417b9c0b87bcf342865431b (patch)
tree56a22e0da1e8ae4e1313a8432eb06197e719422e
parent3eb3228e583e7e07dc3f2d17ea02dcb06f30fcc0 (diff)
build-sys: hide magic section variables from exported symbols
https://github.com/systemd/systemd/issues/234
-rw-r--r--Makefile.am11
-rw-r--r--src/libsystemd/sd-bus/bus-error.c8
2 files changed, 6 insertions, 13 deletions
diff --git a/Makefile.am b/Makefile.am
index 1dd6dbd5e5..2a79a2a683 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3460,10 +3460,6 @@ libudev_la_SOURCES =\
src/libudev/libudev-queue.c \
src/libudev/libudev-hwdb.c
-libudev_la_CFLAGS = \
- $(AM_CFLAGS) \
- -fvisibility=hidden
-
libudev_la_LDFLAGS = \
$(AM_LDFLAGS) \
-version-info $(LIBUDEV_CURRENT):$(LIBUDEV_REVISION):$(LIBUDEV_AGE) \
@@ -3495,10 +3491,6 @@ noinst_LTLIBRARIES += \
libudev_internal_la_SOURCES =\
$(libudev_la_SOURCES)
-libudev_internal_la_CFLAGS = \
- $(AM_CFLAGS) \
- -fvisibility=default
-
# ------------------------------------------------------------------------------
INSTALL_DIRS += \
$(sysconfdir)/udev/rules.d
@@ -5539,8 +5531,7 @@ pam_systemd_la_SOURCES = \
pam_systemd_la_CFLAGS = \
$(AM_CFLAGS) \
- $(PAM_CFLAGS) \
- -fvisibility=hidden
+ $(PAM_CFLAGS)
pam_systemd_la_LDFLAGS = \
$(AM_LDFLAGS) \
diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c
index dac157be16..64a5a972ae 100644
--- a/src/libsystemd/sd-bus/bus-error.c
+++ b/src/libsystemd/sd-bus/bus-error.c
@@ -70,9 +70,11 @@ BUS_ERROR_MAP_ELF_REGISTER const sd_bus_error_map bus_standard_errors[] = {
SD_BUS_ERROR_MAP_END
};
-/* GCC maps this magically to the beginning and end of the BUS_ERROR_MAP section */
-extern const sd_bus_error_map __start_BUS_ERROR_MAP[];
-extern const sd_bus_error_map __stop_BUS_ERROR_MAP[];
+/* GCC maps this magically to the beginning and end of the BUS_ERROR_MAP section.
+ * Hide them; for currently unknown reasons they get exported to the shared libries
+ * even without being listed in the sym file. */
+extern const sd_bus_error_map __start_BUS_ERROR_MAP[] _hidden_;
+extern const sd_bus_error_map __stop_BUS_ERROR_MAP[] _hidden_;
/* Additional maps registered with sd_bus_error_add_map() are in this
* NULL terminated array */