Patch for 64-bit HP-UX libstdc++-v3

Jessica Han jessica@cup.hp.com
Thu Feb 21 12:11:00 GMT 2002


Define strtoll to be strtol, and strtoull to be strtoul at 64-bit on hpux.
This fixed unresolved symbols while linking 64-bit objects on hpux,
__strtoll and __strtoull, which are defined in /usr/lib/hpux32/libc.so but
not in /usr/lib/hpux64/libc.so on either IA64 or PA-RISC.
Can someone review this and check it in if it is OK? I don't have write
permission to CVS. Thanks.

----
Jessica Han
Open Source Tools
Hewlett-Packard
(408) 447-6154

2002-02-21  Jessica Han  <jessica@cup.hp.com>
        * libstdc++-v3/config/os/hpux/bits/os_defines.h: Change declarations
	  of strtoll and strtoull to strtol and strtoul in HP-UX 64 bit mode.

*** os_defines.h.1.2.2.1	Thu Feb 21 10:31:17 2002
--- os_defines.h	Thu Feb 21 10:33:08 2002
***************
*** 60,69 ****
--- 60,76 ----
     We also force _GLIBCPP_USE_LONG_LONG here so that we don't have
     to bastardize configure to deal with this sillyness.  */
  namespace std {
+ #ifndef __LP64__
    __extension__ extern "C" long long strtoll (const char *, char **, int)
      __asm  ("__strtoll");
    __extension__ extern "C" unsigned long long strtoull (const char *, char
**, int)
      __asm  ("__strtoull");
+ #else
+   __extension__ extern "C" long long strtoll (const char *, char **, int)
+     __asm  ("strtol");
+   __extension__ extern "C" unsigned long long strtoull (const char *, char
**, int)
+     __asm  ("strtoul");
+ #endif
  }
  #define _GLIBCPP_USE_LONG_LONG 1
  #endif




More information about the Libstdc++ mailing list