aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Engberg <diizzy@FreeBSD.org>2022-11-15 00:10:00 +0000
committerJose Alonso Cardenas Marquez <acm@FreeBSD.org>2022-11-15 00:10:00 +0000
commit87ab6d409fe6e8988872b18a4128713fe0e3d9eb (patch)
treefcfabc495cc8ae7fd44a7305c6cb26a00b659874
parent61a4888ec72a176f0fc212536d145b13298f6cbd (diff)
downloadports-87ab6d409fe6e8988872b18a4128713fe0e3d9eb.tar.gz
ports-87ab6d409fe6e8988872b18a4128713fe0e3d9eb.zip
lang/ldc: Update to 1.30.0
-rw-r--r--lang/ldc/files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-freebsd-sys_event.d14
-rw-r--r--lang/ldc/files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_stat.d59
-rw-r--r--lang/ldc/files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_types.d19
-rw-r--r--lang/ldc/files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix_dirent.d17
-rw-r--r--lang/ldc/files/patch-cmake_Modules_FindLLVM.cmake11
-rw-r--r--lang/ldc/files/patch-driver_linker-gcc.cpp2
-rw-r--r--lang/ldc/files/patch-driver_targetmachine.cpp2
-rw-r--r--lang/ldc/files/patch-ltsmaster_cmake_Modules_FindLLVM.cmake12
-rw-r--r--lang/ldc/files/patch-ltsmaster_driver_targetmachine.cpp27
-rw-r--r--lang/ldc/files/patch-ltsmaster_runtime_druntime_src_core_sys_posix_setjmp.d27
-rw-r--r--lang/ldc/files/patch-ltsmaster_runtime_druntime_src_core_sys_posix_ucontext.d41
-rw-r--r--lang/ldc/files/patch-ltsmaster_runtime_phobos_std_internal_math_gammafunction.d22
-rw-r--r--lang/ldc/files/patch-runtime_CMakeLists.txt22
13 files changed, 13 insertions, 262 deletions
diff --git a/lang/ldc/files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-freebsd-sys_event.d b/lang/ldc/files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-freebsd-sys_event.d
deleted file mode 100644
index 761a66631ae9..000000000000
--- a/lang/ldc/files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-freebsd-sys_event.d
+++ /dev/null
@@ -1,14 +0,0 @@
---- ltsmaster/runtime/druntime/src/core/sys/freebsd/sys/event.d 2018-08-21 18:55:47.000000000 +0000
-+++ ltsmaster/runtime/druntime/src/core/sys/freebsd/sys/event.d 2019-03-06 04:06:16.750660000 +0000
-@@ -46,8 +46,9 @@
- short filter; /* filter for event */
- ushort flags;
- uint fflags;
-- intptr_t data;
-- void *udata; /* opaque user data identifier */
-+ long data;
-+ void* udata; /* opaque user data identifier */
-+ ulong[4] ext;
- }
-
- enum
diff --git a/lang/ldc/files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_stat.d b/lang/ldc/files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_stat.d
deleted file mode 100644
index 03fb304eabda..000000000000
--- a/lang/ldc/files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_stat.d
+++ /dev/null
@@ -1,59 +0,0 @@
---- ltsmaster/runtime/druntime/src/core/sys/posix/sys/stat.d 2018-08-21 18:55:47.000000000 +0000
-+++ ltsmaster/runtime/druntime/src/core/sys/posix/sys/stat.d 2019-03-06 04:13:18.999142000 +0000
-@@ -714,32 +714,42 @@
- {
- struct stat_t
- {
-- dev_t st_dev;
-- ino_t st_ino;
-- mode_t st_mode;
-- nlink_t st_nlink;
-- uid_t st_uid;
-- gid_t st_gid;
-- dev_t st_rdev;
-+ dev_t st_dev;
-+ ino_t st_ino;
-+ nlink_t st_nlink;
-+ mode_t st_mode;
-+ short st_padding0;
-+ uid_t st_uid;
-+ gid_t st_gid;
-+ int st_padding1;
-+ dev_t st_rdev;
-
-+ version(X86) int st_atim_ext;
-+
- time_t st_atime;
- c_long __st_atimensec;
-+
-+ version(X86) int st_mtim_ext;
-+
- time_t st_mtime;
- c_long __st_mtimensec;
-+
-+ version(X86) int st_ctim_ext;
-+
- time_t st_ctime;
- c_long __st_ctimensec;
-
-- off_t st_size;
-- blkcnt_t st_blocks;
-- blksize_t st_blksize;
-- fflags_t st_flags;
-- uint st_gen;
-- int st_lspare;
-+ version(X86) int st_btim_ext;
-
- time_t st_birthtime;
- c_long st_birthtimensec;
-
-- ubyte[16 - timespec.sizeof] padding;
-+ off_t st_size;
-+ blkcnt_t st_blocks;
-+ blksize_t st_blksize;
-+ fflags_t st_flags;
-+ ulong st_gen;
-+ ulong[10] st_spare;
- }
-
- enum S_IRUSR = 0x100; // octal 0000400
diff --git a/lang/ldc/files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_types.d b/lang/ldc/files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_types.d
deleted file mode 100644
index e4036fc44b5c..000000000000
--- a/lang/ldc/files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_types.d
+++ /dev/null
@@ -1,19 +0,0 @@
---- ltsmaster/runtime/druntime/src/core/sys/posix/sys/types.d 2019-03-06 04:17:35.909692000 +0000
-+++ ltsmaster/runtime/druntime/src/core/sys/posix/sys/types.d 2019-03-06 04:18:41.162430000 +0000
-@@ -124,12 +124,12 @@
- else version( FreeBSD )
- {
- alias long blkcnt_t;
-- alias uint blksize_t;
-- alias uint dev_t;
-+ alias ulong blksize_t;
-+ alias ulong dev_t;
- alias uint gid_t;
-- alias uint ino_t;
-+ alias ulong ino_t;
- alias ushort mode_t;
-- alias ushort nlink_t;
-+ alias ulong nlink_t;
- alias long off_t;
- alias int pid_t;
- //size_t (defined in core.stdc.stddef)
diff --git a/lang/ldc/files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix_dirent.d b/lang/ldc/files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix_dirent.d
deleted file mode 100644
index 8387f06a18d2..000000000000
--- a/lang/ldc/files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix_dirent.d
+++ /dev/null
@@ -1,17 +0,0 @@
---- ltsmaster/runtime/druntime/src/core/sys/posix/dirent.d 2019-03-06 04:07:06.836421000 +0000
-+++ ltsmaster/runtime/druntime/src/core/sys/posix/dirent.d 2019-03-06 04:08:34.306001000 +0000
-@@ -131,10 +131,12 @@
- align(4)
- struct dirent
- {
-- uint d_fileno;
-+ ino_t d_fileno;
-+ off_t d_off;
- ushort d_reclen;
- ubyte d_type;
-- ubyte d_namlen;
-+ ushort d_namlen;
-+ ushort d_pad1;
- char[256] d_name;
- }
-
diff --git a/lang/ldc/files/patch-cmake_Modules_FindLLVM.cmake b/lang/ldc/files/patch-cmake_Modules_FindLLVM.cmake
deleted file mode 100644
index 2bb6e4eb3ef3..000000000000
--- a/lang/ldc/files/patch-cmake_Modules_FindLLVM.cmake
+++ /dev/null
@@ -1,11 +0,0 @@
---- cmake/Modules/FindLLVM.cmake.orig 2020-07-15 20:25:23 UTC
-+++ cmake/Modules/FindLLVM.cmake
-@@ -30,7 +30,7 @@
- # We also want an user-specified LLVM_ROOT_DIR to take precedence over the
- # system default locations such as /usr/local/bin. Executing find_program()
- # multiples times is the approach recommended in the docs.
--set(llvm_config_names llvm-config-10.0 llvm-config100 llvm-config-10
-+set(llvm_config_names llvm-config-10.0 llvm-config100 llvm-config-10 llvm-config10
- llvm-config-9.0 llvm-config90 llvm-config-9
- llvm-config-8.0 llvm-config80 llvm-config-8
- llvm-config-7.0 llvm-config70 llvm-config-7
diff --git a/lang/ldc/files/patch-driver_linker-gcc.cpp b/lang/ldc/files/patch-driver_linker-gcc.cpp
index 2a0e64d83526..563392761cad 100644
--- a/lang/ldc/files/patch-driver_linker-gcc.cpp
+++ b/lang/ldc/files/patch-driver_linker-gcc.cpp
@@ -1,4 +1,4 @@
---- driver/linker-gcc.cpp.orig 2020-06-16 16:15:55 UTC
+--- driver/linker-gcc.cpp 2020-06-16 16:15:55 UTC
+++ driver/linker-gcc.cpp
@@ -647,6 +647,8 @@ void ArgsBuilder::addDefaultPlatformLibs() {
args.push_back("-ldl");
diff --git a/lang/ldc/files/patch-driver_targetmachine.cpp b/lang/ldc/files/patch-driver_targetmachine.cpp
index 1ef456ed1715..daeba1879579 100644
--- a/lang/ldc/files/patch-driver_targetmachine.cpp
+++ b/lang/ldc/files/patch-driver_targetmachine.cpp
@@ -1,4 +1,4 @@
---- driver/targetmachine.cpp.orig 2020-06-16 18:15:55 UTC
+--- driver/targetmachine.cpp 2020-06-16 18:15:55 UTC
+++ driver/targetmachine.cpp
@@ -444,6 +444,10 @@ createTargetMachine(const std::string targetTriple, co
// these OSes.
diff --git a/lang/ldc/files/patch-ltsmaster_cmake_Modules_FindLLVM.cmake b/lang/ldc/files/patch-ltsmaster_cmake_Modules_FindLLVM.cmake
deleted file mode 100644
index 879d88cf16c5..000000000000
--- a/lang/ldc/files/patch-ltsmaster_cmake_Modules_FindLLVM.cmake
+++ /dev/null
@@ -1,12 +0,0 @@
---- ltsmaster/cmake/Modules/FindLLVM.cmake.orig 2020-07-13 18:03:33 UTC
-+++ ltsmaster/cmake/Modules/FindLLVM.cmake
-@@ -27,7 +27,8 @@
- # We also want an user-specified LLVM_ROOT_DIR to take precedence over the
- # system default locations such as /usr/local/bin. Executing find_program()
- # multiples times is the approach recommended in the docs.
--set(llvm_config_names llvm-config-6.0 llvm-config60
-+set(llvm_config_names llvm-config-7.0 llvm-config70
-+ llvm-config-6.0 llvm-config60
- llvm-config-5.0 llvm-config50
- llvm-config-4.0 llvm-config40
- llvm-config-3.9 llvm-config39
diff --git a/lang/ldc/files/patch-ltsmaster_driver_targetmachine.cpp b/lang/ldc/files/patch-ltsmaster_driver_targetmachine.cpp
deleted file mode 100644
index 411937b81102..000000000000
--- a/lang/ldc/files/patch-ltsmaster_driver_targetmachine.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
---- ltsmaster/driver/targetmachine.cpp 2018-08-24 00:55:46 UTC
-+++ ltsmaster/driver/targetmachine.cpp
-@@ -587,6 +587,23 @@
- break;
- }
-
-+ // Taken from clang's lib/Driver/ToolChains/Gnu.cpp
-+ if (triple.getArch() == llvm::Triple::aarch64 ||
-+ triple.getArch() == llvm::Triple::aarch64_be ||
-+ (triple.getOS() == llvm::Triple::FreeBSD &&
-+ triple.getOSMajorVersion() >= 12) ||
-+ triple.getOS() == llvm::Triple::NaCl ||
-+ (triple.getVendor() == llvm::Triple::MipsTechnologies &&
-+ !triple.hasEnvironment()) ||
-+ triple.getOS() == llvm::Triple::Solaris
-+#if LDC_LLVM_VER >= 400
-+ || triple.getArch() == llvm::Triple::riscv32
-+ || triple.getArch() == llvm::Triple::riscv64
-+#endif
-+ ) {
-+ targetOptions.UseInitArray = true;
-+ }
-+
- // Right now, we only support linker-level dead code elimination on Linux
- // using the GNU toolchain (based on ld's --gc-sections flag). The Apple ld
- // on OS X supports a similar flag (-dead_strip) that doesn't require
-
diff --git a/lang/ldc/files/patch-ltsmaster_runtime_druntime_src_core_sys_posix_setjmp.d b/lang/ldc/files/patch-ltsmaster_runtime_druntime_src_core_sys_posix_setjmp.d
deleted file mode 100644
index 6fb3a8e8aeb0..000000000000
--- a/lang/ldc/files/patch-ltsmaster_runtime_druntime_src_core_sys_posix_setjmp.d
+++ /dev/null
@@ -1,27 +0,0 @@
---- ltsmaster/runtime/druntime/src/core/sys/posix/setjmp.d.orig 2020-11-14 19:34:19 UTC
-+++ ltsmaster/runtime/druntime/src/core/sys/posix/setjmp.d
-@@ -163,6 +163,12 @@ else version( FreeBSD )
- enum _JBLEN = 5;
- struct _jmp_buf { c_long[_JBLEN + 1] _jb; }
- }
-+ else version( AArch64 )
-+ {
-+ enum _JBLEN = 31;
-+ // __int128_t
-+ struct _jmp_buf { long[2][_JBLEN + 1] _jb; };
-+ }
- else
- static assert(0);
- alias _jmp_buf[1] jmp_buf;
-@@ -250,6 +256,11 @@ else version( FreeBSD )
- enum _JB_SIGFLAG = 5;
- struct _sigjmp_buf { c_long[_JBLEN + 1] _sjb; }
- }
-+ else version( AArch64 )
-+ {
-+ // __int128_t
-+ struct _sigjmp_buf { long[2][_JBLEN + 1] _jb; };
-+ }
- else
- static assert(0);
- alias _sigjmp_buf[1] sigjmp_buf;
diff --git a/lang/ldc/files/patch-ltsmaster_runtime_druntime_src_core_sys_posix_ucontext.d b/lang/ldc/files/patch-ltsmaster_runtime_druntime_src_core_sys_posix_ucontext.d
deleted file mode 100644
index 25263385e821..000000000000
--- a/lang/ldc/files/patch-ltsmaster_runtime_druntime_src_core_sys_posix_ucontext.d
+++ /dev/null
@@ -1,41 +0,0 @@
---- ltsmaster/runtime/druntime/src/core/sys/posix/ucontext.d.orig 2020-11-14 19:35:48 UTC
-+++ ltsmaster/runtime/druntime/src/core/sys/posix/ucontext.d
-@@ -686,6 +686,38 @@ else version( FreeBSD )
- int[6] mc_spare2;
- }
- }
-+ else version( AArch64 )
-+ {
-+ alias __register_t = long;
-+
-+ struct gpregs
-+ {
-+ __register_t[30] gp_x;
-+ __register_t gp_lr;
-+ __register_t gp_sp;
-+ __register_t gp_elr;
-+ uint gp_spsr;
-+ int gp_pad;
-+ }
-+
-+ struct fpregs
-+ {
-+ ulong[2][32] fp_q; // __uint128_t
-+ uint fp_sr;
-+ uint fp_cr;
-+ int fp_flags;
-+ int fp_pad;
-+ }
-+
-+ struct mcontext_t
-+ {
-+ gpregs mc_gpregs;
-+ fpregs mc_fpregs;
-+ int mc_flags;
-+ int mc_pad;
-+ ulong[8] mc_spare;
-+ }
-+ }
-
- // <ucontext.h>
- enum UCF_SWAPPED = 0x00000001;
diff --git a/lang/ldc/files/patch-ltsmaster_runtime_phobos_std_internal_math_gammafunction.d b/lang/ldc/files/patch-ltsmaster_runtime_phobos_std_internal_math_gammafunction.d
deleted file mode 100644
index 36d264443380..000000000000
--- a/lang/ldc/files/patch-ltsmaster_runtime_phobos_std_internal_math_gammafunction.d
+++ /dev/null
@@ -1,22 +0,0 @@
-https://github.com/ldc-developers/phobos/commit/65b103fc08c5a58f3b0c2b56ac8650ca8e678109.patch
-
-From 65b103fc08c5a58f3b0c2b56ac8650ca8e678109 Mon Sep 17 00:00:00 2001
-From: Iain Buclaw <ibuclaw@gdcproject.org>
-Date: Sat, 23 May 2015 14:05:03 +0200
-Subject: [PATCH] Relax compile-time assertion in gammafunction to runtime
-
---- ltsmaster/runtime/phobos/std/internal/math/gammafunction.d.orig 2020-11-14 19:44:53 UTC
-+++ ltsmaster/runtime/phobos/std/internal/math/gammafunction.d
-@@ -1653,8 +1653,10 @@ unittest {
- real logmdigammaInverse(real y)
- {
- import std.numeric: findRoot;
-- enum maxY = logmdigamma(real.min_normal);
-- static assert(maxY > 0 && maxY <= real.max);
-+ // FIXME: should be returned back to enum.
-+ // Fix requires CTFEable `log` on non-x86 targets (check both LDC and GDC).
-+ immutable maxY = logmdigamma(real.min_normal);
-+ assert(maxY > 0 && maxY <= real.max);
-
- if (y >= maxY)
- {
diff --git a/lang/ldc/files/patch-runtime_CMakeLists.txt b/lang/ldc/files/patch-runtime_CMakeLists.txt
index d8268414ad69..2f7437b56157 100644
--- a/lang/ldc/files/patch-runtime_CMakeLists.txt
+++ b/lang/ldc/files/patch-runtime_CMakeLists.txt
@@ -1,11 +1,11 @@
---- runtime/CMakeLists.txt.orig 2020-07-13 17:43:03 UTC
-+++ runtime/CMakeLists.txt
-@@ -134,6 +134,8 @@ if("${C_SYSTEM_LIBS}" STREQUAL "AUTO")
- set(C_SYSTEM_LIBS m c)
- elseif("${TARGET_SYSTEM}" MATCHES "Linux")
- set(C_SYSTEM_LIBS m pthread rt dl)
-+ elseif("${TARGET_SYSTEM}" MATCHES "FreeBSD")
-+ set(C_SYSTEM_LIBS m pthread execinfo)
- else()
- set(C_SYSTEM_LIBS m pthread)
- endif()
+--- runtime/CMakeLists.txt 2022-07-20 12:05:27.000000000 -0500
++++ runtime/CMakeLists.txt 2022-11-13 19:53:33.442980000 -0500
+@@ -123,6 +123,8 @@
+ set(C_SYSTEM_LIBS m c)
+ elseif("${TARGET_SYSTEM}" MATCHES "Linux")
+ set(C_SYSTEM_LIBS m pthread rt dl)
++ elseif("${TARGET_SYSTEM}" MATCHES "FreeBSD")
++ set(C_SYSTEM_LIBS m pthread execinfo z)
+ else()
+ set(C_SYSTEM_LIBS m pthread)
+ endif()