bug-gzip
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

lib/vasnprintf.c line 2387 etc etc


From: Paul Lanken
Subject: lib/vasnprintf.c line 2387 etc etc
Date: Mon, 12 Oct 2009 16:07:42 -0400

during make of gzip 1.3.13 the following issues are seen on Solaris 8
x86 with Sun Studio 11 C compiler and all recent patches :

$ make
Making all in lib
gmake[1]: Entering directory `/build/gzip/i386/SunOS5.8/generic/lib'
  GEN    configmake.h
  GEN    fcntl.h
  GEN    getopt.h
  GEN    math.h
  GEN    stdbool.h
  GEN    stdint.h
  GEN    stdio.h
  GEN    stdlib.h
  GEN    string.h
  GEN    sys/stat.h
  GEN    time.h
  GEN    unistd.h
  GEN    wchar.h
gmake  all-recursive
gmake[2]: Entering directory `/build/gzip/i386/SunOS5.8/generic/lib'
gmake[3]: Entering directory `/build/gzip/i386/SunOS5.8/generic/lib'
  CC     close-hook.o
  CC     freadahead.o
  CC     freading.o
  CC     fseterr.o
  CC     localcharset.o
  CC     printf-frexp.o
  CC     printf-frexpl.o
  CC     xalloc-die.o
  CC     asnprintf.o
  CC     close-stream.o
  CC     closein.o
  CC     closeout.o
  CC     creat-safer.o
  CC     dup-safer.o
  CC     error.o
  CC     exitfail.o
  CC     fd-safer.o
  CC     fprintf.o
  CC     fpurge.o
  CC     frexpl.o
  CC     getopt.o
  CC     getopt1.o
  CC     isnanf.o
  CC     isnanl.o
  CC     lstat.o
  CC     mbrtowc.o
  CC     mbsinit.o
  CC     open.o
  CC     open-safer.o
  CC     pipe-safer.o
  CC     printf.o
  CC     printf-args.o
  CC     printf-parse.o
  CC     quotearg.o
  CC     signbitd.o
  CC     signbitf.o
  CC     signbitl.o
  CC     stat.o
  CC     strerror.o
  CC     utimens.o
  CC     vasnprintf.o
"../../../../gzip-1.3.13/lib/vasnprintf.c", line 2387: warning:
argument #3 is incompatible with prototype:
        prototype: pointer to struct __mbstate_t {array[6] of int
__filler} : "/usr/include/iso/wchar_iso.h", line 194
        argument : pointer to int
"../../../../gzip-1.3.13/lib/vasnprintf.c", line 2432: warning:
argument #3 is incompatible with prototype:
        prototype: pointer to struct __mbstate_t {array[6] of int
__filler} : "/usr/include/iso/wchar_iso.h", line 194
        argument : pointer to int
"../../../../gzip-1.3.13/lib/vasnprintf.c", line 2563: warning:
argument #3 is incompatible with prototype:
        prototype: pointer to struct __mbstate_t {array[6] of int
__filler} : "/usr/include/iso/wchar_iso.h", line 194
        argument : pointer to int
"../../../../gzip-1.3.13/lib/vasnprintf.c", line 2592: warning:
argument #3 is incompatible with prototype:
        prototype: pointer to struct __mbstate_t {array[6] of int
__filler} : "/usr/include/iso/wchar_iso.h", line 194
        argument : pointer to int
  CC     vfprintf.o
  CC     xmalloc.o
  CC     yesno.o
  AR     libgzip.a
  GEN    charset.alias
  GEN    ref-add.sed
  GEN    ref-del.sed
gmake[3]: Leaving directory `/build/gzip/i386/SunOS5.8/generic/lib'
gmake[2]: Leaving directory `/build/gzip/i386/SunOS5.8/generic/lib'
gmake[1]: Leaving directory `/build/gzip/i386/SunOS5.8/generic/lib'
Making all in doc
gmake[1]: Entering directory `/build/gzip/i386/SunOS5.8/generic/doc'
gmake[1]: Nothing to be done for `all'.
gmake[1]: Leaving directory `/build/gzip/i386/SunOS5.8/generic/doc'
gmake[1]: Entering directory `/build/gzip/i386/SunOS5.8/generic'
  CC     bits.o
  CC     crypt.o
  CC     deflate.o
  CC     gzip.o
  CC     inflate.o
  CC     lzw.o
  CC     trees.o
  CC     unlzh.o
  CC     unlzw.o
  CC     unpack.o
  CC     unzip.o
  CC     util.o
  CC     zip.o
  CCLD   gzip
Undefined                       first referenced
 symbol                             in file
__printf__                          gzip.o
ld: fatal: Symbol referencing errors. No output written to gzip
gmake[1]: *** [gzip] Error 1
gmake[1]: Leaving directory `/build/gzip/i386/SunOS5.8/generic'
gmake: *** [all-recursive] Error 1

Looks like some issue related the the use of GNU C keyword
__attribute__ in code that should probably be standard K&R C or even
ISO/IEC 9899:1999.

Not sure how to fix this but some clean up work needs to be done ..
comments like :

/* In GNU libc we want do not want to use the common name `error' directly.
   Instead make it a weak alias.  */
extern void __error (int status, int errnum, const char *message, ...)
     __attribute__ ((__format__ (__printf__, 3, 4)));
extern void __error_at_line (int status, int errnum, const char *file_name,
                             unsigned int line_number, const char *message,
                             ...)
     __attribute__ ((__format__ (__printf__, 5, 6)));;

The double ;; at the end there and the double negative comment causes
me to think that perhaps this code has never been looked at by anyone?

Paul




reply via email to

[Prev in Thread] Current Thread [Next in Thread]