1. 04 Aug, 2022 1 commit
  2. 14 Jul, 2022 2 commits
  3. 11 Jul, 2022 4 commits
    • Milian Wolff's avatar
      Check size of symtab before dereferencing symbols · 225639ce
      Milian Wolff authored
      On some embedded platforms at least we have encountered situations
      where DSOs contains broken symtabs, eu-elflint reports e.g.:
      
      ```
      $ eu-elflint libQt5Qml.so.5.12
      section [ 3] '.dynsym': symbol 1272: st_value out of bounds
      section [ 3] '.dynsym': symbol 3684: st_value out of bounds
      section [29] '.symtab': _GLOBAL_OFFSET_TABLE_ symbol size 0 does not match .got section size 18340
      section [29] '.symtab': _DYNAMIC symbol size 0 does not match dynamic segment size 336
      section [29] '.symtab': symbol 25720: st_value out of bounds
      section [29] '.symtab': symbol 27227: st_value out of bounds
      ```
      
      If we use heaptrack on an application that links against such a
      library, it would crash when it tries to follow the out-of-bounds
      symbols. Sadly, there's no equivalent to DT_STRSZ for the symbol
      table, instead we have to obtain that from the section header. I don't
      know of an efficient way to access the section header from the program
      header, so instead this patch adds a procedure which mmaps the file
      to parse the ELF structure directly to get the symtab size. To
      minimize the overhead, we cache the results then in a hash table.
      
      Then we can take this size into account and skip invalid symbols.
      225639ce
    • Milian Wolff's avatar
      Don't overwrite anything within linux_vdso · dd232f07
      Milian Wolff authored
      I want to add more pedantic checking of the symbol section size,
      which would not be possible for this pseudo-dso.
      dd232f07
    • Milian Wolff's avatar
      d906a08c
    • Milian Wolff's avatar
      e1ea0297
  4. 15 Jun, 2022 5 commits
  5. 14 Jun, 2022 1 commit
  6. 13 Jun, 2022 4 commits
  7. 12 Jun, 2022 4 commits
    • Milian Wolff's avatar
      Merge branch '1.4' · 40f24b96
      Milian Wolff authored
      40f24b96
    • Milian Wolff's avatar
      Don't use space for target name · 09af2e67
      Milian Wolff authored
      Only use space for the output name of the target instead, which
      is all we need here.
      
      Fixes:
      ```
      CMake Warning (dev) at tests/manual/with space/CMakeLists.txt:1 (add_executable):
        Policy CMP0037 is not set: Target names should not be reserved and should
        match a validity pattern.  Run "cmake --help-policy CMP0037" for policy
        details.  Use the cmake_policy command to set the policy and suppress this
        warning.
      
        The target name "my binary" is reserved or not valid for certain CMake
        features, such as generator expressions, and may result in undefined
        behavior.
      This warning is for project developers.  Use -Wno-dev to suppress it.
      ```
      09af2e67
    • Milian Wolff's avatar
      Remove cmake_minimum_required for libbacktrace · 56d4f380
      Milian Wolff authored
      Fixes:
      ```
      CMake Deprecation Warning at 3rdparty/libbacktrace/CMakeLists.txt:34 (cmake_minimum_required):
        Compatibility with CMake < 2.8.12 will be removed from a future version of
        CMake.
      
        Update the VERSION argument <min> value or use a ...<max> suffix to tell
        CMake that the project does not need compatibility with older versions.
      ```
      56d4f380
    • Milian Wolff's avatar
      LibUnwind -> Libunwind to silence cmake warning · e07d85cc
      Milian Wolff authored
      Fixes:
      ```
      CMake Warning (dev) at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
        The package name passed to `find_package_handle_standard_args` (LibUnwind)
        does not match the name of the calling package (Libunwind).  This can lead
        to problems in calling code that expects `find_package` result variables
        (e.g., `_FOUND`) to follow a certain pattern.
      Call Stack (most recent call first):
        cmake/FindLibunwind.cmake:69 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
        CMakeLists.txt:149 (find_package)
      This warning is for project developers.  Use -Wno-dev to suppress it.
      ```
      e07d85cc
  8. 08 Jun, 2022 2 commits
  9. 07 Jun, 2022 2 commits
  10. 31 May, 2022 4 commits
  11. 28 May, 2022 2 commits
  12. 25 May, 2022 1 commit
  13. 24 May, 2022 7 commits
  14. 19 May, 2022 1 commit
    • Milian Wolff's avatar
      Silence -Wuse-after-free for realloc call · 93e27319
      Milian Wolff authored
      We do not actually use the realloc ptr, i.e. we do not dereference
      it - only its value is being used. The API should have probably been
      using uintptr_t all along. Now we have to keep the ABI stable, and
      introduce a heaptrack_realloc2 that takes uintptr_t. This is then
      leveraged by heaptrack_inject to silence the GCC compiler warning.
      93e27319