Re: [systemd-devel] [PATCH] gudev: avoid using export-symbols-regex

2014-05-20 Thread Kay Sievers
On Wed, Apr 23, 2014 at 11:43 AM, Cristian Rodríguez
crrodrig...@opensuse.org wrote:
 There is no need for this hackery, just hide the internal
 functions using glib 's  G_GNUC_INTERNAL macro.

Hmm, why is that a hack?

Explicitly exporting functions with a well-defined prefix sounds more
robust than exporting everything that isn't explicitly hidden, or do I
miss something?

Thanks,
Kay
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] gudev: avoid using export-symbols-regex

2014-05-20 Thread Cristian Rodríguez
El mar 20 may 2014 13:25:52 CLT, Kay Sievers escribió:
 On Wed, Apr 23, 2014 at 11:43 AM, Cristian Rodríguez
 crrodrig...@opensuse.org wrote:
 There is no need for this hackery, just hide the internal
 functions using glib 's  G_GNUC_INTERNAL macro.

 Hmm, why is that a hack?

 Explicitly exporting functions with a well-defined prefix sounds more
 robust than exporting everything that isn't explicitly hidden, or do I
 miss something?

I came across this while trying to build gudev with gcc 4.9, it turns 
out there seems to be a bug in libtool that causes it to generate 
improper
symbol scripts when LTO is enabled.. (it calls nm, when it should call 
gcc wrapper gcc-nm-..)  Therefore I attempted to simply get rid of it by
using the compiler facility to hide what needs to be hidden.

By now I figured the root cause however.


--
Cristian
I don't know the key to success, but the key to failure is trying to 
please everybody.
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


[systemd-devel] [PATCH] gudev: avoid using export-symbols-regex

2014-04-22 Thread Cristian Rodríguez
There is no need for this hackery, just hide the internal
functions using glib 's  G_GNUC_INTERNAL macro.
---
 Makefile.am  | 3 +--
 src/gudev/gudevprivate.h | 4 ++--
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 6967b6f..903d888 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3016,8 +3016,7 @@ libgudev_1_0_la_LIBADD = \
 libgudev_1_0_la_LDFLAGS = \
$(AM_LDFLAGS) \
-version-info $(LIBGUDEV_CURRENT):$(LIBGUDEV_REVISION):$(LIBGUDEV_AGE) \
-   -export-dynamic -no-undefined \
-   -export-symbols-regex '^g_udev_.*'
+   -no-undefined
 
 src/gudev/gudevmarshal.h: src/gudev/gudevmarshal.list
$(AM_V_at)$(MKDIR_P) $(dir $@)
diff --git a/src/gudev/gudevprivate.h b/src/gudev/gudevprivate.h
index 52e272b..a656ff2 100644
--- a/src/gudev/gudevprivate.h
+++ b/src/gudev/gudevprivate.h
@@ -31,9 +31,9 @@
 G_BEGIN_DECLS
 
 GUdevDevice *
-_g_udev_device_new (struct udev_device *udevice);
+_g_udev_device_new (struct udev_device *udevice) G_GNUC_INTERNAL;
 
-struct udev *_g_udev_client_get_udev (GUdevClient *client);
+struct udev *_g_udev_client_get_udev (GUdevClient *client) G_GNUC_INTERNAL;
 
 G_END_DECLS
 
-- 
1.8.4.5

___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel