This is the mail archive of the glibc-bugs@sources.redhat.com 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/1048] New: MIPS page size support for shared objects dlopen()ed from static ones


Complementing the change to support variable page sizes for MIPS, here is
an update to make getpagesize() work correctly for shared objects pulled by
dlopen() from static executables.  As the area used originally for the
auxiliary vector cannot be trusted anymore at this point, the page size is
passed from dlopen() to an auxiliary ld.so initializer explicitly.  For this
to work the RELRO segment needs to be updated, which unfortunately requires
a somewhat complicated sequence of steps to turn on write permission
beforehand and turn it off again afterwards.

 Here are the necessary changes.

2005-07-04  Maciej W. Rozycki  <macro@linux-mips.org>

        * elf/dl-reloc.c (_dl_protect_relro): Expect and handle an
        additional argument specifying protection mode to use.  Update
        error messages accordingly.
        (_dl_relocate_object): Update the call to _dl_protect_relro().
        * elf/rtld.c (dl_main): Likewise.
        * sysdeps/generic/ldsodefs.h (_dl_protect_relro): Update the
        prototype.
        * sysdeps/unix/sysv/linux/mips/dl-static.c: New file to support
        variable page size for MIPS.
	* sysdeps/unix/sysv/linux/mips/ldsodefs.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/Dist: Add dl-static.c.
	* sysdeps/unix/sysv/linux/mips/Makefile: Build dl-static in elf.
	* sysdeps/unix/sysv/linux/mips/Versions: Add _dl_var_init.

 See: "http://sourceware.org/ml/libc-alpha/2003-12/msg00159.html"; for an
additional reference.

-- 
           Summary: MIPS page size support for shared objects dlopen()ed
                    from static ones
           Product: glibc
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
        AssignedTo: gotom at debian dot or dot jp
        ReportedBy: macro at linux-mips dot org
                CC: drow at false dot org,glibc-bugs at sources dot redhat
                    dot com
  GCC host triplet: mipsel-unknown-linux-gnu


http://sources.redhat.com/bugzilla/show_bug.cgi?id=1048

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


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