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/11929] New: glibc-2.12: static binaries: __getpagesize: Assertion `_rtld_global_ro._dl_pagesize != 0'


as first reported here:
    http://thread.gmane.org/gmane.comp.lib.glibc.user/579

building programs statically that require shared nss libraries at runtime will
often crash with the assert '_rtld_global_ro._dl_pagesize != 0'

this is because after a recent change to __getpagesize(), GLRO(dl_pagesize) is
required to be set.  but that is only done at app init, and shared libraries
dlopened at runtime by static apps dont have their GLRO() state initialized from
the linux auxvec.

ia64/mips have long had similar behavior with their __getpagesize(), but they
have a DL_STATIC_INIT hook to sync some of the static GLRO() fields to the
dynamic GLRO() fields.  now that common linux code requires GLRO(dl_pagesize) to
be set, common linux code now needs that DL_STATIC_INIT hook.

attached patch takes the ia64 logic and promotes it to common code.

-- 
           Summary: glibc-2.12: static binaries: __getpagesize: Assertion
                    `_rtld_global_ro._dl_pagesize != 0'
           Product: glibc
           Version: 2.12
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
        AssignedTo: drepper at redhat dot com
        ReportedBy: vapier at gentoo dot org
                CC: glibc-bugs at sources dot redhat dot com
  GCC host triplet: x86_64-linux-gnu


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

------- 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]