Skip to content
Snippets Groups Projects
  1. Feb 28, 2022
  2. Feb 27, 2022
  3. Feb 26, 2022
  4. Feb 25, 2022
  5. Feb 24, 2022
  6. Feb 23, 2022
  7. Feb 22, 2022
  8. Feb 21, 2022
  9. Feb 19, 2022
    • Florian Fischer's avatar
      Merge branch 'linux-version-construct-on-first-use' into 'master' · eb756de4
      Florian Fischer authored
      [LinuxVersion] Use "Construct on first use" idiom and add mutex
      
      See merge request i4/manycore/emper!348
      eb756de4
    • Florian Schmaus's avatar
      [LinuxVersion] Use "Construct on first use" idiom and add mutex · 18174680
      Florian Schmaus authored
      Use the "Construct on first use" idom for UTS Release (aka Linux
      version) initialization. The previous implementation was fragle and
      could lead to segfaults like
      
          __s2=0x7fffffffe480 "5.16.10-arch1-1", __s1=<optimized out>)
          at /usr/include/c++/11.2.0/bits/char_traits.h:409
          __n=<optimized out>, __s=0x7fffffffe480 "5.16.10-arch1-1", __d=<optimized out>)
          at /usr/include/c++/11.2.0/bits/basic_string.h:359
          __n=<optimized out>, __s=0x7fffffffe480 "5.16.10-arch1-1", __d=<optimized out>)
          at /usr/include/c++/11.2.0/bits/basic_string.h:354
          __str=..., this=0x7ffff7fbd2a0 <emper::lib::LinuxVersion::globalVersion[abi:cxx11]>)
          at /usr/include/c++/11.2.0/bits/basic_string.h:739
          at ../emper/lib/LinuxVersion.cpp:46
          at /usr/include/c++/11.2.0/ext/new_allocator.h:79
      
      if globalVersion's constructor was not yet called. This is the so
      called "static initialization order fiasco" in C++.
      
      While the mutex may not be strictly requires, as we do not call
      LinuxVersion's non-argument constructor nor getUtsRelease()
      concurrently, it can not hurt to have one.
      18174680
    • Florian Fischer's avatar
      Merge branch 'fix-glibc-2.35-futex_waitv' into 'master' · 9f405aa4
      Florian Fischer authored
      do not define futex_waitv if already done in linux/futex.h
      
      See merge request i4/manycore/emper!345
      9f405aa4
Loading