Skip to content
  • Stan Hu's avatar
    Compile jemalloc with Ruby by default · 6fb7f2d0
    Stan Hu authored
    For years the Ruby interpreter has been dynamically loaded with
    jemalloc by using `LD_PRELOAD` to replace the system's malloc calls.
    While this makes it possible to disable jemalloc, some anti-virus
    scanners flag this behavior and abort the Ruby interpreter.
    
    Since jemalloc has:
    
    1. Significantly improved memory usage
    2. Is compiled with the default for Cloud Native GitLab images
    3. Is compiled with the default for all GitLab CI images
    
    We should enable by this default and deprecate the configuration
    variable.
    
    To do this, we need to install all jemalloc files, not just the
    library and binary files.
    
    We also need to pass `-Wl,--no-as-needed` as a linker argument
    due to https://bugs.ruby-lang.org/issues/18409.
    
    Relates to #4357
    
    Changelog: changed
    6fb7f2d0