It would be nice if Clickhouse supported building in an enviornment with GLIBC 2.32+ like it supports older releases (pinning symbols).

My usecase is that I'm building in a new machine (Archlinux with GLIBC 2.33) and that works great until I want to run the integration tests, which run under an old Ubuntu (20.04) with 2.31-0ubuntu9.2 and that will fail when using the binary:

```
E               Exception: Timed out while waiting for instance `node1' with ip address 172.16.0.4 to start. Container status: running, logs: clickhouse: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by clickhouse)
E               clickhouse: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by clickhouse)
```

I see that @amosbird started working on it but ended up discarding the PR (https://github.com/ClickHouse/ClickHouse/pull/24015). I've tested it and it doesn't work for 2.33.

Are there any plans to support this or should I look for a better way to run those tests locally?
{
    if (!supportsRenameat2())
        return false;
    if (old_path.empty() || new_path.empty())
        throw Exception(ErrorCodes::LOGICAL_ERROR, "Cannot rename {} to {}: path is empty", old_path, new_path);
    
    
    
    if (0 == syscall(__NR_renameat2, AT_FDCWD, old_path.c_str(), AT_FDCWD, new_path.c_str(), flags))
        return true;
    
    
    
    
    if (errno == EINVAL)
        return false;
    
    
    if (errno == ENOSYS)
        return false;
    if (errno == EEXIST)
        throwFromErrno(fmt::format("Cannot rename {} to {} because the second path already exists", old_path, new_path), ErrorCodes::ATOMIC_RENAME_FAIL);
    if (errno == ENOENT)
        throwFromErrno(fmt::format("Paths cannot be exchanged because {} or {} does not exist", old_path, new_path), ErrorCodes::ATOMIC_RENAME_FAIL);
    throwFromErrnoWithPath(fmt::format("Cannot rename {} to {}", old_path, new_path), new_path, ErrorCodes::SYSTEM_ERROR);
}
bool supportsRenameat2()