Uploaded image for project: 'C++ Standard Library'
  1. C++ Standard Library
  2. STDCXX-263

SIGABRT in locale("") after setting LC_ALL to pathname of own locale

    XMLWordPrintableJSON

Details

    • Bug
    • Status: In Progress
    • Critical
    • Resolution: Unresolved
    • 4.1.2, 4.1.3, 4.1.4, 4.2.0
    • 4.2.2
    • 22. Localization
    • None
    • all

    • Incorrect Behavior

    Description

      $ ../bin/localedef -w -f /nfs/devco/sebor/dev/stdlib/etc/nls/charmaps/ISO-8859-1 -i /nfs/devco/sebor/dev/stdlib/etc/nls/src/de_DE de_DE.ISO-8859 && cat t.cpp && make t && LC_ALL=./de_DE.ISO-8859 ./t
      #include <cassert>
      #include <cstdio>
      #include <cstring>
      #include <exception>
      #include <ios>
      #include <locale>
      
      int main ()
      {
          try {
              std::locale::global (std::locale (""));
      
              typedef std::num_put<char, char*> NumPut;
      
              std::ios strm (0);
      
              NumPut np;
      
              char buf [40] = "";
      
              np.put (buf, strm, ' ', 123.456);
              std::printf ("%s\n", buf);
              assert (0 == std::strcmp ("123,456", buf));
          }
          catch (std::exception &ex) {
              std::fprintf (stderr, "%s\n", ex.what ());
              return 1;
          }
      }
      
      xlc_r -c -I/amd/devco/sebor/dev/stdlib/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/amd/devco/sebor/dev/stdlib/include -I/build/sebor/xlc-8.0-15S/include -I/amd/devco/sebor/dev/stdlib/examples/include  -F/package/1/ppc64/compilers/ibm/va80/vac.cfg -g  -q64  -qtemplateregistry=t.ti   t.cpp
      xlc_r t.o -o t -F/package/1/ppc64/compilers/ibm/va80/vac.cfg -I/amd/devco/sebor/dev/stdlib/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG   -q64  -I/amd/devco/sebor/dev/stdlib/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/amd/devco/sebor/dev/stdlib/include -I/build/sebor/xlc-8.0-15S/include -I/amd/devco/sebor/dev/stdlib/examples/include  -qtemplateregistry=t.ti -L/build/sebor/xlc-8.0-15S/lib -lstd15S  -lxlopt -lxl -libmc++ -lsupc++ -lgcc -lc -qnostaticlink=libgcc -lm
      /usr/bin/ld: /build/sebor/xlc-8.0-15S/lib/libstd15S.a(exception.o)(.debug_info+0xcd99): R_PPC64_ADDR64 used with TLS symbol __rw_what_refcnt
      /usr/bin/ld: /build/sebor/xlc-8.0-15S/lib/libstd15S.a(exception.o)(.debug_info+0xcdc0): R_PPC64_ADDR64 used with TLS symbol __rw_what_buf
      /amd/devco/sebor/dev/stdlib/src/locale_combine.cpp:639: std::locale::locale: bad locale name: ""
      

      Attachments

        Issue Links

          Activity

            People

              sebor Martin Sebor
              sebor Martin Sebor
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - 4h
                  4h
                  Remaining:
                  Remaining Estimate - 4h
                  4h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified