libstdc++/5611: (Unsigned) long long I/O unsupported on FreeBSD 3.4

Loren James Rittle rittle@latour.rsch.comm.mot.com
Wed Feb 6 08:30:00 GMT 2002


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



More information about the Libstdc++ mailing list