Commit Graph

60 Commits

Author SHA1 Message Date
Amos Bird
c0f8a50e15
Avoid linking duplicate archives.
Or else libglibc-compatibility.a and libmemcpy.a will be listed twice.
2023-08-24 17:26:34 +08:00
Yakov Olkhovskiy
c98e38611f path to libc 2023-08-10 23:36:47 +00:00
Yakov Olkhovskiy
b9638c6387 path to libc 2023-08-10 22:16:30 +00:00
Yakov Olkhovskiy
cda633a1f6 different linker 2023-08-10 15:48:51 +00:00
Yakov Olkhovskiy
a9b760a15b different linker 2023-08-10 00:40:06 +00:00
Yakov Olkhovskiy
087cc5bfed different linker 2023-08-09 23:18:27 +00:00
Yakov Olkhovskiy
2802508c07 different linker 2023-08-09 22:27:49 +00:00
Yakov Olkhovskiy
0498b48c70 different linker 2023-08-09 21:01:58 +00:00
Yakov Olkhovskiy
535450a050 different linker? 2023-08-09 18:40:00 +00:00
Azat Khuzhin
8cfe0eb3f2 Do not change CMAKE_EXE_LINKER_FLAGS_INIT in toolchains
Otherwise check in PreLoad.cmake will throw.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-05-09 10:33:37 +02:00
Robert Schulze
1477887259
Initial removal of logic under COMPILER_GCC 2023-04-11 16:27:32 +00:00
Robert Schulze
5d5308e060
CMake cleanup: Remove configuration of CMAKE_SHARED_LINKER_FLAGS
Follow-up to #44828
2023-03-26 17:59:39 +00:00
Suzy Wang
716d2c4ffb Update as suggested 2023-02-02 20:41:06 +00:00
Suzy Wang
19d26828a0 s390x build support 2023-01-20 21:16:55 +00:00
Azat Khuzhin
3505b5a10b Avoid loading toolchain files multiple times
Previously, in #39387, this protection had been added only for linux x86_64.

And use include_guard() instead of manual if()+set().

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-12-13 10:38:23 +01:00
Raúl Marín
5caba7000a Try a different approach 2022-11-15 17:53:24 +01:00
Alexey Milovidov
5ce6c07005 Set linker for RISC-V 64 2022-08-14 05:57:55 +02:00
Azat Khuzhin
40d5627510
Avoid loading toolchain file multiple times to avoid confusing ccache (#39387)
During first run of cmake the toolchain file will be loaded twice,
- /usr/share/cmake-3.23/Modules/CMakeDetermineSystem.cmake
- /bld/CMakeFiles/3.23.2/CMakeSystem.cmake

But once you already have non-empty cmake cache it will be loaded only
once:
- /bld/CMakeFiles/3.23.2/CMakeSystem.cmake

This has no harm except for double load of toolchain will add
--gcc-toolchain multiple times that will not allow ccache to reuse the
cache.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-07-21 01:26:28 +02:00
Azat Khuzhin
116af7dfb9 Move cmake/find/unwind.cmake -> cmake/unwind.cmake
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-01-31 16:01:12 +03:00
Azat Khuzhin
3e5ad1a138 Move cmake/find/cxx.cmake -> cmake/cxx.cmake
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-01-31 16:01:11 +03:00
Amos Bird
6adb3aa49a
Fix missing -Werror 2022-01-28 02:07:43 +08:00
Amos Bird
6d62060e16
Build improvement 2022-01-17 22:36:27 +08:00
Amos Bird
f56e3942e3
Hermetic shared build 2021-12-20 16:59:42 +08:00
Raúl Marín
6a04dcb492 Remove libc-headers 2021-11-29 19:55:57 +01:00
Raúl Marín
0bbf437843 Don't include contrib/libc-headers/ if GLIBC_COMPATIBILITY is off 2021-11-29 19:53:42 +01:00
Alexey Milovidov
26e3c78da2 Something strange 2021-11-28 04:37:55 +03:00
Alexey Milovidov
a96e4fe393 More reproducible builds 2021-11-27 02:24:09 +03:00
Alexey Milovidov
7ecffd7186 Fix build 2021-11-24 15:43:09 +03:00
Alexey Milovidov
8d43a5d4b2 Maybe fix build 2021-11-24 03:01:21 +03:00
Alexey Milovidov
d604cf5573 Remove the infamous "unbundled" build 2021-11-21 13:58:26 +03:00
Vladimir Smirnov
48451182f8 Initial support for risc-v
Make ClickHouse compilable and runnable on risc-v 64

So far only basic functionality was tested (on real hw),
clickhouse server runs, exceptions works, client works,
simple tests works.

What doesn't work:
 1. traces - they are always empty
 2. system.stack_trace only have first frame
2021-11-11 19:23:34 +01:00
Alexey Milovidov
5fc2279adf Add RISC-V build 2021-10-17 01:23:55 +03:00
Alexey Milovidov
438d04795e Update toolchain 2021-10-16 03:03:46 +03:00
Alexey Milovidov
2c3709d8ae Add toolchain file 2021-10-16 02:07:36 +03:00
Alexey Milovidov
4848a6f97f Add CMakeLists 2021-10-16 02:07:13 +03:00
Alexey Milovidov
e1409c143b Add toolchain file 2021-10-12 02:06:22 +03:00
Alexey Milovidov
d4e496c314 Add support for PowerPC build 2021-10-12 01:47:57 +03:00
Alexey Milovidov
1df4792a45 Fix error 2021-10-11 07:07:58 +03:00
Alexey Milovidov
778793267b Add toolchain for linux-x86_64 2021-10-11 07:02:48 +03:00
Alexey Milovidov
8196f89481 Remove trash from CMake 2021-10-11 06:58:08 +03:00
Alexey Milovidov
7597763d6d Improve search for ar and ranlib 2021-10-11 06:55:00 +03:00
Alexey Milovidov
fa3c13cf81 Experiment with minimized toolchain 2021-10-11 04:37:04 +03:00
Yatsishin Ilya
227eb9fda5 try 2021-05-25 18:29:04 +03:00
mastertheknife
00ed52e947 Fix finding libclang_rt.builtins on Fedora\RHEL\CentOS on ppc64le 2021-04-01 18:38:16 +03:00
Alexey Milovidov
b99634dc5d Merge branch 'master' into harmful 2020-12-21 03:03:10 +03:00
Azat Khuzhin
c862ae0c42 Explicitly link with -llib$SANITIZER for gcc
gcc with -nodefaultlibs does not add sanitizers library during linkage
with -static-libasan and similar, fix this, by add them explicitly.

From the gcc(1) about -nodefaultlibs:

    Do not use the standard system libraries when linking. Only the
    libraries you specify are passed to the linker, and options specifying
    linkage of the system libraries, such as -static-libgcc or
    -shared-libgcc, are ignored. The standard startup files are used
    normally, unless -nostartfiles is used.

Plus checked it manually, w/o -nodefaultlibs everything works without
this explicit linkage.

After this patch UBSAN under gcc compiled successfully.

v2: freebsd and darwin
2020-12-16 21:31:03 +03:00
Azat Khuzhin
1dca6e9269 cmake/linux/default_libs.cmake: fix alignment 2020-12-16 21:31:03 +03:00
Alexey Milovidov
91e80598cd Add "harmful" library 2020-10-28 02:00:16 +03:00
Alexander Kuzmenkov
3e6b9f297f Some provisions for Android build 2020-07-15 14:16:00 +03:00
alexey-milovidov
efc57fb063
Make the comment more readable. 2020-06-22 17:59:38 +03:00