strtod not in namespace.h?
Valery Ushakov <[email protected]> Sun, 10 Nov 2024 03:00:21 +0300
| Newsgroups | gmane.os.netbsd.devel.toolchain |
|---|---|
| Message-ID | <[email protected]> |
I noticed that strtod(3) is not in libc's namespace.h though it's sibling strtof(3) is (along with others). Is this an oversight? I tried to link inferno-os statically (to check that I get the -l order right for the X11 libs) and got: ld: /usr/lib/../lib/sparc/libc.a(strtod.o): in function `_strtold': strtod.c:(.text+0x19c0): multiple definition of `strtod'; /home/uwe/work/inferno/inferno/NetBSD/sparc/lib/libmath.a(dtoa.o):/home/uwe/work/inferno/inferno/libmath/dtoa.c:676: first defined here inferno has its own version of dtoa.c that defines its own strtod. Our libc defines both strtod(3) and strtod_l(3) in the same file and vfscanf.c pulls in strtod.c for _strtold_l, and since strtod is not namespaced, it conflicts with the inferno's version. Shouln't we add #define strtod _strtod to namespace.h? -uwe