From e4ab84fbd7ed24050834aa5c304cc2d35d8e9844 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Fri, 18 Aug 2023 18:18:40 +0200 Subject: [PATCH] tcl8: add a backport from tcl 9.x that addresses Y2038 issues Signed-off-by: Alexander Kanavin --- ...e-Tcl_WideInt-for-seconds-in-Tcl_Tim.patch | 27 +++++++++++++++++++ meta/recipes-devtools/tcltk8/tcl8_8.6.15.bb | 1 + 2 files changed, 28 insertions(+) create mode 100644 meta/recipes-devtools/tcltk8/tcl8/0001-generic-tcl.h-use-Tcl_WideInt-for-seconds-in-Tcl_Tim.patch diff --git a/meta/recipes-devtools/tcltk8/tcl8/0001-generic-tcl.h-use-Tcl_WideInt-for-seconds-in-Tcl_Tim.patch b/meta/recipes-devtools/tcltk8/tcl8/0001-generic-tcl.h-use-Tcl_WideInt-for-seconds-in-Tcl_Tim.patch new file mode 100644 index 00000000000..87338dee45d --- /dev/null +++ b/meta/recipes-devtools/tcltk8/tcl8/0001-generic-tcl.h-use-Tcl_WideInt-for-seconds-in-Tcl_Tim.patch @@ -0,0 +1,27 @@ +From ff508f2e6786df697876140f21855ecb92a3ed36 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Fri, 18 Aug 2023 12:25:11 +0200 +Subject: [PATCH] generic/tcl.h: use Tcl_WideInt for seconds in Tcl_Time + +This ensures the value will not overflow, particularly on 32 bit systems +in 2038, where long will. + +Upstream-Status: Backport [https://core.tcl-lang.org/tcl/tktview/86dd172271] +Signed-off-by: Alexander Kanavin +--- + generic/tcl.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/generic/tcl.h b/generic/tcl.h +index 3a4622e..6204c57 100644 +--- a/generic/tcl.h ++++ b/generic/tcl.h +@@ -1418,7 +1418,7 @@ typedef enum { + */ + + typedef struct Tcl_Time { +- long sec; /* Seconds. */ ++ Tcl_WideInt sec; /* Seconds. */ + long usec; /* Microseconds. */ + } Tcl_Time; + diff --git a/meta/recipes-devtools/tcltk8/tcl8_8.6.15.bb b/meta/recipes-devtools/tcltk8/tcl8_8.6.15.bb index 3902b3fe76d..cd3b70bc938 100644 --- a/meta/recipes-devtools/tcltk8/tcl8_8.6.15.bb +++ b/meta/recipes-devtools/tcltk8/tcl8_8.6.15.bb @@ -23,6 +23,7 @@ SRC_URI = "${BASE_SRC_URI} \ file://alter-includedir.patch \ file://interp.patch \ file://run-ptest \ + file://0001-generic-tcl.h-use-Tcl_WideInt-for-seconds-in-Tcl_Tim.patch \ " SRC_URI[sha256sum] = "844775491e435e34d83d6ccfbadd1342f1855f1705253233a86152df0765e78d"