Commit Graph

45 Commits

Author SHA1 Message Date
jeremyd2019
45f860c0dc llvm: backport fixes, fix 32-bit (#5630)
* --disable-high-entropy-va is not accepted on 32-bit ld, it should be added only on 64-bit.

* New Cygwin linker driver was not passing --large-address-aware on 32-bit

* Microsoft-style calling convention name mangling (such as stdcall Name@N) was disabled on Cygwin, regression from 21.1.  This would have been an issue on x86_64 as well with vectorcall I think
2025-09-14 12:38:25 -07:00
Jeremy Drake
d2b0df2242 llvm: update to 21.1.1
backport LLD patch for wrapped dllimported weak symbols (used by Cygwin
for C++ operator new/delete)
2025-09-10 10:45:45 -07:00
Jeremy Drake
dd887afdaf llvm: remove old dll now that rust is rebuilt 2025-08-28 14:55:10 -07:00
Jeremy Drake
2812d069a4 llvm: add hack copy of installed msys-LLVM-20.dll to llvm-libs package to allow rust to work long enough to rebuild itself 2025-08-27 17:58:35 -07:00
Jeremy Drake
ff88774d4c llvm: split llvm-libs package 2025-08-27 17:58:07 -07:00
Jeremy Drake
0586ad6beb llvm: update to 21.1.0
add an msysize patch to deal with the fallout of teaching the Cygwin
driver how to call the linker directly instead of using GCC to do it
2025-08-27 17:57:40 -07:00
Jeremy Drake
670e3bbcfa llvm: install compiler-rt to cygwin rather than msys
This is in preparation for a future patch that will let Clang call the
linker directly, and it will expect to find compiler-rt in "cygwin".

Also, enable tests.  Disable tests for compiler-rt though, as they cause
build errors due to missing targets for sanitizer tests.
2025-08-13 14:31:19 -07:00
Jeremy Drake
63f5bb188a llvm: refresh patches 2025-08-12 16:32:33 -07:00
Jeremy Drake
759687eee3 llvm: update to 20.1.8 2025-07-09 17:24:53 -07:00
Jeremy Drake
2a6150a781 llvm: update to 20.1.7
Update patches.
2025-06-14 10:59:00 -07:00
Jeremy Drake
0dad4329c6 llvm: update patches 2025-06-08 10:50:53 -07:00
Jeremy Drake
f2aaa1e6e5 llvm: update to 20.1.6 2025-06-04 17:04:04 -07:00
Jeremy Drake
6795a40032 llvm: update to 20.1.5 2025-05-15 13:32:29 -07:00
Jeremy Drake
dad3f60985 llvm: update patches 2025-05-14 14:27:21 -07:00
Jeremy Drake
c79e234ce4 llvm: update to 20.1.4 2025-05-03 18:26:33 -07:00
Jeremy Drake
933a7d740b llvm: add README-patches.md to track patches
Format copied from MINGW-packages/mingw-w64-llvm.  There are getting to
be a bunch of patches, and the effort to upstream them is going well.
2025-05-03 18:26:33 -07:00
Jeremy Drake
808401f0a9 llvm: set LLVM_ENABLE_PIC=OFF in gcc static bootstrap path.
The LIBCLANG_ENABLE_STATIC_BUILD option is documented as building a static
libclang *in addition to* the shared one.  In order to disable building
the shared library, LLVM_ENABLE_PIC needs to be OFF also.
2025-05-03 18:26:33 -07:00
Jeremy Drake
4fb178e775 llvm: remove define of _GNU_SOURCE
llvm's cmake has been patched to define it as on glibc
2025-05-03 18:26:28 -07:00
Jeremy Drake
43d3c125e5 llvm: update patches from upstream.
I tried using github commit .patch URLs but it gave me 429 errors.
2025-05-03 18:23:47 -07:00
Jeremy Drake
8d5e148e0c llvm: patch signals, remove LLVM_ENABLE_BACKTRACES=OFF 2025-04-23 11:52:38 -07:00
Jeremy Drake
283eb7ac56 llvm: fix llvm-config for Cygwin 2025-04-23 11:51:40 -07:00
Jeremy Drake
e1a9cc68ba llvm: update __data/bss_start/end__ patch 2025-04-17 11:46:19 -07:00
Jeremy Drake
d4b4c2caa2 llvm: update to 20.1.3 2025-04-16 22:14:29 -07:00
Jeremy Drake
60f77894cb llvm: update Cygwin toolchain patch
Integrate 0105 use proper EH model in the proper place.
2025-04-16 16:23:35 -07:00
Jeremy Drake
30334cc44e llvm: add hack to work around libstdc++ gcc4-compat abi issue
see #5329
2025-04-16 12:54:23 -07:00
Jeremy Drake
12afb1c77a llvm: update patches
Add a Cygwin toolchain driver, and enable __cxa_atexit by default on
Cygwin, both of which are upstream PRs.
2025-04-16 11:06:45 -07:00
Jeremy Drake
656546f3ef llvm: remove unnecessary MINGW-packages detritus 2025-04-12 10:10:15 -07:00
Jeremy Drake
ed154ddd9f llvm: build with clang
This allows building dynamic libraries, making the package *much*
smaller.
2025-04-11 12:25:20 -07:00
Jeremy Drake
d4e1e8397f llvm: fix up package depenencies
This was based off of a clang-built dylib build, so perhaps lld doesn't
need to depend on llvm if it was statically linked, but I think moving
forward we'd be better off with a dylib build once we can do it with the
clang in the repos.
2025-04-09 17:33:03 -07:00
Jeremy Drake
10275b6d72 llvm: don't hack in Cygwin search paths to lld
This breaks usage of lld for cross compiling, which otherwise actually
works, as opposed to trying to use lld for Cygwin targets at this point.
2025-04-08 17:00:05 -07:00
Jeremy Drake
65cb0ad189 llvm: add ARM to targets
mingw-w64-cross-compiler-rt still builds ARM, and I'd like to be able to
cross-compile to it.
2025-04-08 12:52:03 -07:00
Jeremy Drake
c33fa45d69 llvm: back out partial fix from 0203 lld patch and add 0204 patch from llvm PR 2025-04-07 22:56:09 -07:00
Jeremy Drake
217462c410 llvm: hack to allow multiple definitions in c-index-test if using GNU ld 2025-04-07 17:31:14 -07:00
Jeremy Drake
0ec28e61af llvm: tell clang-cpp not to use -Bsymbolic-functions, it's not supported by lld 2025-04-07 12:06:15 -07:00
Jeremy Drake
5a6457776d Update llvm/PKGBUILD 2025-04-07 11:20:26 -07:00
Jeremy Drake
b3eb87010f llvm: disable shared libclang if LLVM_ENABLE_PIC on Windows
Code is always PIC on Windows, so it doesn't make much sense to check
this there.
2025-04-06 22:35:48 -07:00
Jeremy Drake
d27688e0fe llvm: patch additional cmake file so dynamic linking works 2025-04-06 19:54:26 -07:00
Jeremy Drake
7d342d728d llvm: patch lld to use default target to know whether to use __ImageBase or ___ImageBase 2025-04-06 14:58:48 -07:00
Jeremy Drake
54ac10ddf9 llvm: add lld hack to define necessary symbols for Cygwin 2025-04-06 12:36:52 -07:00
Jeremy Drake
b9c966a89b llvm: try not patching calling convention on i686 Cygwin 2025-04-05 21:33:40 -07:00
Jeremy Drake
ec82934d14 llvm: undef i386
it's defined by default by gcc on i686-pc-msys  (and presumably
i686-pc-cygwin)
2025-04-05 15:49:16 -07:00
Mateusz Mikuła
a9e7d6477c Update llvm/PKGBUILD
Co-authored-by: jeremyd2019 <github@jdrake.com>
2025-04-05 19:42:59 +02:00
Mateusz Mikuła
235040d52a add missing define 2025-04-05 14:40:38 +02:00
Mateusz Mikuła
51e691c3e0 Apply suggestions from code review
Co-authored-by: jeremyd2019 <github@jdrake.com>
2025-04-05 12:33:38 +02:00
Mateusz Mikuła
8bc3d70a5e llvm: update to 20.1.2 2025-04-05 12:33:38 +02:00