mirror of
https://github.com/jemalloc/jemalloc.git
synced 2026-07-22 00:27:33 +03:00
Merge 7aa77c8e2a into b44e84086f
This commit is contained in:
commit
bf09e8b96c
11 changed files with 368 additions and 12 deletions
|
|
@ -706,6 +706,34 @@ def generate_freebsd_job(arch):
|
|||
return job
|
||||
|
||||
|
||||
def generate_linux_lto_job():
|
||||
"""Dedicated lane: whole-program ThinLTO + the je_ public prefix, statically
|
||||
linked. This is the configuration under which the tcache_fiber_migration
|
||||
reproducer (issue #2890) actually exercises the bug -- the allocator
|
||||
fastpath must be inlined next to the swapcontext, which only happens with
|
||||
static linking under LTO. llvm-ar/nm/ranlib are needed to archive the LTO
|
||||
bitcode; -fuse-ld=lld to link it."""
|
||||
return """ test-linux-lto:
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install clang, lld and llvm
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y clang lld llvm
|
||||
|
||||
- name: Build and test (whole-program ThinLTO, je_ prefix)
|
||||
run: |
|
||||
autoconf
|
||||
CC=clang AR=llvm-ar NM=llvm-nm RANLIB=llvm-ranlib \\
|
||||
./configure --with-jemalloc-prefix=je_ EXTRA_CFLAGS=-flto=thin
|
||||
make -j3 EXTRA_LDFLAGS="-flto=thin -fuse-ld=lld"
|
||||
make -j3 tests EXTRA_LDFLAGS="-flto=thin -fuse-ld=lld"
|
||||
make check
|
||||
"""
|
||||
|
||||
|
||||
def main():
|
||||
import sys
|
||||
|
||||
|
|
@ -716,6 +744,7 @@ def main():
|
|||
jobs = '\n'.join((
|
||||
generate_linux_job(AMD64),
|
||||
generate_linux_job(ARM64),
|
||||
generate_linux_lto_job(),
|
||||
))
|
||||
print(GITHUB_ACTIONS_TEMPLATE.format(name='Linux CI', jobs=jobs))
|
||||
|
||||
|
|
@ -739,6 +768,7 @@ def main():
|
|||
linux_jobs = '\n'.join((
|
||||
generate_linux_job(AMD64),
|
||||
generate_linux_job(ARM64),
|
||||
generate_linux_lto_job(),
|
||||
))
|
||||
macos_jobs = '\n'.join((
|
||||
generate_macos_job(AMD64), # Intel
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue