This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: libstdc++/5611: (Unsigned) long long I/O unsupported on FreeBSD 3.4
- From: Loren James Rittle <rittle at latour dot rsch dot comm dot mot dot com>
- To: gregod at cs dot rpi dot edu
- Cc: libstdc++ at gcc dot gnu dot org
- Date: Wed, 6 Feb 2002 10:30:33 -0600 (CST)
- Subject: Re: libstdc++/5611: (Unsigned) long long I/O unsupported on FreeBSD 3.4
- Organization: Networks and Infrastructure Lab (IL02/2240), Motorola Labs
Hi Doug,
>> Number: 5611
>> Category: libstdc++
>> Synopsis: (Unsigned) long long I/O unsupported on FreeBSD 3.4
> _GLIBCPP_USE_LONG_LONG is left undefined because the system C library
> does not support strtoll and strtoull, and therefore I/O for (unsigned)
> long long values is unsupported by libstdc++.
> Port the string->integer conversion routines from glibc to be used when
> the C library does not support strtoll/strtoull.
> I'd be willing to help if this is deemed the right way to go.
Great! If you want to work on the patch, send a first effort to
libstdc++@gcc.gnu.org .
FYI, this situation is fixed on FreeBSD 4.X. The correct place to fix
this is actually in libiberty. I have never added a routine there so
I can't offer any real guidance other than kibitzing (brief
instructions are in libiberty/README)
BTW, you might note the following (run on a FreeBSD 4.4 system with
full sources installed in /usr/src):
diff -cw gcc-mainline/libiberty/strtoul.c /usr/src/lib/libc/stdlib/strtoul.c
contains mainly stylistic differences thus I would adapt these files
in a similar manner (available from WWW CVS from freebsd.org, if you
have no better way to snag them):
/usr/src/lib/libc/stdlib/strtoll.c
/usr/src/lib/libc/stdlib/strtoull.c
Regards,
Loren