From aac7c5ed8bc6ffaba417b9c0b87bcf342865431b Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Wed, 17 Jun 2015 07:23:31 +0200 Subject: [PATCH] build-sys: hide magic section variables from exported symbols https://github.com/systemd/systemd/issues/234 --- Makefile.am | 11 +---------- src/libsystemd/sd-bus/bus-error.c | 8 +++++--- 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 */