[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: big number of relocations in gtk2 binding
- From: Thierry Vignaud <tvignaud mandriva com>
- To: muppet <scott asofyet org>
- Cc: gtk2-perl List <gtk-perl-list gnome org>
- Subject: Re: big number of relocations in gtk2 binding
- Date: Tue, 12 Feb 2008 17:28:14 +0100
Thierry Vignaud <tvignaud mandriva com> writes:
> > I put a new version of the patch at
> > http://asofyet.org/muppet/software/gtk2-perl/relocations-2.patch .
> >
> > Diffstat says:
> >
> > 213 files changed, 328 insertions(+), 226 deletions(-)
> >
> > and relinfo.pl says:
> >
> > 267 relocations, 228 relative (85%), 3845 PLT entries, 26 for
> > local syms (0%), 0 users
> >
> > That's 85% versus 76% with the previous patch, and a drop of 3 PLTs.
> > Nearly all of the PLTs are for things from dependent libraries, so
> > there's not much we can do about that.
>
> note that with that release, -fPIC became mandatory on x86_64:
>
> [ LD blib/arch/auto/Gtk2/Gtk2.so ]
> /usr/bin/ld: xs/GtkStock.o: relocation R_X86_64_PC32 against `gtk2perl_translate_func_create' can not be used when making a shared object; recompile with -fPIC
> /usr/bin/ld: final link failed: Bad value
> collect2: ld returned 1 exit status
The actual issue is with visibility. On x86_64, I'd to reverse some
bits:
diff -p -up ./gtk2perl-private.h.tv ./gtk2perl-private.h
--- ./gtk2perl-private.h.tv 2008-02-12 17:02:59.000000000 +0100
+++ ./gtk2perl-private.h 2008-02-12 16:53:39.000000000 +0100
@@ -27,24 +27,24 @@
#include "gtk2perlinternal.h"
/* Implemented in GtkItemFactory.xs. */
-__hidden__ GPerlCallback * gtk2perl_translate_func_create (SV * func, SV * data);
-__hidden__ gchar * gtk2perl_translate_func (const gchar *path, gpointer data);
+GPerlCallback * gtk2perl_translate_func_create (SV * func, SV * data);
+gchar * gtk2perl_translate_func (const gchar *path, gpointer data);
/* Implemented in GtkRecentManager.xs */
-__hidden__ const gchar ** gtk2perl_sv_to_strv (SV *sv);
-__hidden__ SV * gtk2perl_sv_from_strv (const gchar **strv);
+gchar ** gtk2perl_sv_to_strv (SV *sv);
+SV * gtk2perl_sv_from_strv (const gchar **strv);
#if GTK_CHECK_VERSION (2, 6, 0)
/* Implemented in GtkTreeView.xs. */
-__hidden__ GPerlCallback * gtk2perl_tree_view_row_separator_func_create (SV * func,
+GPerlCallback * gtk2perl_tree_view_row_separator_func_create (SV * func,
SV * data);
-__hidden__ gboolean gtk2perl_tree_view_row_separator_func (GtkTreeModel *model,
+gboolean gtk2perl_tree_view_row_separator_func (GtkTreeModel *model,
GtkTreeIter *iter,
gpointer data);
#endif
/* Implemented in PangoAttributes.xs. */
-__hidden__ void gtk2perl_pango_attribute_register_custom_type (PangoAttrType type, const char *package);
+__hidden__ void gtk2perl_pango_attribute_register_custom_type (PangoAttrType type, const char *package);
#define GTK2PERL_PANGO_ATTR_REGISTER_CUSTOM_TYPE(attr, package) \
{ \
$ relinfo.pl blib/arch/auto/Gtk2/Gtk2.so
blib/arch/auto/Gtk2/Gtk2.so: 262 relocations, 228 relative (87%), 3856 PLT entries, 28 for local syms (0%), 0 users
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]