1. 23 Sep, 2024 2 commits
    • Marko Mäkelä's avatar
      MDEV-34983: Remove x86 asm from InnoDB · 638c62ac
      Marko Mäkelä authored
      Starting with GCC 7 and clang 15, single-bit operations such as
      fetch_or(1) & 1 are translated into 80386 instructions such as
      LOCK BTS, instead of using the generic translation pattern
      of emitting a loop around LOCK CMPXCHG.
      
      Given that the oldest currently supported GNU/Linux distributions
      ship GCC 7, and that older versions of GCC are out of support,
      let us remove some work-arounds that are not strictly necessary.
      If someone compiles the code using an older compiler, it will work
      but possibly less efficiently.
      
      srw_mutex_impl::HOLDER: Changed from 1U<<31 to 1 in order to
      work around https://github.com/llvm/llvm-project/issues/37322
      which is specific to setting the most significant bit.
      
      srw_mutex_impl::WAITER: A multiplier of waiting requests.
      This used to be 1, which would now collide with HOLDER.
      
      fil_space_t::set_stopping(): Remove this unused function.
      
      In MSVC we need _interlockedbittestandset() for LOCK BTS.
      638c62ac
    • Lena Startseva's avatar
  2. 20 Sep, 2024 2 commits
  3. 16 Sep, 2024 2 commits
  4. 15 Sep, 2024 12 commits
  5. 14 Sep, 2024 1 commit
    • Marko Mäkelä's avatar
      mtr_t::log_file_op(): Fix -Wnonnull · 4010dff0
      Marko Mäkelä authored
      GCC 12.2.0 could issue -Wnonnull for an unreachable call to
      strlen(new_path).  Let us prevent that by replacing the condition
      (type == FILE_RENAME) with the equivalent (new_path).
      This should also optimize the generated code, because the life time
      of the parameter "type" will be reduced.
      4010dff0
  6. 13 Sep, 2024 1 commit
    • Marko Mäkelä's avatar
      MDEV-34921 MemorySanitizer reports errors for non-debug builds · b331cde2
      Marko Mäkelä authored
      my_b_encr_write(): Initialize also block_length, and at the same time
      last_block_length, so that all 128 bits can be initialized with fewer
      writes. This fixes an error that was caught in the test
      encryption.tempfiles_encrypted.
      
      test_my_safe_print_str(): Skip a test that would attempt to
      display uninitialized data in the test unit.stacktrace.
      Previously, our CI did not build unit tests with MemorySanitizer.
      
      handle_delayed_insert(): Remove a redundant call to pthread_exit(0),
      which would for some reason cause MemorySanitizer in clang-19 to
      report a stack overflow in a RelWithDebInfo build. This fixes a
      failure of several tests.
      
      Reviewed by: Vladislav Vaintroub
      b331cde2
  7. 12 Sep, 2024 5 commits
  8. 11 Sep, 2024 5 commits
  9. 10 Sep, 2024 10 commits