This is the mail archive of the
libc-alpha@sourceware.cygnus.com
mailing list for the glibc project.
Re: problem __va_arg_type_violation in glibc-2.1.3 cvs
- To: Kaoru Fukui <k_fukui at highway dot ne dot jp>
- Subject: Re: problem __va_arg_type_violation in glibc-2.1.3 cvs
- From: Franz Sirl <Franz dot Sirl-kernel at lauterbach dot com>
- Date: Wed, 13 Oct 1999 13:05:59 +0200
- Cc: libc-alpha at sourceware dot cygnus dot com
At 12:22 13.10.99 , Kaoru Fukui wrote:
>Hi!
>
>I have this problem when I am compiling xemacs.
> I have been rebuilt the same xemacs source a few month ago on current glibc-
>2.1.2.
>It was ok.
>
>But glibc-2.1.3 which I downloaded on yesterday gave the error for me.
>Kevin also have the error
>
><snip>
> window.o lastfile.o vm-limit.o ralloc.o EmacsFrame.o EmacsShell.o
> TopLevelEmacsShell.o
>TransientEmacsShell.o EmacsManager.o ../lwlib/liblw.a -lcanna -lRKC
>-lwnn -
>lXaw -lcompface -ltiff -lpng -ljpeg -lz -lXpm -lXmu -lXt -lXext -lX11 -lSM -
>lICE -ldl -ldb -lgpm -lncurses -lcrypt -lm -lgcc -lc -lgcc /usr/lib/crtn.o
>`gcc -print-libgcc-file-name`
>doprnt.o: In function `get_doprnt_args':
>doprnt.o(.text+0xb6c): undefined reference to `__va_arg_type_violation'
>doprnt.o(.text+0xba8): undefined reference to `__va_arg_type_violation'
>collect2: ld returned 1 exit status
>make[1]: *** [temacs] Error 1
>make[1]: Leaving directory `/usr/src/redhat/BUILD/xemacs-21.1.4/src'
>make: *** [src] Error 2
That's a bug in xemacs, which is uncovered by gcc-2.95. In
doprnt.c/get_doprnt_args() an invalid va_arg like eg. va_arg(ap,char) or
va_arg(ap,short) is used. va_arg can only take promoted types. Replace it
with something like "(char) va_arg(ap,int)".
Franz.