This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/15291] New: cannot enable executable stack as shared object requires


http://sourceware.org/bugzilla/show_bug.cgi?id=15291

             Bug #: 15291
           Summary: cannot enable executable stack as shared object
                    requires
           Product: glibc
           Version: 2.14
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
        AssignedTo: unassigned@sourceware.org
        ReportedBy: gauryogesh.nsit@gmail.com
                CC: drepper.fsp@gmail.com
    Classification: Unclassified


I have taken the patch provided for the issue "do_lookup_x may access dangling
memory" fixed in bugzilla http://sourceware.org/bugzilla/show_bug.cgi?id=13579

With this patch crash issue of "do_lookup_x may access dangling memory" gets
solved but I am getting one more new issue on my MIPS target.

error : ./libjpeg.so: cannot enable executable stack as shared object requires:
Invalid argument.

--------------------------------------------------------------
cat test.c
#include <stdio.h>
#include <dlfcn.h>
#include <pthread.h>

void *handle;

static void *thread_abc()
{
        handle = dlopen ("./libjpeg.so", RTLD_LAZY | RTLD_GLOBAL);
        printf ("<thread_abc> Handle:%p\n", handle);
        dlclose (handle);
        return NULL;
}

static void *thread_xyz()
{
        handle = dlopen ("./libjpeg.so", RTLD_LAZY | RTLD_GLOBAL);
        printf ("<thread_abc> Handle:%p\n", handle);
        dlclose (handle);
        return NULL;
}

int main()
{
        int i=0;
        handle = dlopen ("./libjpeg.so", RTLD_LAZY | RTLD_GLOBAL);
        printf ("<thread_abc> Handle:%p\n", handle);
        if((error=dlerror()) != NULL)
                printf("error : %s\n", error);
        if(handle==NULL)
                return 0;
        printf ("<thread_abc> Handle:%p\n", handle);
        dlclose (handle);
        printf ("Returning from main\n");
        return 0;
}

-------------------------------------------------

When I check my libjpeg.so with readelf it didn't have any STACK frame

$ mipsel-34kv3r1-linux-gnu-readelf -l libjpeg.so | grep "STACK"
$

Furthermore, I checked that if I removed the patch for BUG 13579, then this
issue is not occurring.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]