This is the mail archive of the
libc-help@sourceware.org
mailing list for the glibc project.
Re: vi and glibc 2.12: Assertion `_rtld_global_ro._dl_pagesize != 0
On Friday 21 of May 2010, H.J. Lu wrote:
> On Fri, May 21, 2010 at 11:42 AM, Arkadiusz Miskiewicz <arekm@maven.pl>
wrote:
> > On Thursday 13 of May 2010, Arkadiusz Miskiewicz wrote:
> >> With glibc 2.12 vi (from vim 7.2.422) started dying here with:
> >>
> >> 188679 write(2, "vi: ../sysdeps/unix/sysv/linux/getpagesize.c:32:
> >> __getpagesize: Assertion `_rtld_global_ro._dl_pagesize != 0' failed.\n",
> >> 118) = 118
> >>
> >> Vim: Caught deadly signal ABRT
> >>
> >> Has anyone seen this?
> >
> > Simple reproducer for:
> >
> > [arekm@carme-pld ~]$ ./a.out
> > a.out: ../sysdeps/unix/sysv/linux/getpagesize.c:32: __getpagesize:
> > Assertion `_rtld_global_ro._dl_pagesize != 0' failed.
> >
> > [arekm@carme-pld ~]$ cat a.c
> > #include <sys/types.h>
> > #include <pwd.h>
> > int main() {
> >
> > getpwnam("root");
> > return 0;
> > }
> >
> > [arekm@carme-pld ~]$ gcc a.c -static
> > /home/users/arekm/tmp/ccedPM2o.o: In function `main':
> > a.c:(.text+0xa): warning: Using 'getpwnam' in statically linked
> > applications requires at runtime the shared libraries from the glibc
> > version used for linking
> > [arekm@carme-pld ~]$ ./a.out
> > a.out: ../sysdeps/unix/sysv/linux/getpagesize.c:32: __getpagesize:
> > Assertion `_rtld_global_ro._dl_pagesize != 0' failed.
> > zsh: abort ./a.out
> > [arekm@carme-pld ~]$ gcc --version
> > gcc (PLD-Linux) 4.5.0 20100520 (release)
> > Copyright (C) 2010 Free Software Foundation, Inc.
> > This is free software; see the source for copying conditions. There is
> > NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
> > PURPOSE.
>
> I have no problem with glibc 2.12 on Linux/ia32
> and Linux/Intel64. Can you try gcc 4.4.4 instead of
> gcc 4.5.0?
a.out built in 1) and 2) environments works in these but fails on my glibc
2.12 env.
1)
gcc-4.4.3-5.x86_64
glibc-2.11.1-5.x86_64
binutils-2.20.51.0.7-1.x86_64
2)
gcc-3.3.6-9.amd64
glibc64-2.3.6-18.amd64
binutils-2.19.51.0.14-1.amd64
The only working solution was building on
gcc-3.3.6-9.i686
glibc-2.3.6-18.i686
binutils-2.19.51.0.14-1.i686
and running on glibc 2.12 i686.
--
Arkadiusz MiÅkiewicz PLD/Linux Team
arekm / maven.pl http://ftp.pld-linux.org/