bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Disabling -pie when linking?


From: Svante Signell
Subject: Re: Disabling -pie when linking?
Date: Tue, 29 Jan 2013 10:09:52 +0100

On Tue, 2013-01-29 at 07:36 +0100, Svante Signell wrote:
> On Tue, 2013-01-29 at 00:13 +0100, Samuel Thibault wrote:
> > Svante Signell, le Sun 20 Jan 2013 18:18:16 +0100, a écrit :
> > > A recent problem popping up is that executables using the -pie flag when
> > > linking segfaults when starting up. Examples are mktable in w3m
> > 
> > It doesn't seem so simple. I've tried building a small program with
> > -pie, and it does work. I've tried to use w3m, it does work. elinks does
> > indeed crash.

No problems with mktable in w3m?

> I know in which module elinks crashes. Disabling it makes things work
> again. Can this be of interest?

The problems with elinks is when initializing the perl_scripting_module
in src/scripting/scripting.c defined in src/scripting/perl/perl.c

$ cat hurd-pie.patch
--- elinks-0.12pre5/src/scripting/scripting.c   2009-07-07
14:23:17.000000000 +0200
+++ elinks-0.12~pre5/src/scripting/scripting.c  2013-01-18
16:52:17.000000000 +0100
@@ -75,9 +75,11 @@ static struct module *scripting_modules[
 #ifdef CONFIG_SCRIPTING_GUILE
        &guile_scripting_module,
 #endif
+       /*
 #ifdef CONFIG_SCRIPTING_PERL
        &perl_scripting_module,
 #endif
+       */
 #ifdef CONFIG_SCRIPTING_PYTHON
        &python_scripting_module,
 #endif

$ cat src/scripting/perl/perl.c
/* Perl module */

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#include "elinks.h"

#include "intl/gettext/libintl.h"
#include "main/module.h"
#include "scripting/perl/core.h"
#include "scripting/perl/hooks.h"


struct module perl_scripting_module = struct_module(
        /* name: */             N_("Perl"),
        /* options: */          NULL,
        /* hooks: */            perl_scripting_hooks,
        /* submodules: */       NULL,
        /* data: */             NULL,
        /* init: */             init_perl,
        /* done: */             cleanup_perl
);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]