bug-gnulib
[Top][All Lists]
Advanced

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

Re: Fwd: Re: error.c: "Unknown system error" should report errno value (


From: Martin Koeppe
Subject: Re: Fwd: Re: error.c: "Unknown system error" should report errno value (fwd)
Date: Sat, 13 Oct 2007 19:45:32 +0200 (CEST)


sorry, just noted that I forgot to add the list in reply...


---------- Forwarded message ----------
Date: Tue, 9 Oct 2007 09:49:29 +0200 (CEST)
From: Martin Koeppe
To: Bruno Haible
Subject: Re: Fwd: Re: error.c: "Unknown system error" should report errno value


On Tue, 9 Oct 2007, Bruno Haible wrote:

Martin Koeppe wrote:
Now found out, that GNULIB_SPRINTF_POSIX and REPLACE_SPRINTF are set
to 0 by configure, seems to be the default value, and apparently
nowhere else get touched during configure (I only see 2 occurences of
these 2 variables in the whole configure), so stay 0 and sprintf(),
which seq uses, isn't properly replaced.

The copy of src/seq.c that I have uses asprintf(), not sprintf(), in
print_numbers().
Ok, you're right. The relevant output is done by asprintf(). And by printf() in line 269. I did a "grep -n printf seq.c":

69:    fprintf (stderr, _("Try `%s --help' for more information.\n"),
73:      printf (_("\
81:  -f, --format=FORMAT      use printf style floating-point FORMAT\n\
172:/* If FORMAT is a valid printf format for a double argument, return
243:          if (asprintf (&x_str, fmt, x) < 0
244:              || asprintf (&last_str, fmt, last) < 0)
250:              if (asprintf (&x0_str, fmt, x0) < 0)
269:      printf (fmt, x);
299:          sprintf (format_buf, "%%0%d.%dLf", w, prec);
305:      sprintf (format_buf, "%%.%dLf", prec);
321:  /* The printf(3) format used for output.  */

In config.h as well as config.hin I have none of REPLACE_PRINTF, REPLACE_SPRINTF, REPLACE_ASPRINTF even mentioned. I use the snapshot 316 and just "./configure --disable-nls && make", no "./bootstrap".

Can you show the output of "nm lib/*printf*.o" ?
See below. I think printf() is missing there.

Martin


asnprintf.o:
00000000 b .bss
00000000 d .data
00000000 N .stab
00000000 N .stabstr
00000000 t .text
         U __fltused
00000000 T _asnprintf
         U _vasnprintf

asprintf.o:
00000000 b .bss
00000000 d .data
00000000 N .stab
00000000 N .stabstr
00000000 t .text
         U __fltused
00000000 T _asprintf
         U _vasprintf

fprintftime.o:
00000000 b .bss
00000000 d .data
00000000 r .rdata
00000000 N .stab
00000000 N .stabstr
00000000 t .text
         U __fltused
00001df0 T _fprintftime
         U _fputc
         U _fwrite
00000000 t _fwrite_lowcase
00000050 t _fwrite_uppcase
         U _mblen
00000000 b _mbstate_zero
         U _mktime
         U _rpl_gmtime_r
         U _rpl_localtime_r
         U _rpl_tzset
         U _strftime
000000a0 t _strftime_case_
         U _strlen
         U _tolower
         U _toupper
         U _tzname

printf-args.o:
00000000 b .bss
00000000 d .data
00000000 r .rdata
00000000 N .stab
00000000 N .stabstr
00000000 t .text
         U __fltused
00000000 T _printf_fetchargs
00000064 r _wide_null_string.2637

printf-frexp.o:
00000000 b .bss
00000000 d .data
00000000 r .rdata
00000000 N .stab
00000000 N .stabstr
00000000 t .text
         U __fltused
00000000 T _printf_frexp

printf-frexpl.o:
00000000 b .bss
00000000 d .data
00000000 r .rdata
00000000 N .stab
00000000 N .stabstr
00000000 t .text
         U __fltused
00000000 T _printf_frexpl

printf-parse.o:
00000000 b .bss
00000000 d .data
00000000 r .rdata
00000000 N .stab
00000000 N .stabstr
00000000 t .text
         U __fltused
         U _free
         U _malloc
00000000 T _printf_parse
         U _realloc

vasnprintf.o:
00000000 b .bss
00000000 d .data
00000000 r .rdata
00000000 N .stab
00000000 N .stabstr
00000000 t .text
         U ___udivdi3
         U ___umoddi3
         U __alloca
         U __fltused
         U _abort
00000ad0 t _decimal_point_char
000001b0 t _divide
         U _errno
00000b10 t _floorlog10l
         U _free
         U _malloc
         U _memcpy
00000000 t _multiply
         U _printf_fetchargs
         U _printf_frexp
         U _printf_frexpl
         U _printf_parse
         U _realloc
         U _rpl_frexpl
         U _rpl_isnanl
00000cf0 t _scale10_round_decimal_long_double
00000140 r _small_pow5.3568
         U _snprintf
         U _sprintf
         U _strlen
00001710 T _vasnprintf

vasprintf.o:
00000000 b .bss
00000000 d .data
00000000 N .stab
00000000 N .stabstr
00000000 t .text
         U __fltused
         U _errno
         U _free
         U _vasnprintf
00000000 T _vasprintf




reply via email to

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